Apache2-eRuby の設定

Debian GNU/Linux 4.0 (etch) にて。

  • tasksel の「ウェブサーバ」で入ってる apache2
  • 別に aptitude でいれた Rubyパッケージは 1.8.5
  1. さらに aptitude で mod_rubyパッケージをいれる
    • libapache2-mod-ruby
    1. ruby.load は既にして enabledされてる。
    2. しかし、一旦 a2dismod ruby して無効化する
    3. /usr/share/doc/libapache2-mod-ruby/examples/httpd.conf-apache2 ファイルを /etc/apache2/mods-available/ruby.conf にコピーして改名
    4. ruby.conf ファイル修正
      • ERbパートのコメントアウトを外す
      • .rhtmlファイルのハンドラーを ERbRun で追加(erubyパートの .rhtml設定をコピーしてきて、ERubyRun の所を ERbRun に書き換える)
    5. 改めて a2enmod ruby
    6. /etc/init.d/apache2 force-reload も忘れずに

これで、.rhtml ファイルの eRuby(埋め込みRuby)動作が可能になる。
.rbx のRubyスクリプト動作もわりあてられてるが、ファイル自体の実行許可と、ExecCGI の許可が必要。

特に eruby はいれない。ERb は Ruby 1.8 では Ruby 同梱になってるし。

ハンドラーの意味なんかは「http://arika.org/doc/debuan.mod_ruby.html.ja」を参考に。ちょっと古いけど大枠は変わって無い模様。(ソースの説明は流石にちょっと古くなっています)