AN HTTPDで Ruby/eRuby を動かす

更新日:2002.12.30

 Ruby/eRubyをインストールし、AN HTTPD上で簡単なスクリプトを動かすまでを説明します。2001.7.28 全面書き替えました
  1. ダウンロード
     Windows用 eRubyには、mswin版、Cygwin版など4種類のバイナリがある。どのビルドを使うかは、以下の説明などを参考にしてください。
      ・Microsoft Windows版のビルド環境による違い
      ・うささんの Ruby-mswin32 のページ

     私は最初、mswin版を試したのですが 改行問題 に遭遇し、Cygwin版に変更したら解決した。どうも Cygwin版を使うのが無難なようである。以下では Cygwin版について説明する。

    以下の(1)〜(3)のバイナリをダウンロードする。
    (1) Ruby for Cygwin の最新版
     http://www.ruby-lang.org/~eban/ruby/binaries/cygwin/
     2002/12下旬現在、ruby-1.6.8-i386-cygwin.tar.gz が最新安定版である(1.6系)。
     2003/12下旬現在、ruby-1.8.1-i386-cygwin.tar.gz が最新安定版である(1.8系)。
     ruby-1.x.x-yyyymmdd-i386-cygwin.tar.gz はさらに新しいが開発版である。

    (2)eRuby for Cygwin の最新版
     http://ftp.ruby-lang.org/pub/ruby/binaries/cygwin/1.6/ext/?N=A
     2003/2下旬現在、eruby-1.0.3-i386-cygwin.tar.gz が最新版である(1.6系)。
     1.8系は こちらの eruby-1.0.5-i386-cygwin-1.8.tar.gz を。

    (3)Cygwin DLL の最新リリース
     以下のいずれか一ヶ所からダウンロードすればよい。
     ftp://ftp.jaist.ac.jp/pub/cygwin/release/cygwin/
     ftp://ftp.uni-erlangen.de/pub/pc/gnuwin32/cygwin/mirrors/cygnus/release/cygwin/
     http://www.ruby-lang.org/~eban/ruby/binaries/cygwin/(古い)
     2004/11下旬現在、cygwin-1.5.12-1.tar.bz2 が最新版である。

    (注1) 上記以外からの入手も可能であるが、eRuby のバージョン 0.1.3 以前では動作しないのでバージョン 0.9.x 以降が必須である。
    (注2) LHUT32 など tar.gz, tar.bz2 が解凍できる解凍ツールが必要である。
    (注3) mswin32版はバージョン 0.9.6 で改行問題が解消され、エラーはなくなった。
      Ruby/eRuby-mswin32は以下から入手できる。
       http://www.garbagecollect.jp/ruby/mswin32/ja/download/release.html 2002/12下旬現在、ruby-1.6.8-i586-mswin32.zip(1.6系)、2003/12下旬現在、ruby-1.8.1-i386-mswin32.zip(1.8系)
       http://www.garbagecollect.jp/ruby/mswin32/ja/download/ext.html 2003/2上旬現在、eruby-1.0.3-i586-mswin32-1.6.zip(1.6系)、eruby-1.0.5-i386-mswin32-1.8.zip(1.8系)、


  2. インストール
     上でダウンロードした(1)と(2)を同じフォルダにディレクトリ付で解凍する。解凍先を C:\ にすると C:\usr\local\bin の下に ruby.exe と eruby.exe が入る(もちろん他にも多数のディレクトリ/ファイルあり)。
     (3)については必要なのは cygwin1.dll のみである。これを C:\usr\local\bin に解凍する。全体を解凍すると C:\usr\bin の下に解凍され、(1),(2)とは同じフォルダにならない(localがない)ので要注意。

    C:\AUTOEXEC.BAT に以下の1行を追加し、ruby.exe/eruby.exeにパスを通す(Win2000では環境変数を変更する)。
     PATH %PATH%;c:\usr\local\bin
    設定を有効にするには、OSを再起動する。もしすぐに使いたいなら、MS-DOSプロンプトから上記のコマンドを実行してもよい。


  3. AN HTTPDのオプション設定
     AN HTTPDのオプション/一般の拡張子、実行プログラムの追加で以下のように Ruby用とeRuby用をそれぞれ入力し、OKする。



  4. 動作確認
    (1)hello.rb のテスト
     以下の3行からなる hello.rb ファイルを作成し、ドキュメントルート下に置く。
    	print "Content-type: text/html\n\n"
    	print "Hello, ruby!\n"
    	exit
    
     ブラウザから http://127.0.0.1/hello.rb にアクセスし、「Hello, ruby!」と表示されれば正常動作している。

    (2)hello.rhtml のテスト
     以下の2行からなる hello.rhtml ファイルを作成し、ドキュメントルート下に置く。
    	<% ERuby.charset = "Shift_JIS" %>
    	<%= "ハロー, eRuby!" %>
    
     ブラウザから http://127.0.0.1/hello.rhtml にアクセスし、「ハロー, eRuby!」と表示されれば正常動作している。日本語を表示するためにはこの例のように <% ERuby.charset = "Shift_JIS" %> 行を付けることが必須である。入れ忘れると
      Content-Type: text/html; charset=iso-8859-1
    となって日本語がとんでもない文字化けをする。

    (注)UNIX向けの eRuby の解説には、<% ERuby.charset = "EUC-JP" %> を入れるように書いてあるが、Shift_JISコードで作成した rhtml ファイルにこれを付けても文字化けする。Windows上では作成したファイルの文字コードに応じて、<% ERuby.charset = "Shift_JIS" %>、<% ERuby.charset = "ISO-2022-JP" %>、<% ERuby.charset = "EUC-JP" %> などを挿入する。


  5. tDiaryをインストールする
     tDiaryというのはツッコミ可能なWeb日記システムということで、ruby で書かれたプログラムを試してみるには面白い素材だと思う。"tDiary"の公式サイトは http://www.tdiary.org/ にある。

    以下の環境で動作確認できたので興味があれば試してみてはどうか。
     Windows98/2000 + AN HTTPD 1.42h + ruby 1.6.8 + tDiary 1.4.4.1

    インストールで特に難しいところはないのでポイントだけ以下にまとめておく。
    ・このページの上記の説明に従って rubyが動く環境を構築しておく。
    ・ダウンロードのページ http://www.tdiary.org/20021112.html から安定版フルセットをダウンロードする。2003.2現在 tdiary-full-1.4.4.1.tar.gz である。
    ・上でダウンロードしたファイルを例えばドキュメントルート(c:\www)の下の tdiary フォルダに解凍する。
    ・日記のデータを保存するフォルダを作成する。セキュリティ上ドキュメントルート(c:\www)下ではない方がいいとのことなので、例えば c:\data\diary を作る。
    ・c:\www\tdiaryにある tdiary.conf.sample をコピーし、ファイル名を tdiary.confに変更する。
    ・tdiary.conf において最低限以下の個所を変更する(この上で作成したフォルダ名に合わせたパスにする)。
     @data_path = 'c:/data/diary'
    とりあえずその他は必要に応じて変更すればよい。日記を公開する前には tdiary.conf の中をもう一度よく読み、適切な設定になっているかどうかを確認することが必要。
    ・AN HTTPDでオプション/一般のデフォルトインデックスリストに「index.html,index.rb」のように「,index.rb」を追加する。
    ・http://127.0.0.1/tdiary/ にアクセスし「更新」「設定」などで書き込みや設定変更をしてみる。

    (注) tDiary 2.0.0 の動作環境(1.8系必須)
     ・ruby-1.8.2-20041031-i386-cygwin.tar.gz (以降)をインストール


  6. 関連情報へのリンク
     オブジェクト指向スクリプト言語 Ruby
     Rubyメーリングリスト(ruby-list)過去メール検索


作成:いと,mailto:gfh05223@nifty.com