Apacheにmod_rubyとeRubyをインストールした時のメモです。 ちなみにmod_rubyと言うのはApacheにRubyインタプリタを組み込み、CGIで利用するモジュール。 eRubyはHTML中にRubyスクリプトを埋め込んでダイナミックにページを生成するモジュールです。
ソースはmod_ruby.netから持って来ました。 私はmod_ruby-0.9.3、eruby-0.9.6を使用しました。当然rubyそのものはインストール済とします。
まずはeRubyの方から構築。
tar xzvf eruby-0.9.6.tar.gz
cd eruby-0.9.6
./configure.rb --enable-shared --with-charset=euc-jp
make
su
make install
ldconfig
などとすれば、あっさりとインストール終了となるはずです。 ここで忘れてはいけないのがldconfig。これを忘れると後々Apacheが起動しません。
次にmod_ruby。
tar xzvf mod_ruby-0.9.3.tar.gz
cd mod_ruby-0.9.3
./configure.rb --enable-eruby --with-apxs=/usr/sbin/apxs --with-eruby-includes=/usr/local/include --with-eruby-libraries=/usr/local/lib
make
su
make install
以上で構築作業は終了です。次はApacheの設定に移ります。
httpd.confに
LoadModule ruby_module /usr/libexec/apache/mod_ruby.so
AddModule mod_ruby.c
<IfModule mod_ruby.c>
RubyRequire apache/ruby-run
<Location /ruby>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
Options ExecCGI
</Location>
<Files *.rbx>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Files>
RubyRequire apache/eruby-run
<Location /eruby>
SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance
Options ExecCGI
</Location>
<Files *.rhtml>
SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance
</Files>
RubyRequire apache/erb-run
<Location /erb>
SetHandler ruby-object
RubyHandler Apache::ERbRun.instance
Options ExecCGI
</Location>
</IfModule>
上記の部分を適切な場所に追加してApacheを再起動。無事再起動出来れば インストール完了です。あ、上記の設定通りにした場合は適切なディレクトリを作成と Permissionの設定も忘れずに。