redmine一覧

リバースプロキシ背後でRedmine

2010/4/16現在の環境で、
リバースプロキシ背後でRedmineを動かそうとして、
ちょっとばかり苦戦したのでそのメモです。

redmine動作サーバー(バックエンド)

サーバーを設定して準備できているものとします。
仮にここでは 192.168.1.1 というマシンAで動いていると仮定します。
また、redmineのページへアクセスするのに、
http://192.168.1.1/ というようにDocumentRoot設定が成されているとします。

リバースプロキシ側(フロントエンド)

リバースプロキシは、192.168.1.254で動いてるとします。
ここにアクセスして、特定のURL時にredmineのサーバーへ転送するようにするのが目的です。

設定について

本来素直にやるならば、リバースプロキシ側の httpd.confにて下記のように書けば終了です。

しかしこれではうまくいきません。
スタイルシートが読み込まれないし、画面上のリンクを押しても対象のページへジャンプ出来ません。

そこで、redmine側の設定を変更します。
設置してある場所で config/routes.rb を開きます。
そして2行目に、次の1文を入力します。

旧バージョンでは、ActionController::AbstractRequest.relative_url_root という設定項目だったとのこと。
これがどうやら現在のRailsで変更になっているようで、この修正に到達できるまでが大変でした。

この変更を適用することで、http://youraddress/redmine/ というアクセスを正しく処理できるようになります。


RedmineでSVNリポジトリとの同期

先日、cronを利用してRedmineの活動カテゴリで
ソースコードのコミット履歴もある程度のタイミングで反映されるようにしてましたが、
Subversionなら別の方法も採れるのでは?と試してみました。Subversionのサーバー側でのフックスクリプトを使用します。
post-commitスクリプトで、

/usr/bin/ruby /redmine/script/runner “Repository.fetch_changesets” -e
production

これでコミット直後でRedmine側が更新されるので、
なかなかいいんじゃないでしょうか。