2012-03-14 14:48

[Ubuntu 11] 安裝 Redmine 與 SVN

安裝 LAMP & Redmine
  1. # 安裝 LAMP 
  2. apt-get install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 libapache2-mod-auth-mysql  
  3.  
  4. # 安裝 svn, dav_svn 
  5. apt-get install subversion libapache2-svn  
  6.  
  7. # 安裝 redmine 
  8. apt-get install redmine redmine-mysql libapache2-mod-fcgid libapache2-mod-passenger 
  9.  
  10. # 可以使用下面的方式重新設定 redmine DB 連結 
  11. #dpkg-reconfigure redmine  
  12.  
  13. # 啟用 Apache 套件 php5, headers, expires 
  14. a2enmod php5 dav_svn auth_mysql cgid fcgid passenger rewrite ssl setenvif  
  15.  
  16. # 安裝 git, phpmyadmin 
  17. apt-get install mercurial git-core phpmyadmin 
  18.  
  19. # 連結 phpmyadmin 設定檔 
  20. cd /etc/apache2/conf.d/ 
  21. ln -s ../../phpmyadmin/apache.conf phpmyadmin.conf 
  22. service apache2 restart 


安裝 Redmine 套件
  1. gem install pandoc-ruby rdiscount rpeg-markdown bluefeather 
  2.  
  3. cd /usr/share/redmine/vendor/plugins 
  4.  
  5.  
  6. # 安裝 Code Review 套件 
  7. hg clone https://bitbucket.org/haru_iida/redmine_code_review 
  8. rake db:migrate_plugins RAILS_ENV=production 
  9.  
  10.  
  11. # 安裝 Markdown Extra formatter 套件 
  12. git clone git://github.com/juno/redmine_markdown_extra_formatter.git 
  13.  
  14.  
  15. # 安裝 reStructuredText formatting 套件 
  16. git clone git://github.com/alphabetum/redmine_restructuredtext_formatter.git 
  17. cd redmine_restructuredtext_formatter 
  18. git checkout pandoc-ruby 


建立SVN庫
  1. mkdir -p /home/repoadmin/repos 
  2. svnadmin create /home/repoadmin/repos/team1 
  3. svnadmin create /home/repoadmin/repos/team2 
  4. chown -R www-data:www-data /home/repoadmin/repos 


建立SVN認證時需要的DB使用者(redmine_svn_auth)
  1. CREATE USER 'redmine_svn_auth'@'localhost' IDENTIFIED BY 'redmine_svn_auth'; 
  2. GRANT SELECT(id, login, hashed_password, status ,type) ON redmine_default.users TO 'redmine_svn_auth'@'localhost'; 


設定 Apache2 Site
  1. cd /etc/apache2/sites-available/ 
  2. cp default redmine_svn 
  3. vim redmine_svn 

  1. <VirtualHost *:80> 
  2.    ServerAdmin webmaster@localhost 
  3.    DocumentRoot /usr/share/redmine/public 
  4.  
  5.    <Directory /> 
  6.        Options FollowSymLinks 
  7.        AllowOverride None 
  8.    </Directory> 
  9.  
  10.    <Directory /usr/share/redmine/public> 
  11.        Options ExecCGI FollowSymLinks 
  12.        AllowOverride None 
  13.        Order allow,deny 
  14.        Allow from all 
  15.  
  16.        RewriteEngine On 
  17.        RewriteRule ^$ index.html [QSA] 
  18.        RewriteRule ^([^.]+)$ $1.html [QSA] 
  19.        RewriteCond %{REQUEST_FILENAME} !-f [OR] 
  20.        RewriteCond %{REQUEST_FILENAME} dispatch.fcgi$ 
  21.        RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] 
  22.    </Directory> 
  23.  
  24.    <Location /svn> 
  25.        DAV svn 
  26.        SVNParentPath /home/repoadmin/repos 
  27.        SVNPathAuthz off 
  28.  
  29.        AuthBasicAuthoritative Off 
  30.        AuthUserFile /dev/null 
  31.        AuthType Basic 
  32.        AuthName "Subversion Repository" 
  33.  
  34.        # auth_mysql help in http://localhost/doc/libapache2-mod-auth-mysql/DIRECTIVES.gz 
  35.        Auth_MYSQL On 
  36.        Auth_MySQL_Host localhost 
  37.        Auth_MYSQL_DB redmine_default 
  38.        Auth_MYSQL_Username redmine_svn_auth 
  39.        Auth_MYSQL_Password redmine_svn_auth 
  40.        Auth_MYSQL_Password_Table users 
  41.        Auth_MYSQL_Username_Field login 
  42.        Auth_MYSQL_Password_Field hashed_password 
  43.        Auth_MySQL_Password_Clause " AND status=1 AND type='User' " 
  44.        Auth_MYSQL_Empty_Passwords Off 
  45.        Auth_MYSQL_Encryption_Types SHA1Sum 
  46.        # Options: Crypt_DES, Crypt_MD5, Crypt, PHP_MD5, SHA1Sum, MySQL, Apache 
  47.  
  48.        Require valid-user 
  49.    </Location> 
  50.  
  51.    LogLevel warn 
  52.    CustomLog /var/log/apache2/redmine_access.log combined 
  53.    ErrorLog /var/log/apache2/redmine_error.log 
  54. </VirtualHost> 


重新啟動 Apache
  1. a2dissite default 
  2. a2ensite redmine_svn 
  3. service apache2 restart 


測試網址


參考來源:
將 Redmine 安裝於 Debian、Ubuntu Linux
Ubuntu 10.04 using Passenger
svn 使用和 redmine 相同帳號進行認證

4 回應:

匿名 提到...

Hello,請問我按照步驟安裝 reStructuredText formatting 套件時,出現『git://github.com/alphabetum/redmine:No such file or directory』,請問是我哪裡步驟錯了嗎?Thanks!

Jax Hu 提到...

抱歉!在顯示上是一行指令
git clone git://github.com/alphabetum/redmine_restructuredtext_formatter.git

Owen 提到...

謝謝版主,那邊的問題已解決,我發現原因應該是我用Chrome看內文的時候redmine_restructuredtext的底線是消失的,例如最下面改Apache的部份,CustomLog /var/log/apache2/redmine_access.log combined也是底線消失,我用IE9看又正常了,但不是所有底線都會消失,而且您的回應文字底線又都正常XD,所以給未來的網友參考。
另外我想再請問『建立SVN認證時需要的DB使用者』這段內容是要在mysql上面執行嗎?該帳號權限需要在mysql裡另外設定嗎,不好意思問很多,我是個Linux新手,謝謝!

Jax Hu 提到...

可以透過『原始碼』檢視,這樣就可以避免你說的底線問題。

另外我疏忽了一個設定,請記得在 CustomLog /var/log/apache2/redmine_access.log combined 前補上 LogLevel warn。

關於 redmine_svn_auth 帳號的建立,可以透過 http://localhost/phpmyadmin/ 的 SQL 功能去執行建立指令,或者是 PHPMyAdmin 的帳號管理去新增,只需要開啟 redmine_default.users 可以 SELECT 的權力就夠了。