Passenger - mod_rails を試してみる

手元のLinuxマシンは、ずっと長い間稼動している、RedHat9のマシンですが、普通にインストールしようとしたら詰まったのでメモ。
なんか、ファイルがないとか、リンクエラーなので、 passenger 1.0.5だけのエラーかもしれない。
Googleさんに聞いてみた結果、まったく同じ事ではまってる人がいたので、そのままやってみました。
http://blog.andrewl.net/articles/2008/05/27/off-the-mod_rails

OSは RedHat9。だたKernelは少しいじってある。

Apacheは 2.2.8 prefork

ruby 1.8.6-p114 を普通にconfigure;make;make install

Rubygemsは 1.0.1 が入ってましたが、失敗したので 最新版 1.1.1 に

rake も入っていたはずだが、require_gemはないということで、 rake も最新に

boost のコンパイルでエラーが出たので必要なファイルを取ってくる

こんなエラーが出ます。

../../boost/config/suffix.hpp:490:32: boost/non_type.hpp: No such file or director

ext/boost 以下にこの non_type.hpp はない
とりあえず、boostの最新版を http://www.boost.org/ から取ってきて、このnon_type.hppだけ以下にコピー
/usr/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/ext/boost

さらにリンクで libraryまわりにエラー

linkflags << " -lstdc++ -lpthread ../boost/src/libboost_thread.a #{APR_LIBS}"

を以下に置き換える

linkflags << " -Xlinker -rpath /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/libstdc++.so -lpthread ../boost/src/libboost_thread.a #{APR_LIBS}"

モジュールのインストール

ここまでして、ようやく passenger-install-apache2-module コマンドでインストールできます。
Apacheが見つからない場合は環境変数のセットが必要です。

export APXS2=/usr/local/apache2/bin/apxs
export PATH=/usr/local/apache2/bin:$PATH

これでインストール終了です。
6月にはCentOS 5.2 が出るようなのでハード毎のりかえよ。
さすがに、Pentium3 750MHzではそろそろ厳しい。