mods-available/ruby.conf

Debian GNU/Linux で、Apache2 の Ruby設定。何かパッケージ入れれば、「/etc/apache2/mods-available/ruby.load」は入ってくるのだけど、「/etc/apache2/mods-available/ruby.conf」あたりも作ってやらないと実際には動かない。今パッケージ的にはどうなってるんだろう。
取り敢えず手元ではこんな風にしてみた。

<IfModule mod_ruby.c>
  # for Apache::RubyRun
  RubyRequire apache/ruby-run

  # exec *.rbx as ruby scripts.
  <Files *.rbx>
    SetHandler ruby-object
    RubyHandler Apache::RubyRun.instance
  </Files>

  # for Apache::ERbRun
  RubyRequire apache/erb-run

  # handle *.rhtml as eruby files.
  <Files *.rhtml>
    SetHandler ruby-object
    RubyHandler Apache::ERbRun.instance
  </Files>
</IfModule>

そして「sudo /usr/sbin/a2enmod ruby」、その前に a2dismod してやらないといけないかも知れない。

「.rbx」ファイルは Rubyファイルとして実行する、出力命令を忘れない。手元環境では、sites-available/defaultの設定があるので、cgi-bin/ ディレクトリ下のみ有効になる。そしてファイル自体に実行許可必要。
一方「.rhtml」ファイルはユーザディレクトリでも動く、実行許可無し可、埋込みRuby(eRuby)として。
その辺はアパッチの設定次第でもある。