Ruby on Apache [2]

前回に引き続いてRubyをApacheで動かしたときの覚書。
環境は

  • Ubuntu7.04jp
  • Ruby1.8.5
  • Apache2.2.3
■mod_rubyで動かそう

※rootで全ての作業を行うこと。
[インストール]

apt-get install libapache2-mod-ruby


[設定ファイル配置]

cp /usr/share/doc/libapache2-mod-ruby/exsamples/httpd.conf-apache2/ /etc/apahce2/mods-available/ruby.conf
cd /etc/apache2/mods-enabled/
ln -s ../mods-available/ruby.conf ruby.conf


[設定ファイル編集]
/etc/apache2/mods-enabled/ruby.confを以下のように編集。

  • "AddType text/html .rbx"を追加する
...
RubyRequire apache/ruby-run
AddType text/html .rbx
...


/etc/apache2/sites-enabled/000-defaultを以下のように編集。

  • ~のOptionsに"ExecCGI"を追加。
...

 #Options Indexes FollowSymlinks MultiViews
 Options Indexes FollowSymlinks MultiViews ExecCGI
 ...

...


[確認]
・以下のようなファイルを/var/www/test.rbxに作成。

#!/usr/bin/ruby

1.upto(5) do
 puts "Hello Word"
end

実行権も忘れずにつけておきましょう。

chmod +x /var/www/test.rbx


・ブラウザで確認。

/etc/init.d/apache2 restart

ブラウザでhttp://localhost/test.rbxにアクセスして"Hello Word"と表示されればOK


■erubyで動かそう

※rootで全ての作業を行うこと。
※上記"mod_rubyで動かそう"を行ってあること。
[インストール]

apt-get install eruby


[設定ファイル編集]
/etc/apache2/mods-enabled/ruby.confを以下のように編集。

  • RubyRequire apache/eruby-runのコメントアウトを外す
  • "AddType text/html .rhtml"を追加
  • ~のコメントアウトを外す
...
RubyRequire apache/eruby-run
AddType text/html .rhtml
...

 SetHandler ruby-object
 RubyHandler Apache::ERubyRun.instance

...


[確認]
・以下のようなファイルを/var/www/test.rhtmlとして作成。

<html>
<body>
<% 1.upto(5) do %>
 <%= "Hello World" %><br>
<% end %>
</body>
</html>

・ブラウザで確認

/etc/init.d/apache2 restart

ブラウザでhttp://localhost/test.rhtmlにアクセスして"Hello World"と表示されればOK


これでRubyをApacheで動かせるようになったはずです。
さてさて次はRubyからDBを扱えるようにせねば。
まだまだ先は長そうです。