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.
になってしまうことがありますが、データベースを再起動したりすると正しく表示されました。(原因不明)