Redmine0.8.4が動いているPassenger環境で、Redmine0.9.0へバージョンアップを考えていたのだけれど、
Apacheの設定になるhttpd.confが以下のように書かれていた。
<VirtualHost *:80> ServerName www.yourhost.com DocumentRoot /var/www/public RailsBaseURI / </VirtualHost>
そして、/var/www/public直下にappとかconfとかRedmineの中身がおかれてしまっていて、複数のRailsを動かすことを考えてないよねーという印象。
現状のRedmineを止めずに複数Redmineを起動させる必要があったので、以下のようにしてみた。
<VirtualHost *:80> ServerName www.yourhost.com DocumentRoot /var/www/public RailsBaseURI / RailsBaseURI /redmine0.9.0 </VirtualHost>
これで、/var/www/public/redmine0.9.0をおいてみたがRoutingError。RailsBaseURIの順番を逆にしても同じ。Rubyのスペシャリストに聞いてみたら、以下の方法で動くことが判明。
<VirtualHost *:80> ServerName www.yourhost.com DocumentRoot /var/www/public RailsBaseURI /redmine2 </VirtualHost>
「RailsBaseURI /」はなくても動くらしい。Redmine0.8.4を止めたら以下のようにしよう。
<VirtualHost *:80> ServerName www.yourhost.com DocumentRoot /var/www RailsBaseURI /redmine0.9.0 </VirtualHost>
Passengerで複数アプリを動かす方法が色々書かれていて迷った。