- 締切済み
WinXP+Apache2にeRubyを入れたい。
Ruby初心者です。 「WinXp+Apache2+PHP5+MySQL5」の環境を使用しています。 今度Rubyも入れようと考えています。 PHPのようにRubyを動かしたくてネットを検索すると「eRuby」を使い 「mod_ruby.so」をApacheのモジュールとして組込む必要が有る と書かれています。が・・・ネットに記載のある 「http://rtokiwa.s55.xrea.com/wiki/index.php?mod_ruby_win32bin」や 「http://www.modruby.net」が接続できません。 mod_rubyのWindowsバイナリーは何処で入手出来るのでしょうか? 同様にeRubyのWindowsバイナリーは何処で入手出来るのでしょうか? ネットの記載も古い物が多く、最近は「mod_ruby.so」や「eRuby」を使わなくても 「WinXp+Apache2」環境でPHPの様に使用出来る環境設定が有るのでしょうか? 初心者なもので自分の環境にRubyを構築できず困っています。 どなたか、ご教授ください。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10359)
まず、eRubyはプログラムでなく仕様です。eRubyを実現するプログラムとしては、Cで書かれたerubyとRubyで書かれたERBがあります。 WindowsにRubyをインストールすると、ERB.batも自動的にインストールされますので、そのままERBを使うのが楽です。Windows用のerubyが配布されているのどうか知りません。 PHPもApacheのモジュールとして動かす方法とCGIとして動かす方法があるように、Rubyも同じです。 Windows用mod_rubyが入手できないのであれば、ERB.BATをCGIとして動かすのがいいと思います。 たとえば、Apache設定で、 Options +ExecCGI AddHandler cgi-script .rhtml して、 foo.rhtmlの1行目に下記のようにerb.batのフルパスを実際のインストール先に合わせて書く。 #!/ruby/bin/erb.bat <html><head><title>TEST</title> </head><body> PAI = <% puts Math::PI %> </body></html> WindowsのApacheは触ったことないので、違ってるかも。
補足
notnotさま、深夜にも関わらずご回答有り難うございます。 私の質問が言葉足らずだったことをお詫びします。 現在使用中の環境はPHPをターゲット・サーバーにアップする前に ローカルのWindows環境でテストする目的で設定しています。 PHPもSSIで使用しています。CGIでの使用はほとんど有りません。 いま有るPHPのシステムを勉強のためRubyで試行錯誤やってみよう。 と言うのが発端で以下の様な簡単なCGIは動かす事は出来ました。 ------------------------------------------ #!H:/Ruby/bin/ruby -Ks require "cgi" cgi = CGI.new print cgi.header("type" => "text/plain") print "CGIのテストです。","\n" ------------------------------------------ でもSSIで使えないと自分的には意味が無いのです。 「CGI構成に変えれば?」と言う話も出るかとは思いますが SSIで遣って見たいのです。 教えていただいたerb.batを使う設定を追加しサンプルをhtmlから <A href="../cgi-bin/eruby/test.rhtml">Test</A> で呼び出すと [Tue Jan 08 11:24:12 2013] [error] [client 127.0.0.1] Premature end of script headers: test2.rhtml, referer: http://localhost/index2.html [Tue Jan 08 11:24:12 2013] [error] [client 127.0.0.1] '"H:\\Ruby\\bin\\ebr.bat"' is not recognized as an internal or external command,\r, referer: http://localhost/index2.html [Tue Jan 08 11:24:12 2013] [error] [client 127.0.0.1] operable program or batch file.\r, referer: http://localhost/index2.html と、エラーになりebr.batの呼び出しに失敗します。 未熟者ゆえの間が抜けた事を遣っているかも知れませんが それが分らないのが初心者とお笑い下さい。 また、情報でも有りましたらご教授ください。