1. passengerをインストール
$ gem install passenger --no-ri --no-rdoc -V
$ rbenv rehash
2. apacheにpassengerモジュールをインストール
$ passenger-install-apache2-module
※ 必要なソフトウェアがない場合は赤字で知らせてくれるので、インストールしてからもう一度コマンドを実行する。
3. 以下のコマンドを叩くと、apacheとの連携に必要な設定が表示される
$ passenger-install-apache2-module --snippet
LoadModule passenger_module /home/webmaster/.rbenv/versions/2.1.2/lib/ruby/
gems/2.1.0/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot ...
PassengerDefaultRuby ...
</IfModule>
4. httpd.conf
を編集
$ sudo vim /etc/httpd/conf/httpd.conf
# 上記の出力メッセージをそのままペースト
# DocumentRootを上書き
DocumentRoot Rails_appのpublicフォルダを指定
# RAILS_ENV変数の設定
RailsEnv 環境名
5. 設定ファイルの文法をチェック
$ apachectl configtest
# Syntax OK と出るはず
6. Apache再起動して、ブラウザでアクセス
$ sudo service httpd restart
Trouble Shooting
「You don’t have permission to access / on this server.」と表示される場合
httpd.conf
のUser
とGroup
項目がきちんとRailsアプリを動かせるユーザ、グループに設定されているか確認
その他
Passengerの実行ユーザ
config.ru
の所有者と同じ