Phusion Passenger ユーザーズガイド - インストール、アップグレード、アンインストール
2.1. 一般的なインストールの説明書
2.1.1. インストール方法の概要
Phusion Passenger をインストールするには3つの方法があります。
- Phusion Passenger の gem をインストールする。Phusion Passenger のウェブサイトの "Install" ページ に説明があります。
- Phusion Passenger のウェブサイトから、ソース tarball をダウンロードする(passenger-x.x.x.tar.gz)
- ネイティブ LInux パッケージをインストールする。(例えば、Debina パッケージ)
以下のセクションでは、それぞれのインストール方法を説明します。あなたの好みのインストール方法のセクションを読んでください。私達の考えでは、gem または ネイティブ Linux パッケージをインストールするのが最も簡単です。この2つのインストール方法では、簡単に使用できるインストーラーを提供しています。
2.1.2. 準備(gem とソース tarball のみ)
もし、Phusion Passenger を gem または ソース tarball からインストールしたいならば、いくらか準備が必要になります。ネイティブ Linux パッケージからインストールする人は、編集する必要はありませんので、このサブセクションを飛ばすことができます。
root コマンドプロンプトに切り替える
インストールの前に、まず、root ユーザーに切り替える必要があります。Phusion Passenger を gem または ソース tarball からインストールするとき、いくつかのファイルがコンパイルされて、それらのファイルを配置するためにディレクトリへの書き込み権限が必要とされます。Unix システムでは、root ユーザーが、システム全体への書き込み権限をもっています。つまり、通常のユーザーでは Phusion Passenger ディレクトリへの書き込み権限をもっていませんので、インストール前に root へと切り替えるべきです。
以下のコマンドを打てば、root へと切り替えられます:
sudo -s
こうして、root ユーザーとしてコマンドプロンプトを開き、インストールを進行することができます。
もし、あなたのシステムに sudo がインストールされてない場合は、代わりに以下のコマンドを打ってください。これは前述のことと同じことです。
su
正しい Apache を指定する
Phusion Passenger のインストーラーは、自動的に Apache を探しだそうとします、そして、Apache のバージョンに合わせてコンパイルします。PATH 環境変数に、apxs もしくは apxs2 が見つかることにより、コンパイルできます。Apxs は どの Apache インストールでも必須の部品です。
しかしながら、あるシステムでは、複数の Apache がインストールされています。例えば、Mac OS X の場合、OS が Apache を提供していますが、ユーザーは、Macports などで、別の Apache のバージョンをインストールする傾向があります。その場合は、どの Apache を使うか、Phusion Passenger のインストーラーに教えてあげる必要があります。正しい Apache を指定することはとても重要なことです、なぜなら、違う Apache に合わせてコンパイルされた Phusion Passenger をロードした場合、クラッシュするのが相場です。
また別のシステムでは、Apache が標準的でない場所にインストールされていて、Phusion Passenger のインストーラーが Apache を探し出すのを妨げる場合があります。よくあるのは、システムのネイティブパッケージマネージャーを通してインストールするのに反して、Apache をソースから手動でインストールした時によくあります。この場合、インストーラーに Apache が探し出せるように教えてあげなければなりません。
そうするには、APXS2 環境変数に apxs または apxs2 コマンドのフルパスをセットしてください。/opt/apache2 にインストールされている Apache を使いたいと仮定した場合、 おそらく、対応する apxs プログラムのパスは /opt/apache2/bin/apxs なので、こう打ってください:
export APXS2=/opt/apache2/bin/apxs
Note | いくつかのシステムでは、apxs プログラムは apxs2 と呼ばれているかもしれません。また、bin フォルダの代わりに sbin フォルダに配置されているかもしれません。 |
Note | 環境変数とsudo デフォルトでは、sudo コマンドは、与えられたコマンドを実行するのを優先して、いかなる環境変数も認識せず消去します。なので、APXS2 環境変数を通常のユーザーに設定していた場合、sudo passenger-install-paache2-module コマンド(Phusion Passenger のインストールするためのコマンド)を実行しても、インストーラーはセットした涵養変数を受け取ることができません。この問題を解決するには、前のサブセクションで述べたように、環境変数を設定する前に root ユーザーになってください。 |
正しい Ruby を指定する
もし、あなたのシステムで、複数の Ruby をインストールしてあるとき ― 例えば MacOS X の場合や、Ruby Enterprise Edition をインストールしてある時 ― オペレーティングシステムに、Phusion Passenger のインストーラーを実行する前に、どの Ruby を使うか教えてやる必要があります。もし、1つの Ruby しかインストールしてない場合(ほとんどの Linux システムの場合)、Phusion Passenger は自動的に検知するので、このセクションは飛ばすことができます。
Ruby を指定するために、PATH 環境変数の前に Ruby をインストールした bin ディレクトリを追加します。例えば、以下の Ruby がインストールされている場合、
後者を使いたいとしたら、以下のように打ち込んでください:
export PATH=/opt/myruby/bin:$PATH
2.1.3. gem からインストールする
gem をインストールして、Phusion Passenger インストーラーを起動してください。以下のコマンドを打ってください:
gem install passenger-x.x.x.gem passenger-install-apache2-module
その後はインストーラーの与える指示に従ってください。
2.1.4. ソース tarball からインストールする
お好きな場所で tarball を展開し、その Phusion Passenger ファイルはそのまま永久に置いておいてください。例えば、Phusion Passenger を /opt/passenger-x.x.x に置く場合にはこうします:
cd /opt
tar xzvf ~/YourDownloadsFolder/passenger-x.x.x.tar.gz
次に、含まれているインストーラーを起動します:
/opt/passenger-x.x.x/bin/passenger-install-apache2-module
その後はインストーラーの与える指示に従ってください。
Note | インストールの後 passenger-x.x.x フォルダを削除しないでください。その上、passenger-x.x.x フォルダは Apache がアクセスできるようにしなければなりません。 |
2.1.5. ネイティブ Linux パッケージからインストールする
Brightbox の John Leach は Phusion Passenger の Ubuntu Hardy パッケージを提供しています。パッケージは Brightbox リポジトリ にあります。
以下のようにして、ネイティブ Linux パッケージをインストールして下さい:
sudo sh -c 'echo "deb http://apt.brightbox.net hardy main" > /etc/apt/sources.list.d/brightbox.list' sudo sh -c 'wget -q -O - http://apt.brightbox.net/release.asc | apt-key add -' sudo apt-get update sudo apt-get install libapache2-mod-passenger
2.1.6. インストーラーは何をするの?
"installer" と我々は呼んでいますが、実際に何かをインストールするわけではありません。インストーラーは必要な依存関係がインストールされているかどうかチェックし、Phusion Passenger をコンパイルし、Apache 設定ファイルをどう変更するか教えます。何らかのファイルをコピーするわけではありません。
passenger-install-apache2-module は rake apache2 コマンドのユーザーフレンドリーなフロントエンドで、Phusion Passenger のコンパイルを行ないます。
2.2. オペレーティングシステム特有の説明と情報
2.2.2. Ubuntu Linux
Ben Hughes が記事を書いています。
2.2.3. OpenSolaris
J Aaron Farr が Ruby on Rails と Phusion Passenger と OpenSolaris と EC2 に関するガイドを書いています。
2.3. Phusion Passenger のアップグレードとダウングレード
2.3.1. gem またはソース tarball から
gem またはソース tarball から Phusion Passenger をアップグレードまたはダウングレードするには、通常の方法で、新しいまたは古いバージョンをインストールします。gem をインストールするか、tarball を展開して、passenger-install-apache2-module を実行します。passenger-install-apache2-module は、いくつかの設定を Apache 設定ファイルにコピー&ペーストするように指示します。以下のような行です:
LoadModule passenger_module ... PassengerRoot ... PassengerRuby ...
すでに Phusion Passenger がインストールされているので、Apache 設定ファイルに既に同じ設定があります。違う値の部分だけ、古い設定の代わりにインストーラーが出力する新しい設定で置き換えてください。
それが終わったら、Apache を再起動して下さい。
2.4. アンインストールしないで、Apache で Phusion Passenger をアンロード(disable)する
Phusion Passenger のファイルをアンインストールすることなしに、一時的に Apache で Phusion Passenger をアンロード(disable)することができます。そうすれば、最初から Phusion Passenger がインストールされてなかったかのように Apache は振る舞います。これは、例えば Phusion Passenger まつわる問題に出会ったときに、Phusion Passenger を完全にアンインストールすることなしに、実際に問題を引き起こしているかどうか確かめたい場合などに有用でしょう。
Phusion Passenger を Apache からアンロードするために、Apache 設定ファイルを編集しコメントアウトします:
- 全ての Phusion Passenger 設定ディレクティブ
- LoadModule passenger_module ディレクティブ
例えば、あなたの設定ファイルが以下のようなものだった場合……
Listen *:80 NameVirtualHosts *:80 .... LoadModule passenger_module /somewhere/passenger-x.x.x/ext/apache2/mod_passenger.so PassengerRuby /usr/bin/ruby PassengerRoot /somewhere/passenger/x.x.x PassengerMaxPoolSize 10 <VirtualHost *:80> ServerName www.foo.com DocumentRoot /webapps/foo/public RailsBaseURI /rails </VirtualHost>
……適切なディレクティブをコメントアウトします。以下のように:
Listen *:80 NameVirtualHosts *:80 .... # LoadModule passenger_module /somewhere/passenger-x.x.x/ext/apache2/mod_passenger.so # PassengerRuby /usr/bin/ruby # PassengerRoot /somewhere/passenger/x.x.x # PassengerMaxPoolSize 10 <VirtualHost *:80> ServerName www.foo.com DocumentRoot /webapps/foo/public # RailsBaseURI /rails </VirtualHost>
編集が終わったら、ファイルを保存し、Apache を再起動します。
2.5. Phusion Passenger をアンインストールする
Phusion Passenger をアンインストールするために、まず、Phusion Passenger 設定ディレクティブを Apache 設定ファイルから削除してください。それが終わってから、Phusion Passenger ファイルを削除する必要があります。
- もし Phusion Passenger を gem からインストールした場合、gem uninstall passenger と打ち込んでください。恐らく root で実行する必要があるでしょう。
- もし Phusion Passenger をソース tarball からインストールした場合、Phusion Passenger ファイルを展開したディレクトリを削除してください。このディレクトリは PassengerRoot 設定ディレクティブの指している場所と同じです。
- もし Phusion Passenger Debian パッケージからインストールした場合、sudo apt-get remove libapache2-mod-passenger と打って削除して下さい。
ライセンス
このドキュメントのテキストは
Creative Commons
Attribution-Share Alike 3.0 Unported License の下にあります。
Phusion Passenger は Phusion によって提供されています
Phusion Passenger は Hongli Lai と Ninh Bui の登録商標です。
目次
- 概要
- 1. サポートしているオペレーティングシステム
- 2. Phusion Passenger をインストール、アップグレード、アンインストールする
- 3. Deploying a Ruby on Rails application
- 4. Deploying a Rack-based Ruby application
- 5. Configuring Phusion Passenger
- 6. Troubleshooting
- 7. Analysis and system maintenance tools
- 8. Tips
- 9. Under the hood
- 10. Appendix A: About this document
- 11. Appendix B: Terminology
- 12. Appendix C: Spawning methods explained