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

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

<VirtualHost *:80> 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指定で大丈夫だと思う。