自分用のメモ。
cf. Windows + Apache + FastCGI – h4yの日記
cf. WindowsでRuby on Rails その4 Ruby on RailsをFastCGIで動かす – 色々な事を忘れないよう忘備録と日記
FastCGIのダウンロードは公式サイトのダウンロードコーナーから。Apache のバージョンが 2.0.63 なので mod_fastcgi-2.4.2-AP20.dll をダウンロードした。これを mod_fastcgi.dll にリネームして,Apache の modules ディレクトリにコピー。
つぎは Ruby 側の準備。gem で fcgi をインストールしようとしたけど ruby のヘッダファイルがないって怒られる:
^o^ >gem install fcgi --remote Building native extensions. This could take a while... ERROR: Error installing fcgi: ERROR: Failed to build gem native extension. C:/usr/ruby/bin/ruby.exe extconf.rb install fcgi --remote can't find header files for ruby. Gem files will remain installed in C:/usr/ruby/lib/ruby/gems/1.8/gems/fcgi-0.8.7 for inspection. Results logged to C:/usr/ruby/lib/ruby/gems/1.8/gems/fcgi-0.8.7/ext/fcgi/gem_mak e.out
ググってみると,RubyForApache というのが見つかったので version 1.3.1 をダウンロード。なんか2005年って古いんだけど。
ファイルはインストーラなのでダブルクリックしてインストール。途中でインストールするコンポーネントを聞かれるので,mod_fastcgi 以外のコンポーネントのチェックをはずす。mod_rubyとmysql.soは今回はパス。
あと C:\Windows\System32\msvcp71.dll に書き込めないというメッセージが出るけど,これは無視して進める。
最後に Apache の設定。httpd.conf につぎの行を追加する。
LoadModule fastcgi_module modules/mod_fastcgi.dll AddHandler fastcgi-script .fcgi
Apache を再起動して終了。
テスト用のスクリプトはこんなの。
#! C:/usr/ruby/bin/ruby.exe require 'fcgi' FCGI.each_cgi do |cgi| print "Content-Type: text/plain\n\n" print "Hello world. This is FastCGI.\n" end
それと ExcecCGI を有効にしておく必要があるみたいなので .htaccess で設定する。
Options +ExecCGI