oinume journal

Scratchpad of what I learned

Redmine 0.8.1をPhusion Passengerで動かす

はじめに - 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

 

 

インストールが完了すると下記のように Apachehttpd.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に詳しく書いてあるので一読してみると良いと思います。

 

[tmkm-amazon]4798021377[/tmkm-amazon]