Passenger (mod_rails) を使ってみた
投稿者 okkez
Overview — Phusion Passenger (a.k.a. mod_rails)
思ったより簡単だったのでちょっとだけ手順を書いておく。
- Apache は 2.2 系
- Rails2.0.2
- Redmine0.7.0RC1
上記はインストールできている and 動作確認できている前提で。 まずは、Passenger をインストール。
sudo gem install passenger
で以下のコマンドを実行。
passenger-install-apache2-module
そうすると対話型っぽい感じになって色々と親切に教えてくれる。足りないライブラリとそれらの入手方法とか。 個人的にはもう少し不親切でもいいような気がした。
このコマンドではApacheのモジュールをビルドするので Windows ではかなり苦労するであろう事が予想される。(調べてないけど)
最後に、httpd.conf に書く設定内容が表示されるのでそれをコピペして Apache を再起動すればOK。 各アプリの設定は後で書く。
もう一つのインストール方法でやる場合は、ソースを展開したディレクトリの下にビルドしてインストールされてしまうので、ちょっと気持ち悪い。手でコピーすればいいけどコマンドが動的に生成されるっぽいのでその辺の調整が必要。
### Redmine を使う
- /var/webapps/redmine に置いている
- /var/www/html が Apache の DocumentRoot
サブドメインが使える場合は以下でOK。
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /var/webapps/redmine/public
</VirtualHost>サブドメインが使えない場合(素朴なイントラネットなど)。
ln -s /var/webapps/redmine/public /var/www/html/redmine
のようにシンボリックリンクを DocumentRoot 以下に用意する。 で、以下の内容を httpd.conf を追加する。
DocumentRoot /var/www/html
RailsBaseURI /redmineサブドメインが使える場合は NameBase の VirtualHost でいくらでもアプリケーションを置くことができるが、そうでない場合は以下のようにすればいけるかもしれない。(まだ試してない)
RailsBaseURI /redmine1 RailsBaseURI /redmine2
考えてみたけど VirtualHost を使用せずに一つのアプリに別々のRailsEnv を設置する方法がわからない。 上のやり方だと、一つの環境しか設定できないような気がするし。
以上の設定内容は全部、 Passenger のサイトに書いてあった。最初からドキュメントが揃っているのは素晴らしい!


