什麼是 Redmine?根據官方文件的說明,Redmine 是一個很有彈性的專案管理網頁應用程式,使用 Ruby on Rails 框架,可以跨平台及跨資料庫,而且還是 open source。其他更詳細的特色可以參考官方文件的說明。
重點在於專案管理。之前在找類似的軟體,試用過幾個使用 PHP 語言開發的專案管理軟體,但用的不是很順手。當初是因為不熟 Ruby on Rails,所以沒有使用 Redmine。使用其他 PHP 開發的軟體專案管理軟體,可以很快的加入原本的環境中,但如果不好用 (應該是我用不習慣),很容易架設又有什麼用呢?
重點在於專案管理。之前在找類似的軟體,試用過幾個使用 PHP 語言開發的專案管理軟體,但用的不是很順手。當初是因為不熟 Ruby on Rails,所以沒有使用 Redmine。使用其他 PHP 開發的軟體專案管理軟體,可以很快的加入原本的環境中,但如果不好用 (應該是我用不習慣),很容易架設又有什麼用呢?
關於 Redmine
後來發現很多人推薦 Redmine (請自行上網搜尋),就打算先架設 Windows 版的 Redmine 來試用,其實整個設定還滿快的。這裡面分兩個部份,必須先安裝 Ruby,然後下載 Redmine ,有點忘了當初怎麼做的,照著官方說明文件做,還滿容易的,最後必須在 command-line 啟動 WEBrick 這個內建伺服器就能夠使用了。WEBrick 是內建的網頁伺服器,因為效能的關係,只適合用來測試或私人用途。因此當最後我決定把它架設在伺服器上時,就必須來研究麻煩 (其實多安裝個幾次,熟悉了就還好) 的安裝程序。
此外, Redmine 還有個好用的功能,就是 wiki 的功能。我目前是使用 MediaWiki 在 Windows 上架設一個私人使用的 wiki,很好用,但缺點是,它不能設為隱藏(也可能我沒找到如何設定),所以如果要私人使用就無法丟到公開的網路上,而 Redmine 的每個專案都有專屬的 wiki 可用,只要把專案設為"私有",則沒有登入的人就無法看到該專案,當然也就看不到 wiki,而且以專案為主的 wiki 在查看上更為方便。
最好的管理方法應該是,在一個地方就能看到所有相關的事物,這樣才不會"跑來跑去",浪費時間又怕漏東漏西。
安裝環境及流程
我的安裝環境:- CentOS 6.x
- MySQL 5.x
- Ruby 1.9.3
- Redmine 2.3.3
整個步驟如下:
- 安裝開發工具
- 安裝 rvm
- 安裝 Ruby 及 Rails
- 安裝 passenger
- 下載 Redmine
- 設定 Redmine.conf
- 安裝 MySQL
- 設定 MySQL
- 設定 Redmine 資料庫設定檔
- 安裝 bundler
- 產生 Session store secret
- 建立 Database schema objects
- 加入預設資料
- 檔案權限
- 完成,登入 Redmine
我在網路上搜尋了很多資料,留下幾個有用的教學,如下:
- How to install Ruby on Rails on Centos 6
- How to Install Redmine on CentOS (Detailed)
- Installing Redmine
- Redmine 2.3.0 Internal error when browsing my account page
- Issue when installing redmine 2.2.2 on apache
戰鬥開始
1. 安裝開發工具
在 CentOS 中安裝軟體會使用 yum,首先更新 yum,並安裝開發工具。yum update
yum -y groupinstall "Development Tools"
yum -y install ntp zlib zlib-devel sqlite-devel httpd mysql-server mysql-devel curl-devel httpd-devel apr-devel apr-util-devel mlocate manlibxml2-devel libxslt-devel libffi-devel readline-devel
以 yum 開頭,總共 3 批指令,依序複製貼上執行即可。
2. 安裝 rvm
先安裝 curl ,利用它來下載 rvm,如下:sudo yum install curl
sudo curl https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
source /etc/profile.d/rvm.sh
3. 安裝 Ruby 及 Rails
rvm install 1.9.3
rvm use 1.9.3 --default
ruby --version
gem install rails
這裡是安裝 1.9.3 版,因為用 yum install ruby 只會裝 1.8.7 版,所以才使用 rvm 來安裝,另外,你也可以安裝 2.0.0 版,這是目前的最新版本。安裝完成後,將它設為預設版本,並使用 --version 來檢查安裝是否正確,最後安裝 rails 。
4. 安裝 passenger
依序執行以下兩個指令:gem install passenger
passenger-install-apache2-module
這是用來安裝給 Apache 使用的模組。第 2 個指令會需要你按 Enter 來繼續,並請複製最後一次 Enter 之後所顯示的資料,大概的樣子如下:
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p448/gems/passenger-4.0.17/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p448/gems/passenger-4.0.17
PassengerDefaultRuby /usr/local/rvm/wrappers/ruby-1.9.3-p448/ruby
這會用來指示 Apache 去哪裡載入模組。
5. 下載 Redmine
官方下載頁面在這裡。你可以自己選擇要安裝的版本,我是安裝 2.3.3 版(剛才發現,昨天11/17日已有更新版本)。wget http://rubyforge.org/frs/download.php/77238/redmine-2.3.4.tar.gz
tar zxvf redmine-2.3.4.tar.gz
下載之後解壓縮。提醒,你的版本可能和我下載的不同,請自行更改版本網址。解壓後的目錄可能為 redmine-2.3.4 ,請移動到網頁目錄下,
mv redmine-2.3.4 /var/www/redmine
這樣就會移動到 /var/www/ 目錄下並更名為 redmine。
6. 設定 Redmine.conf
進入 Apache 的設定目錄cd /etc/httpd/conf.d/
vim redmine.conf
並建立 redmine.conf,將剛才複製的那一大段 LoadModule...... 貼上,並增加虛擬主機
<VirtualHost *:80>
ServerName redmine.<你的網域>
ServerAdmin webmaster@<你的網域>
DocumentRoot /var/www/redmine/public/
RailsEnv production
#RailsBaseURI /redmine
ErrorLog logs/redmine_error_log
#If you are using mod_fcgid and are going to upload files larger than
#131072 bytes you should consider adding the following line
#that allows to upload files up to 20 mb
#MaxRequestLen 20971520
<Directory "/var/www/redmine/public/">
Options Indexes ExecCGI FollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
</Directory>
</VirtualHost>
DocumentRoot 就是你的 Redmine 的安裝目錄路徑。ServerName 是你的網址,要依你的情況做調整。
7. 安裝 MySQL
yum install mysql
8. 設定 MySQL
做什麼:- 建立 Redmine 資料庫
- 建立 redmine 使用者
- 設定 redmine 的權限
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY '你的密碼';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
9. 設定 Redmine 資料庫設定檔
進入 /var/www/redmine/config 目錄,將 database.yml.example 複製一份為 database.ymlcp database.yml.example database.yml
vim database.yml
,接著修改內容
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "你的密碼"
encoding: utf8
這裡就是設定成前一個步驟所加入的 redmine 使用者及其密碼,如果是使用 ruby 1.8.x 的,必須把 adapter 設為 mysql,若為 1.9.x 則設為 mysql2。接著進入 /var/www/redmine/public 將 dispatch.fcgi.example 複製一份為 dispatch.fcgi
cp dispatch.fcgi.example dispatch.fcgi
以及 htaccess.fcgi.example 複製為 htaccess.fcgi
cp htaccess.fcgi.example htaccess.fcgi
10. 安裝 bundler
gem install bundler
bundle install --without development test
11. 產生 Session store secret
rake generate_secret_token
12. 建立 Database schema objects
RAILS_ENV=production rake db:migrate
13. 加入預設資料
RAILS_ENV=production rake redmine:load_default_data
如果問你語系,可以選擇 zh_TW。
14. 檔案權限
到這裡已經算完成,但少了設定檔案權限,當你在網頁上要進入帳號設定的頁面時,就會出現錯誤,後來我查了一下,才知道必須把 redmine 目錄內的檔案權限設為 apache ,讓它能夠讀取,如下:sudo chown -R apache:apache files log tmp plugins
sudo chmod -R 755 files log tmp plugins
15. 完成,登入 Redmine
終於大功告成,請重新啟動 Apache,service httpd restart
這時候打開瀏覽器,輸入您所設定的虛擬主機網址,就能看到 Redmine 了 (順利的的話啦XD),登入帳號預設為
login: admin
password: admin
呼~~~打完收工,以上是在"記憶猶新"的情況下,趕快記錄下來的安裝流程,可能不完全,但基本流程差不多是這樣,請自行見招拆招吧~~
本文網址:http://blog.tonycube.com/2013/11/redmine-centos-apache-ruby-on-rails.html
由 Tony Blog 撰寫,請勿全文複製,轉載時請註明出處及連結,謝謝 😀
由 Tony Blog 撰寫,請勿全文複製,轉載時請註明出處及連結,謝謝 😀
請教
回覆刪除近來我也在安裝此系統,但仍然有待努力.......
看過你的安裝流程後,有幾點想釐清
這系統上,是否需要編輯此檔案:/var/www/redmine/config/environment.rb
於檔案中新增:ENV['RAILS_ENV'] ||= 'production'
另外,你是否也編輯過預設得 httpd.conf 檔案
感謝你的資訊分享!
我找到的做法裡面沒有動到 environment.rb ,但有關 ENV['RAILS_ENV'] ||= 'production' 這部份,在步驟 12, 13 就做到了。
刪除httpd.conf 完全沒動到,但是有加在 redmine.conf 中,在步驟 6 。位置在 conf.d/ 中,Apache 一樣會載入,但不用和原本的 httpd.cond 設定混在一起。