Apache2 + Passengerの設定
2010年8月15日に開催される岡山Ruby / Ruby on Rails勉強会でApache2 + PassengerによるRailsデプロイ実演を行ないます。
その時に使用するメモを一足先に公開しておきます。
前提とする環境
ディストリビューションはUbuntu10.04。
Railsアプリがすでに存在してProduction環境で動作すること。
apache2のインストールはまだ行っていないこと。
マシン名(+ドメイン名)は仮にrailwayとして、VirtualHostはrailway用に設定する。
apache2のインストールとVirtualHostの設定
$sudo apt-get install apache2 $cd /etc/apache2/sites-available $sudo cp default railway $sudo vi railway
railwayの中を編集します。
ServerName railway #追加 ServerAdmin webmaster@localhost DocumentRoot /home/kazuhisa/rails/cdman/public #railsプロジェクトのpublicに変更 (略)
sites-availableにシンボリックリンクを張って設定を有効にします。
$cd ../sites-enabled $sudo ln -s ../sites-available/railway .
http://railway/
にwebブラウザでアクセスして、railsの設定画面が表示されることを確認します。
Passengerのコンパイル&インストール
$sudo apt-get install g++ apache2-threaded-dev $sudo gem install passenger $su - #/var/lib/gems/1.8/bin/passenger-install-apache2-module
1を選択。apacheの設定変更点が表示されるのでメモしておくこと。
Apache2の設定
#exit
$cd /etc/apache2/mods-available
$sudo vi passenger.load <-新規作成
passenger.loadファイルにさっきのメモ内容を転記します。
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
$sudo vi passenger.conf <-新規作成
passenger.confファイルにさっきのメモ内容を転記します。
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.15 PassengerRuby /usr/bin/ruby1.8
モジュールを有効化します。
$cd ../mods-enabled $sudo ln -s ../mods-available/passenger.conf . $sudo ln -s ../mods-available/passenger.load .
railwayのVirtualHost設定を変更します。
$cd ../sites-available $sudo vi railway
同じくさっきのメモから転記です。
(略)AllowOverride all #変更 Options -MultiViews #変更 (略)
これで設定は完了です。apache2を再起動させましょう。
sudo /etc/init.d/apache2 restart
本番でシナリオどおり動くといいなぁ。
ちなみに、今回はMac OS XにインストールしたParallels Desktopのスナップショット機能を活用して検証を行ないました。
こんな感じで分岐点が明確になりいい感じです。オススメ。