Apache + Passengerの設定でハマった話(の移植版)
以前のブログからの引っ越し
このブログを始める前に少しだけ使っていたWordPressのブログに、先日レスポンスがあったので、記事をこちらに移しておくことにしました。
まあコピペなんですけども.
あ,あとこの内容は当時のままで若干古いと思われますのでご注意を.
以下、本文。
Apache + Passengerの設定でハマった話
これは単に僕が無知なだけだったんですが
MacBookAirにRedmineをインストールしたあと,Apacheのサブディレクトリで動かしたくなったから色々見ながら設定したら見事にハマったからメモしておきます.
環境とかそういうのですが
Redmineは インストール | Redmine.JP あたりを見ながらインストールしてあります.
- MacOSX Lion
- MacPortsで入れたApacheとMySQL
- Ruby 1.8.7 (MacデフォルトのRuby)
- Ruby on Rails 3.2.7
- Gems 1.8.24
- Redmine 2.0.3
- Passenger 3.0.15
何をどうしたかというと
参考にしたのはここ.
Redmine 2.0をCentOS 6にインストールする手順 | Redmine.JP Blog
予め /opt/local/apache2/conf/httpd.conf
に
# 自前の設定ファイルを読み込む
Include conf.d/*.conf
を書いて /opt/local/apache2/conf.d/passenger.conf
として外部化しています.
で,上の参考先にしたがってサブディレクトリでの設定を書くとInternal Server Errorになってログに Exception NameError in application (wrong constant name RedmineApp)
という例外が出力されます.
原因と解決方法は
You need to change the RailsBaseURI directive to RackBaseURI in your apache config file. RailsBaseURI was meant for Rails 1 and Rails 2 applications, whereas RackBaseURI is the way to go for Rails 3.
どうもRailsのバージョンによって設定の書き方が異なるようで,
# RailsBaseURI /redmine
RackBaseURI /redmine
としてApacheを再起動したら上手く動きました.
結局のところ
よくわからないままRailsを使おうとしたのが間違いだったってことでした.