はじめに - Phusion Passengerとは
Redmine 0.8.0をインストールの記事を書いた直後に0.8.1がリリースされていたので、アップデートがてらPhusion Passengerを使ってApacheでRemineを動かしてみたいと思います。Phusion Passengerとは、別名mod_railsとも呼ばれるApacheモジュールとして実装されたRailsの実行環境で、インストールや設定が簡単なのが特徴です。
Phusion Passengerのインストール
まずは passenger をビルドするために Apache の apxs などをインストールしておきます。例によって環境は Ubuntu 8.10 です。
$ su -
# aptitude install apache2-dev ruby1.8-dev
# export APXS2=/usr/bin/apxs2
終わったらpassengerのインストールです。といっても以下のコマンドを実行するだけですが。
# gem install passenger
# passenger-install-apache2-module
インストールが完了すると下記のように Apache の httpd.conf に書き込む設定内容が表示されるので、これを /etc/apache2/sites-available/default にコピペします。
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6
RailsRuby /usr/bin/ruby1.8
あとは DocumentRoot を Redmine のインストールディレクトリ下の public に設定します。
Redmineが/var/www/redmineにインストールされている場合は
DocumentRoot /var/www/redmine/public
と設定します。なお、DocumentRoot を /var/www に設定しておき、http://localhost/redmine/ のように Redmine をサブディレクトリとして扱いたい場合は以下のようにRedmine のインストールディレクトリにシンボリックリンクを張ります。
# ln -s $REDMINE_ROOT/public /var/www/redmine
そして Apache の設定ファイルに
RailsBaseURI /redmine
を追加します。これで /redmine/ のURLでアクセスできるようになります。
というわけで設定が終わったら Apache を起動してみましょう。
# /etc/init.d/apache2 restart
今回は http://ホスト名/redmine/ でアクセスしてみます。どうでしょう?RedmineのTOPページが表示されたでしょうか?404や403エラーになる場合、Apacheのエラーログが /var/log/apache2/error.log にあるので、これを見てみると原因が分かるかもしれません。
Passengerの詳細な設定項目についてはPhusion Passenger users guideに詳しく書いてあるので一読してみると良いと思います。