おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

rvmのRubyでpassengerを使う方法

rvmはインストールだけしてほったらかしにしてたのですが、passengerにrvmのrubyが使えるらしいのでそろそろ本格的に使おうかなと思い立ちました。というわけで手順をメモ。

作業手順

まずrvmでRuby Enterprise Editionをインストールします。

rvm install ree

としたらエラー。ログを見るとどうやらreadline関連でエラーが出ている模様。RVM: Ruby Version Manager - 'rvm package install readline'を参考に再びインストールに挑戦。

rvm package install readline
rvm install ree -C --with-readline-dir=$rvm_path/usr

今度は成功。次はpassengerをインストール

rvm ree --passenger
gem install passenger
rvmsudo passenger-install-apache2-module

最後にApacheの設定。

LoadModule passenger_module /Users/willnet/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
PassengerRoot /Users/willnet/.rvm/gems/ree-1.8.7-2010.01/gems/passenger-2.2.11
PassengerRuby /Users/willnet/.rvm/bin/passenger_ruby

Apacheを再起動

sudo apachectl graceful

これでOKです。

感想

PassengerRubyはうまく抽象化できているのですが、LoadModuleとPassengerRootはバージョン固有のパスを直接指定していてちょっと気持ち悪いですね。これは仕方ないのかなー