へたれエンジニア日記(旧跡地)

こちらへ引っ越しました。http://d.hatena.ne.jp/toritori0318/

Redmineインストール その5 apache連携

2008-04-26 21:02:12 | Redmine
はい。
Redmineインストール5回目です。

前回はmongrelで起動するまででしたが、
今回はさらに、apacheでmongrelと連携してみましょう。
とは言ってもバーチャルホストでプロキシ設定するだけです。


まずはapacheのコンフィグファイル
「/etc/httpd/conf.d/mongrel.conf」
を以下のように編集します。
(コンフィグファイルに関する注意点は
Subversionの設定時と同じです)
<VirtualHost *:80>
ServerName xxxx.expamle.co.jp
ServerAdmin toritori0318@xxxx.expamle.co.jp
DocumentRoot /home/rails/redmine
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>


それではapacheで起動できているか確認です。
apache再起動後に以下のURLにアクセスします。
http://localhost/

Redmineが表示されたら連携成功です。


ただし、このままの設定だと
apacheに他のアプリケーションが乗っている場合も
Redmineのパスを見にいってしまいます。
そこで
http://localhost/redmine/
というURLを参照したときのみ、
リバースプロキシを適用してみたいと思います。

まず、先ほど修正したファイルを以下のように変更します。
<VirtualHost *:80>
ServerName xxxx.expamle.co.jp
ServerAdmin toritori0318@xxxx.expamle.co.jp
DocumentRoot /home/rails/redmine
ProxyPass /redmine/ http://localhost:3000/
ProxyPassReverse /redmine/ http://localhost:3000/
</VirtualHost>


apacheの設定はこれだけです。
apacheを再起動して以下のURLにアクセスしてみましょう。
http://localhost/redmine/


Redmineが表示されると思いますが、
何か変なレイアウトになっていませんか?
実はURLロケーションを変更してしまうと
スタイルシートなどのパスがうまく読み取れないようです。
ですのでRedmineのコンフィグを適切に変更する必要があります。


Redmineルートに移動し「config/routes.rb」を開きます。
ファイルに
ActionController::Routing::Routes.draw do |map|

という記述がありますので、
その次の行に以下の1行を追加します。
ActionController::AbstractRequest.relative_url_root = "/redmine"


これで基本的な設定は終了です。
mongrelを再起動してRedmineにアクセスすると
今度はレイアウトもきちんと見れるようになっているはずです。


あとはメニューの
「管理」→「設定」
から
「ホスト名」を
localhost/redmine
に設定しておけば
メール通知時などのパスも適切に設定してくれます。


それでは次回、
Redmineを立ち上げた後に行ったほうが良いと思われる
設定について書きたいと思います。



(参考文献)
http://blog.mj-site.net/2007/05/redminemongrel.html
http://syo.cocolog-nifty.com/freely/2007/05/redmineapachepr_6c1c.html

最新の画像もっと見る