Mac(Mavericks)にpassengerをインストールしてRailsアプリをApacheで動かす方法

 

Railsアプリケーションを、Apacheで動かす方法を記載する。 passengerは、RailsアプリとApacheをつなぐ、アプリケーションサーバの役割をするもの。

Rails関係のインストール方法は、以前の『Mac(Lion)にRuby on Railsをインストールする方法(http://www.moritaro.com/archives/1311)』を参照。

1.passangerインストール

gem install passenger

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

sudo passenger-install-apache2-module

以下のように、対話形式のインストールが始まる。 [Enter]押下で開始。 passenger1

もし、「command not found」が出たら、PATHが通ってないので通す。

find / -name passenger-install-apache2-module

でモジュールの場所をみつける。

/Users/testuser/.rbenv/versions/2.0.0-p195/bin/passenger-install-apache2-module
/Users/testuser/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/passenger-4.0.24/bin/passenger-install-apache2-module

↑のように、モジュールの場所が分かったら、PATHを通す。

PATH=$PATH:/Users/testuser/.rbenv/versions/2.0.0-p195/bin/
export PATH

再度コマンド実行。

sudo passenger-install-apache2-module

まだ、以下のようなエラーが出る場合、「Mavericks」へのアップグレードが原因

passenger2

コマンドラインツール(developper tools)を再インストール

xcode-select --install

・再度コマンド実行で、インストール完了。

sudo passenger-install-apache2-module

3.Apache設定ファイルの設定 「2.」でインストールが成功すると、以下のような設定案内が出るのでコピーして、httpd.confに貼り付ける。

passenger3

・モジュール読み込み

LoadModule passenger_module /Users/testuser/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/passenger-4.0.24/buildout/apache2/mod_passenger.so
PassengerRoot /Users/testuser/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/passenger-4.0.24
PassengerDefaultRuby /Users/testuser/.rbenv/versions/2.0.0-p195/bin/ruby

・VirtualHost設定 任意の領域に、VirtualHost領域を設定。 以下は、サンプルそのままだが、これだと「/somewhere」にインストールしたRailsアプリがApache上で動く。

<VirtualHost *:80>
      ServerName www.yourhost.com
      # !!! Be sure to point DocumentRoot to 'public'!
      DocumentRoot /somewhere/public    
      <Directory /somewhere/public>
         # This relaxes Apache security settings.
         AllowOverride all
         # MultiViews must be turned off.
         Options -MultiViews
      </Directory>
   </VirtualHost>

4.Apache再起動で完了