Apache2上でRailsアプリケーションを動かす

Phusion Passenger(mod_rails for Apache)を利用します。

まず、passengerをインストール

gem install passenger

Apacheモジュールのビルドとインストール

passenger-install-apache2-module

インストール完了後にhttpd.confの設定が表示されるので、
それに従いhttpd.confに追記。

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.11
PassengerRuby /usr/local/bin/ruby

VirtualHostも設定。

<VirtualHost *:80>
  ServerName www.example.com
  DocumentRoot /var/www/sample/public
  <Directory /var/www/sample/public>
    AllowOverride all
    Options -MultiViews
    RailsEnv development # railsをdevelopmentモードで起動する場合
  </Directory>
</VirtualHost>

以上でhttpd.confの設定は終了。Apacheを再起動。

httpd.confで設定しているディレクトリ(ここでは/var/www/)に移動して

rails sample

Railsアプリケーション作成。さらに

rake db:create

でデータベースを作成。

http://www.example.com/ にアクセスして以下の画面が表示されることを確認。

About your application’s environment のとこをクリックして、以下が表示されることを確認。

この表示が We’re sorry, but something went wrong.
になってしまうことがありますが、データベースを再起動したりすると正しく表示されました。(原因不明)