なんかまた後で調べるはめになるかもなのでまとめた。
###1.passengerをインストール
console
gem install passenger
gemが使えれば普通にインストールされるはず
###2.Apache用モジュールのビルド
console
passenger-install-apache2-module
Apacheをソースビルドした場合はなんかPATHの設定が必要らしいがそんな事をする予定はないので省略
色々表示されるが大体無視してEnterを押してOK
最後のほうで、設定用のテキストが表示されるのでコピーする
console
LoadModule passenger_module /usr/local/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/passenger-4.0.50/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/passenger-4.0.50
PassengerDefaultRuby /usr/local/rbenv/versions/2.0.0-p247/bin/ruby
</IfModule>
あとで上記のテキストだけ見たい場合は
console
passenger-install-apache2-module --snippet
で見れる
###3.passenger.confの設定
Apacheの設定ファイルpassenger.confを作成する(ない場合は新規で)
console
vim /etc/httpd/conf.d/passenger.conf
passenger.conf
# Passenger base config
LoadModule passenger_module /usr/local/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/passenger-4.0.50/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/passenger-4.0.50
PassengerDefaultRuby /usr/local/rbenv/versions/2.0.0-p247/bin/ruby
</IfModule>
# Delete Passenger's HTTP Header
Header always unset "X-Powered-By"
Header always unset "X-Rack-Cache"
Header always unset "X-Content-Digest"
Header always unset "X-Runtime"
# Passenger tuning config
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerHighPerformance on
PassengerStatThrottleRate 10
RailsSpawnMethod smart
RailsAppSpawnerIdleTime 86400
PassengerMaxPreloaderIdleTime 0
RailsEnv development # production か development を設定
RackBaseURI /app1 # DocumentRootからのアプリケーションフォルダ相対位置
RackBaseURI /app2 # 複数設定可能
###4.アプリケーションフォルダの配置
sinatraアプリケーションフォルダをどっかに置く(仮にapp1, app2とする)
app1/public へのSymLinkをDocumentRoot(ここでは/var/www/html)に作成する
console
cd /var/www/html
ln -s app1/public app1
ln -s app2/public app2
あと必要に応じてバーチャルホストの設定とかする。
###5.Apache再起動
console
service httpd restart
権限周りで動かない時は、PassengerUserSwitching PassengerDefaultUser あたりのオプションを設定するか、ファイルのオーナーを書き換える。
おわり