Redmine再びでレポジトリ参照におけるpassengerの問題
CVSのバージョンを更新したので、下記の構成でRedmineを入れ直してみた。
Redmine | 0.8.7 |
---|---|
ruby | 1.8.7 |
Rails | 2.1.2 |
Passenger(mod_rails) | 2.2.4 |
OS | Solaris 10 11/06 |
で、CVSのレポジトリを登録してみたのですが、なんか文字化けしなくなってる!!偉い。
ところが、起動をWEBrickからpassenger経由に変えるとなぜかレポジトリが見られない。
"リポジトリに、エントリ/リビジョンが存在しません。"となってしまう。
RedmineのディレクトリはSolaris10のApache2環境に合わせてuid:gidをwebservd:webservdにしてある。
原因が判明した。
SubversionからGitへ移行&Redmine導入 - 仙台RailsなでしこVim社長
この方の例だと、gitだけど、Apache経由だとパスが見つからないらしい。
どれどれと思ってApacheのエラーログ(/var/apche2/logs/error_log)を覗いて見たところ
sh: cvs: 見つかりません。
やっぱり出てた。
ということで、パスを記述。変更箇所はlib/redmine/scm/adapters/cvs_adapter.rb
26 #CVS_BIN = "cvs" 27 CVS_BIN = "/opt/sfw/bin/cvs"
やった!!見えたでゴザル!!!
Passenger経由の環境変数の設定ってどうやるんだろう。なんかもう少しまともな解法がありそうだ。
↓あった。
Passing environment variables to Ruby from Phusion Passenger « Phusion Corporate Blog
アプリケーションの config/environment.rb に次の様に書けば良いらしい。
ENV['PATH'] = "#{ENV['PATH']}:/opt/sfw/bin"
同様にLD_LIBRARY_PATHなんかも設定出来るみたい。