ApacheとPhusion Passengerのセットアップ
2012/01/29
『改訂新版 基礎Ruby on Rails』 読者サポートページ > Rails本番環境構築ガイド
以下、asagao.oiax.jp
というホスト名でRailsアプリケーションasagaoを公開する、という前提で手順を記述します。ご自分のホスト名(ドメイン名)で読み替えてください。
この文章の内容は、随時更新しています。最終更新日: 2012/05/06
対象とするOSは次の3つです:
- CentOS 6.2 (「Basic Server」タイプでインストールされたもの)
- Ubuntu Server 12.04 LTS
- Ubuntu Server 10.04 LTS
リモートマシンにsudo権限を持つユーザーでSSH接続し、コマンドを順に実行してください。なお、%
はコマンドプロンプトを示します。これらの文字は入力しないでください。
Phusion Passengerのインストール
% sudo gem install passenger --no-ri --no-rdoc % sudo passenger-install-apache2-module
Apacheの準備
CentOS 6.2の場合
% sudo -s $ cd /etc/httpd $ echo "Include /etc/httpd/sites-enabled/" >> conf/httpd.conf $ mkdir sites-available $ mkdir sites-enabled $ rm conf.d/welcome.conf
エディタで /etc/httpd/conf/httpd.conf を開き
#ServerName www.example.com:80
という箇所のコメント記号(#)を取り除いてください。
また、
#NameVirtualHost *:80
のコメント記号(#)を取り除いてください。
httpd.confのServerNameに指定する値はデフォルトの「www.example.com:80」のままにしておいてください。
Ubuntu Server 12.04/10.04 LTS の場合
% sudo -s $ mkdir /var/www/html $ cd /etc $ ln -s apache2 httpd $ cd httpd $ echo "ServerName www.example.com:80" >> httpd.conf
「www.example.com:80」の部分は、このままにしてください。ご自分のホスト名(ドメイン名)で読み替える必要はありません。
Phusion PassengerをApacheに組み込む
新規ファイル /etc/httpd/conf.d/passenger.conf に次の内容を書き込みます。
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.12/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.12 PassengerRuby /usr/local/bin/ruby
「3.0.12」はPassengerのバージョン番号です。適宜読み替えてください。
バーチャルホストの追加
新規ファイル /etc/httpd/sites-available/default に次の内容を書き込みます。
<VirtualHost *:80> DocumentRoot /var/www/html <Directory /var/www/html> AllowOverride all Options None Order Deny,Allow Deny from All </Directory> </VirtualHost>
Ubuntuの場合は、既存ファイルdefaultの内容を書き換えてください。asagao.oiax.jp以外のドメイン名やIPアドレスによるアクセスを拒否するための設定です。
シンボリックリンクを設定します(CentOS 6.2の場合のみ)。
$ ln -s /etc/httpd/sites-available/default /etc/httpd/sites-enabled/000-default
新規ファイル /etc/httpd/sites-available/asagao に次の内容を書き込みます。
<VirtualHost *:80> ServerName asagao.oiax.jp DocumentRoot /var/rails/asagao/public RackEnv production <Directory /var/rails/asagao/public> AllowOverride all Options -MultiViews </Directory> </VirtualHost>
$ ln -s /etc/httpd/sites-available/asagao /etc/httpd/sites-enabled/001-asagao
一時的にasagaoをバーチャルホストから外したい場合は、001-asagaoをunlinkしてください。
Apacheの起動(CentOS 6.2の場合)
$ service httpd start
Apacheの再起動(Ubuntu 12.04/10.04 LTSの場合)
$ service apache2 restart
動作確認
以上で、asagaoがインターネットに公開されます。ブラウザで表示を確認してください。
目次
- VirtualBoxによる仮想マシンのインストール
- MinGWのインストール (Windowsユーザー向け)
- サーバーの準備(CentOS 6.2編)
- サーバーの準備(Ubuntu Server 12.04 LTS編)
- サーバーの準備(Ubuntu Server 10.04 LTS編)
- SSH公開鍵の設置
- Ruby 1.9.3のインストール
- Railsアプリケーションのセットアップ
- ApacheとPhusion Passengerのセットアップ
- データベースとの接続(MySQL編)
- データベースとの接続(PostgreSQL編)
- Capistranoによるデプロイ
- Gitレポジトリの作成
- 続・Capistranoによるデプロイ