Ruby 1.9 で Passenger を動かすために試行錯誤したのでメモしておく。基本的には、アップグレード — Redmine Guide 日本語訳 などを参考にする。

Passenger のインストール

$ sudo apt-get install libcurl4-openssl-dev
$ sudo apt-get install apache2-prefork-dev
$ sudo gem1.9.1 install passenger
$ cd /var/lib/gems/1.9.1/gems/passenger-3.0.13
$ sudo ./passenger-install-apache2-module

Apache + Passenger の設定

/etc/apache2/mods-available/passenger.load

LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-3.0.13/ext/apache2/mod_passenger.so

#LoadModule passenger_module /usr/lib/apache2/modules/mod_passenger.so

/etc/apache2/mods-available/passenger.conf

PassengerRoot /var/lib/gems/1.9.1/gems/passenger-3.0.13
PassengerRuby /usr/bin/ruby1.9.1
#PassengerRoot /usr
#PassengerRuby /usr/bin/ruby
PassengerDefaultUser www-data
VirtualHostの設定

$ ln -s /web/example.local/redmine /web/redmine-2.0.3

上記のようにシンボリックリンクが張ってある。


ServerName example.local
DocumentRoot /web/example.local
RailsBaseURI /redmine
<Directory /web/example.local/redmine/public>
PassengerAppRoot /web/redmine-2.0.3

わざわざDocumentRoot下からリンクしてるのは、BASIC認証をかませたときにそうしないと上手くいかなかったから。通常ならAliasとDirectory指定で大丈夫だと思う。