Redmine つまったところ
何度かいろんな環境で Redmine を試していますが、
- passenger/apache の設定
- スタイルシートが反映されない
- subversion のバージョン違い
- リポジトリ表示の設定
で詰まったのでメモ。
passenger/apache の設定
Phusion Passenger users guide あたりを参考にした。
LoadModule passenger_module /home/USER/local/lib/ruby/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so PassengerRoot /home/USER/local/lib/ruby/gems/1.8/gems/passenger-2.0.3 PassengerRuby /home/USER/local/bin/ruby NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /home/USER/rails RailsBaseURI /redmine # Redmine RailsBaseURI /retro # Retrospectiva </VirtualHost>
これで、Apache 経由で rails アプリにアクセスできる (ハズ)。
ほかの普通の CGI や静的 HTML にどうやってアクセスできるようにするのかは未検証。
スタイルシートが反映されない
Passenger(mod_rails for Apache)を Ubuntu にインストール - ひげぽん OSとか作っちゃうかMona- にあるとおり、public/.htaccess の
Options +FollowSymLinks +ExecCGI
をコメントアウトすれば OK・・・かと思っていたら、自分の環境では mod_rewrite が入っていなかったらしく、ついでに
$ sudo a2enmod rewrite
してやると、スタイルシートが反映された。
Subversion のバージョンちがい
Redmine は "svn" で見つかる Subversion を使用する。
ので、システムに svn に入っている状態で、なおかつ自前で Subversion を (標準パス?に入っていない /home/USER/local/bin などに) インストールすると
- 自分で作成したリポジトリの Subversion バージョン
- Redmine が見る Subversion のバージョン
が異なって、Redmine 上の「リポジトリ」や「活動」が見れないことがある (「リポジトリに、エントリ/リビジョンが存在しません」と表示される)。
エラーログ (/var/log/apache2/error.log) を見ると、
Expected FS format '2'; found format '3'
のように表示されている場合が、これに該当する。
Nabble - NetBeans - Japanese Users - svn: Expected FS format '2'; found format '3' によると、
format 2: Subverion 1.4 以降でアクセス可能 format 3: Subverion 1.5 以降でアクセス可能
とのことなので、Redmine が参照する svn コマンドのパスを変更することで対応できた。
参照パスを変更するには、lib/redmine/scm/adapters/subversion_adapter.rb の SVN_BIN を下記のように書き換えてやればよい。
# SVN executable name # SVN_BIN = "svn" SVN_BIN = "/home/USER/local/bin/svn"
リポジトリの表示
上記の対応をしてもなお 500 エラーで「リポジトリ」が見えない場合は、以前 Redmine の不具合 -- 「活動」や「リポジトリ」でエラー でふれた通り、
unless '1.9'.respond_to?(:force_encoding) String.class_eval do begin remove_method :chars rescue NameError # OK end end end
で対応できる。