※ ChatGPTを利用し、要約された質問です(原文:WinXP+Apache2にerubyを入れました)
WinXP+Apache2にeRubyを入れる方法
このQ&Aのポイント
WinXP+Apache2にeRubyを入れる方法についての質問です。Windows-XP/Pro SP3で、Apache v2.0.55とPHP v5.1.6、MySQL v5.1.36を使用しています。DocumentRootは「H:/Ap2_Ruby/home」で、cgi-binは「H:/Ap2_Ruby/cgi-bin」です。手順としては、ActiveRubyをインストールし、gemをアップデートします。次にerubyとmod_ruby.soをインストールし、httpd.confを編集してApache2を起動します。最後にerubyのテストを行い、正常に表示されることを確認しました。
質問者はネットで情報を探しながら質問文章を記述しましたが、内容に自信がありません。httpd.confの変更箇所についても突っ込んだ指摘を受けたいとしています。
質問者は「ネット迷子」になってしまい、eruby-1.0.5-i386-mswin32-1.8.zipやRubyForApache-1.3.1.exe、mod_ruby.soを見つけるのに苦労しました。Rubyの達人の方々からの指導を求めています。
WinXP+Apache2にerubyを入れました
自身の質問「WinXP+Apache2にeRubyを入れたい」の結果報告と
「httpd.conf」の設定に付いての質問です。
まず、使用環境の詳細から記述します。
Windows-XP/Pro SP3
Apache v2.0.55 (H:\Apache Group\Apache2にインストール)
PHP v5.1.6 (H:\php5.1.6にインストール)
MySQL v5.1.36 (H:\MySQL5にインストール)
DocumentRootは「H:/Ap2_Ruby/home」で
cgi-binは「H:/Ap2_Ruby/cgi-bin」です。
インストールの顛末を記述します。
1.ActiveRubyをインストール
http://www.artonx.org/data/asr/
から
ActiveScriptRuby(1.8.7-p330 --with-winsock2 --enable-tcltk-stub) Microsoft Installer Package (1.8.7.36)
をダウンロード
ActiveRuby.msi
をダブルクリックしインストールを開始
「H:\Ruby」へインストール
PATHを追加「H:\Ruby\bin;」
2.gemをアップデート
コマンドプロンプトから
gem update --system
を実行
3.erubyをインストール
http://www.garbagecollect.jp/ruby/mswin32/ja/download/ext.html
から
eruby-1.0.5-i386-mswin32-1.8.zip
をダウンロード
解凍後フォルダーを全て「H:\Ruby」へコピー
4.mod_ruby.soのインストール
http://rubyforge.org/projects/rubyforapache
から
RubyForApache-1.3.1.exe
をダウンロード
ダブルクリックしインストールを開始
C:\Program Files\RubyForApache\
H:\Apache Group\Apache2\
H:\Ruby\
のフォルダを指定
インストールモジュールの選択で
mod_ruby
のみにチェック
msvcp71.dllがOPENできないエラーが出れば無視して継続
5.httpd.confを編集/Apache2を起動
「The requested operation has failed!」となる
confのmod_ruby.soをコメントアウト
Apache2が起動した
mod_ruby.soがエラーの原因と判断
6.別のmod_ruby.soをインストール
http://www.moriq.com/ruby/win32-apache2-ruby1.8.1-mod_ruby/
から
mod_ruby.so
をダウンロード
modulesに上書きコピー
7.Apache2を起動
Apache2は起動した
8.erubyのテスト
以下の「test.rhtml」を記述
-------------------------------------------------
<% ERuby.charset="Shift-JIS" %>
<html>
<body>
HTML文と混在で、Ruby CGIが使えます。<br>
<font size=6>ここはHTMLで、</font>次の行はRubyです。<br>
<br>
<% print "eRuby TEST<br>" %>
</body>
</html>
-------------------------------------------------
IE8で「http://localhost/test.rhtml」を実行
正常に表示される。
と、言う結末でした。
eruby-1.0.5-i386-mswin32-1.8.zip や
RubyForApache-1.3.1.exe や
http://www.moriq.com/ruby/win32-apache2-ruby1.8.1-mod_ruby/
を見つけるのに、完全に「ネット迷子」に為り往生しました。
前置きが長くなりましたが、ここからが質問です。
ネットで色々探して記述した内容ですが
意味も良く分からず記述していますので
これで良いのかどうか全く分かりません。
思いっきり突っ込みを頂きたいと思います。
httpd.confの変更箇所
-------------------------------------------------
LoadModule ruby_module modules/mod_ruby.so
<IfModule mod_ruby.c>
RubyAddPath H:/Ruby/lib/ruby/site_ruby/1.8/apache
RubyAddPath H:/Ruby/lib/ruby/site_ruby/1.8
RubyAddPath H:/Ruby/bin
RubyRequire apache/ruby-run
RubyRequire apache/eruby-run
RubyRequire auto-reload
<Location /ruby>
Options Indexes FollowSymLinks ExecCGI
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Location>
<Files *.rbx>
Options Indexes FollowSymLinks ExecCGI
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Files>
<Location /eruby>
Options Indexes FollowSymLinks ExecCGI
SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance
</Location>
<Files *.rhtml>
Options Indexes FollowSymLinks ExecCGI
SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance
</Files>
</IfModule>
DocumentRoot "H:/Ap2_Ruby/home"
Options Indexes FollowSymLinks Includes ExecCGI
UserDir "H:/Ap2_Ruby/home"
ScriptAlias /cgi-bin/ "H:/Ap2_Ruby/cgi-bin/"
<Directory "H:/Ap2_Ruby/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
AddHandler cgi-script .cgi .rb .rbx .rhtml
-------------------------------------------------
以上
Rubyの達人様方、よろしくご教授ください。
お礼
さっそくの回答有り難うございます。 ご紹介いただいた本をブックセンターで探したのですが見つかりませんでした。 他の書籍を見てもrailsの話ばかりで参考になりませんでした。 検索コーナーでapacheの本を探したのですが欠品になっていて実物にはお目にかかれませんでした。 また他のブックセンターを覗いてみます。