
前一篇文章已經說明了如何在 沒有Ruby環境的CentOS從無到有安裝Redmine,現在這一篇主旨在與Apache 2整合,使Redmine可以在系統開機時,就啟動服務。在Redmine的官方文件中有提到一些,但是並不完整,後來在網路上 看到了這一篇,再加上
官方文件,併在一起看,終於完成了在CentOS 5.6上整合Apache與Redmine。
以下就說明我自己的步驟,與遇到的問題解決。
1. 設定Redmine
Rename CGI File
到redmine資料夾中的public資料夾
cd /var/www/redmine/public
mv dispatch.cgi.example dispatch.cgi
mv dispatch.fcgi.example dispatch.fcgi
mv dispatch.rb.example dispatch.rb
mv htaccess.fcgi.example .htaccess

修改redmine資料夾的權限與所有人
cd /var/www
chown -R apache:apache redmine
chmod -R 755 redmine
修改dispatch.cgi
cd /var/www/redmine/public
vi dispatch.cgi
把原本的
#! /usr/bin/env: ruby
修改為:
#! /usr/local/bin/ruby
你在修改之前也可以在確認一次你的Ruby程式擺在哪裡,可以在一般終端機模式下ruby -v確認。

確認dispatch.cgi的權限為755
chmod 755 dispatch.cgi
修改config/environment.rb文件的rails環境
vi environment.rb
移除Uncomment ENV['RAILS_ENV'] ||= ‘production’ (刪除# 號)

在/etc/httpd/conf.d/底下建立redmine.conf
vi /etc/httpd/conf.d/redmine.conf
<VirtualHost *:8080>
DocumentRoot /var/www/redmine/public
ErrorLog logs/redmine_error_log
<directory /var/www/redmine/publie >
Options Indexes ExecCGI FollowSymLinks
Order allow,deny
Allow from all
AllowOverride all
</directory>
</VirtualHost>

2. 安裝 passenger
gem install passenger

passenger-install-apache2-module
出現以下畫面,請按Enter

接下來會確認你的環境還少些什麼元件。會出現類似以下的畫面:

紅字的部份也就是你缺少或有問題的元件,請繼續按Enter,接下來會出現教你怎麼安裝這些缺少的元件的畫面。

以我的系統而言,就是缺少Rake和一些apache所需要的元件,所以以下會安裝Rake和http-devel。
首先安裝Rake
執行以下指令安裝
gem install rake

安裝http-devel
使用root執行指令,執行以下指令
yum install httpd-devel

執行的時候,可以發現除了httpd-devel因為相依性的關係,連帶接下來要安裝的apr-devel和apr-util-devel也一下下載安裝了。

沒有安裝的元件都已安裝,此時可以再執行一次:
passenger-install-apache2-module

就可以通過測驗,正常安裝了,看到這個畫面,請注意並且記住您的passenger-3.0.7的路徑在哪邊,待會會用到,接著請按Enter繼續。接下來可以看到提醒,配置apache應該要如何對應的訊息。

建立passenger.conf文件
請在/etc/httpd/conf.d/底下建立passenger.conf
vi /etc/httpd/conf.d/passenger.conf
輸入以下內容
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7
PassengerRuby /usr/local/bin/ruby
請確認你的passenger安裝路徑是否正確,可能會有版本不同的問題。

修改 redmine.conf 文件
vi /etc/httpd/conf.d/redmine.conf
<VirtualHost *:8080>
DocumentRoot /var/www/redmine/public
ErrorLog logs/redmine_error_log
<directory /var/www/redmine/publie >
AllowOverride all
Options -MultiViews
</directory>
</VirtualHost>
主要是刪除Options、Order、Allow這些選項,然後加入Option –MultiViews

因為使用Apache Port Based的VistualHost,所以請記得回到
/etc/httpd/conf/httpd.conf
增加要Listen的port 8080

接著重新啟動apache服務
service httpd restart
就可以看到與apache2整合的redmine了

參考連結: