HIDARI日記(右)

そのときどき興味ある技術を中心にだらだら書いてます。内容は個人の見解であり、所属する企業を代表するものではありません。

Apache + Passengerの設定でハマった話(の移植版)

以前のブログからの引っ越し

このブログを始める前に少しだけ使っていたWordPressのブログに、先日レスポンスがあったので、記事をこちらに移しておくことにしました。

まあコピペなんですけども.

あ,あとこの内容は当時のままで若干古いと思われますのでご注意を.

以下、本文。

Apache + Passengerの設定でハマった話

これは単に僕が無知なだけだったんですが

MacBookAirにRedmineをインストールしたあと,Apacheのサブディレクトリで動かしたくなったから色々見ながら設定したら見事にハマったからメモしておきます.

環境とかそういうのですが

Redmineインストール | Redmine.JP あたりを見ながらインストールしてあります.

何をどうしたかというと

参考にしたのはここ.

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) という例外が出力されます.

原因と解決方法は

ruby on rails - Passenger error - PhusionPassenger::ClassicRails::ApplicationSpawner::Error - Stack Overflow によると

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を使おうとしたのが間違いだったってことでした.