![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDSgEQyHip1Rl7a45pLGgqclGIbyLtRwvUaSTF0-ne6IrXMqUOzJwqJYJclKi4fvcgW75OIVb-yA5YTYNqUwgYasR53MwhgOsNKuqrgYGHC3FMLR6LpE5d0cg59ACiimzguF3Td0tdz4vz/s1600/centos_apache_rails_redmine.png)
CentOS + Apache +
Ruby on Rails + Redmine
重點在於專案管理。之前在找類似的軟體,試用過幾個使用 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
呼~~~打完收工,以上是在"記憶猶新"的情況下,趕快記錄下來的安裝流程,可能不完全,但基本流程差不多是這樣,請自行見招拆招吧~~
本文網址:https://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 設定混在一起。