インストールの流れ
gem install passenger
passenger-install-apache2-module
httpd.confの変更
Phusion Passengerとは
Railsアプリケーションを実行するためのApacheモジュールです。
gemでインストールできます。
- gem install passenger
passenger-install-apache2-moduleを実行し、Apacheモジュールのビルドとインストールを行います。
- passenger-install-apache2-module
このスクリプトは対話形式で処理を行います。画面の指示に従って進めれば容易に処理を完了できます。
全体の流れは次の通りです。
- 必要なソフトウェアの存在チェック
- モジュールのビルドおよびインストール
- httpd.confの設定方法の表示
例として、Debian 4.0 + Apache 2.2(ソースからビルド)の環境でpassenger-install-apache2-moduleを実行したときの画面を示します。
注意:
Apacheをソースからビルドしてインストールした環境では、APXS2およびPATH環境変数を設定する必要があります。設定を行わないとスクリプトがApache本体、Apacheヘッダファイル、APRを見つけることができず、インストールができません。
インストーラ実行。
- export APXS2=/usr/local/apache2/bin/apxs
- export PATH=/usr/local/apache2/bin:$PATH
- passenger-install-apache2-module
手順が表示される。
Welcome to the Passenger Apache 2 module installer.This installer will guide you through the entire installation process. It
shouldn’t take more than 3 minutes in total.Here’s what you can expect from the installation process:
1. The Apache 2 module will be installed for you. 2. You’ll learn how to configure Apache. 3. You’ll learn how to deploy a Ruby on Rails application.Don’t worry if anything goes wrong. This installer will advise you on how to
solve any problems.Press Enter to continue, or Ctrl-C to abort.
Enterキーを押して次へ進む。環境の確認とPassengerのビルドが行われる。
Checking for required software…
- GNU C++ compiler… found at /usr/bin/g++
- Ruby development headers… found
- OpenSSL support for Ruby… found
- RubyGems… found
- Rake… found at /usr/bin/rake
- Apache 2… found at /usr/local/apache2/bin/httpd
- Apache 2 development headers… found at /usr/local/apache2/bin/apxs
- Apache Portable Runtime (APR) development headers… found
- fastthread… found
-————————————————————-
Compiling and installing Apache 2 module…
cd /usr/lib/ruby/gems/1.8/gems/passenger-1.0.1
rake clean apache2
(in /usr/lib/ruby/gems/1.8/gems/passenger-1.0.1)
(中略)
The Apache 2 module was successfully installed.
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-1.0.1/ext/apache2/mod_passenger.so RailsSpawnServer /usr/lib/ruby/gems/1.8/gems/passenger-1.0.1/bin/passenger-spawn-server RailsRuby /usr/bin/ruby1.8↑
これ重要、コピペしとく
After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!
Press ENTER to continue.
ビルドに成功すると、Passengerを組み込むためのhttpd.confの設定が表示されるのでコピーしておく。
Enterキーを押して次へ進む。virtualhostの設定のサンプルが表示される。
-------------------------------------------- Deploying a Ruby on Rails application: an example Suppose you have a Ruby on Rails application in /somewhere. Add a virtual host to your Apache configuration file, and set its DocumentRoot to /somewhere/public, like this: <VirtualHost *:80> ServerName www.yourhost.com DocumentRoot /somewhere/public </VirtualHost> And that's it! You may also want to check the Users Guide for security and optimization tips and other useful information: /usr/lib/ruby/gems/1.8/gems/passenger-1.0.1/doc/Users guide.html Enjoy Passenger, a product of Phusion (www.phusion.nl) :-) http://www.modrails.com/
Apacheの設定
passenger-install-apache2-moduleの最終段階の画面で”Please edit your Apache configuration file, and add these lines:”という指示とともにhttpd.confに追加すべき設定内容が表示されますので、httpd.confを修正します。
httpd.conf:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-1.0.1/ext/apache2/mod_passenger.so
RailsSpawnServer /usr/lib/ruby/gems/1.8/gems/passenger-1.0.1/bin/passenger-spawn-server
RailsRuby /usr/bin/ruby1.8
Passengerを組み込んだApacheではDocumentRootを$RAILS_ROOT/publicに設定すれば、自動的にRailsアプリケーションが認識されます。
例えば、ネームベースバーチャルホスト”redmine.example.jp”で、/var/lib/rails/redmineにインストールされたRedmineを動かすには次のようにします。
httpd.conf:
<VirtualHost *:80>
ServerName redmine.example.jp
DocumentRoot /var/lib/rails/redmine/public
以上で設定は完了です。Apacheを再起動してください。