« 水郷祭2日目 | トップページ | mod_rubyとWEBrickの比較 »

2007/08/07

mod_rubyのインストール

ちょっと時間ができてきたので、早速Rubyを再開します。
Windowsでの簡易環境としてWEBrickを使用してきましたが、自宅のサーバーはLinuxで既にApacheが動作しているのでWEBrickの使用はちょっと避けたいところ。以前Ruby on Railsを試した時にFastCGIを設置はしたものの、RoRではきちんとRubyが動作するのに任意のRubyスクリプトでは全然まともに動いてくれない。

ということで、代替案を探していたところmod_rubyが見つかったので早速試してみる。
下記サイトからソースをダウンロードする。

modruby.net

下記コマンドでインストール。

$ tar zxvf mod_ruby-1.2.6.tar.gz
$ cd mod_ruby-1.2.6
$ ./configure.rb --enable-eruby --with-apxs=/usr/sbin/apxs
$ make
$ sudo make install

Apacheの設定を行うため、以下のコマンドでファイルを作成。

$ sudo vi /etc/http/conf.d/ruby.conf

ファイルの内容は下記。

LoadModule ruby_module modules/mod_ruby.so
AddHandler ruby-script .rb
 
<IFModule mod_ruby.c>
  RubyRequire apache/ruby-run
  <Files *.rb>
    SetHandler ruby-object
    RubyHandler Apache::RubyRun.instance
  </Files>
</IFModule>

Apacheの再起動。

$ sudo /sbin/service httpd restart

ところが、ここできちんと動作しない。で、色々と調べてみると実行権限が付与されていなかったことが判明。Windowsに慣れすぎるとだんだん常識を忘れてしまうものですね。

$ chmod a+x sample.rb

としてみるときちんと動作させることができました。
後、注意する事はWEBrickでは

print "Content-type: text/html¥n¥n"

と明示的に出力形式を指定しなくてはならなかったのですが、mod_rubyでは必要無いみたい。

概ね動作は良好なのですが、自作のWebアプリケーションを動かしていると初めは調子良く動くのにしばらくしたらきちんとHTMLが表示されないでHTMLのソースが表示されるようになってしまいます。Webサーバーを再起動するとまたきちんと表示されるところを見ると、多分余計なことろでテキストを出力しているせいなのかと思われるので、これからデバッグをしてみよう。

|

« 水郷祭2日目 | トップページ | mod_rubyとWEBrickの比較 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/79953/16045053

この記事へのトラックバック一覧です: mod_rubyのインストール:

« 水郷祭2日目 | トップページ | mod_rubyとWEBrickの比較 »