久しぶりにRailsの環境を構築したので、その記録を残しておこう。
RailsをApache上で動かすためのモジュールであるPassengerを使い、Apacheのvhost設定でphpとrubyをそれぞれ動かす環境を構築。このブログではRailsやPHPがインストールされている前提でRailsインストール後から記述する。
環境
Mac OS X : 10.7.5
Apache : 2.2
Ruby : 1.9.3
rvm : 1.15.3
Rails : 3.2.8
Passenger : Phusion Passenger version 4.0.2
Passengerのインストール
$ gem install passenger
$ passenger-install-apache2-module
・Permission problemsが表示されたら、下記のコマンドでインストール
$ rvmsudo passenger-install-apache2-module
Passenger設定情報取得
![](https://image.jimcdn.com/app/cms/image/transf/dimension=670x10000:format=png/path/sca2f764e690f5ad4/image/ia86e6b75bb81f5d9/version/1369235498/image.png)
インストールを完了すると上記のようなコードと下のコードをコピーしてください。
<VirtualHost *:80>
ServerName sample.localhost
DocumentRoot "/example/sample/public"
# !!! Be sure to point DocumentRoot to 'public'!
<Directory /example/sample/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
Apacheの設定(HTTPD.CONF)
$ sudo vi /etc/apache2/httpd.conf
・上記イメージのコードを追記してください。
・下のようにVirtual hostをONにします。
# Virtual hostsInclude
#/private/etc/apache2/extra/httpd-vhosts.conf
これを
# Virtual hostsInclude
/private/etc/apache2/extra/httpd-vhosts.conf
にする。
hostsの設定
$ sudo vi /etc/hosts
下記を追記(後ろのドメイン名はどれでも良い。)
127.0.0.1 php.localhost
127.0.0.1 rails.localhost
httpd-vhosts.confの設定
<VirtualHost *:80>
ServerName php.localhost
DocumentRoot "/php_sample/hello"
<Directory "/php_sample/hello">
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName rails.localhost
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot "/rails_sample/hello"
<Directory "/rails_sample/hello">
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
上記をvhostsに追記します。
上はphpで下はrailsです。
それぞれのプロジェクトのRootを設定すればオッケーです。
ここまで終わったらApacheを再起動
$ sudo /usr/sbin/apachectl restart
確認
rails.localhostで接続するとこんな画面。
![](https://image.jimcdn.com/app/cms/image/transf/dimension=670x10000:format=png/path/sca2f764e690f5ad4/image/i67b7cfdeefe4085d/version/1369224064/image.png)
php.localhostで接続するとこんな画面。
![](https://image.jimcdn.com/app/cms/image/transf/dimension=670x10000:format=png/path/sca2f764e690f5ad4/image/i13692c35f690d2fc/version/1369224416/image.png)