いろいろ面倒だったのでメモ。
ソースコードからのコンパイルは無し。
環境
Ruby | One-Click Ruby Installerに含まれるもの | 1.8.2-15 | C:/usr/local/ruby |
---|---|---|---|
eRuby | One-Click Ruby Installerに含まれるTiny eRuby | ? | C:/usr/local/ruby |
mod_ruby | mod_ruby_win32binからダウンロードしたもの | 1.2.4 | - |
httpd | Apache win32版 | 2.0.54 | C:/usr/local/Apache2 |
インストール
1.mod_rubyをダウンロード。
2.mod_ruby.soをC:/usr/local/Apache2/modulesにコピー。
3.mod_rubyのソースをダウンロード。
4.mod_rubyのソースに含まれるlibディレクトリを、C:/usr/local/Apache2/mod_ruby/libにコピー。
5.mod_ruby_win32binにあるパッチをファイルに落として(ruby-run.rb.patch)、次のようにパッチを当てる。
6.httpd.confに以下の記述を追加。
$ cd /usr/local/Apache2/mod_ruby/lib/apache
$ patch -l < ruby-run.rb.patch
7.Apacheを再起動
# mod_ruby, erb
LoadFile "C:/usr/local/ruby/bin/msvcrt-ruby18.dll"
LoadModule ruby_module modules/mod_ruby.so
<IfModule mod_ruby.c>
RubyAddPath C:/usr/local/Apache2/mod_ruby/lib
RubyRequire apache/ruby-run
RubyRequire apache/erb-run
RubyKanjiCode sjis
#RubySafeLevel 0
<Files *.rb>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
Options ExecCGI
</Files>
<Files *.rhtml>
SetHandler ruby-object
RubyHandler Apache::ERbRun.instance
Options ExecCGI
</Files>
</IfModule>