「One-Click Ruby Installer」でRubyをインストール

 http://rubyforge.org/projects/rubyinstaller/

 インストール先はわかりやすいようにXAMPPフォルダ下「C:\xampp\ruby」とした。環境変数の「Path」に「C:\xampp\ruby\bin;」が追加されていることを念のために確認しておく。(自動で追加されるので確認は不要ではあるが…) コマンドプロンプトで「ruby -v」を実行してバージョン情報を確認する。(Rubyが正常にインストールされているかどうかの確認。)

TOP

RubyにRailsとMySQLのライブラリを追加

 コマンドプロンプトより、Railsをインストール。

gem install rails
 続いてMySQL。
gem install mysql
 インストール途中に「どれをインストールするの?」的なことを聞かれる。Windowsなので「1」を選択する。

TOP

MySQL関連でいろいろ作業

 DLLファイルのコピーを行っておかないとrailsコマンド、rakeコマンド実行時、およびRailsアプリからMySQLのDBへアクセスする度に「LIBMYSQL.dllが見つからなかったため、このアプリケーションを…」ってなエラーが出る。

TOP

Railsアプリを置くフォルダ作成

 「C:\xampp\rails_apps」を作っておく。後でRailsを使って生成したアプリは全てここへ入れる。

TOP

httpd.confの編集

 「C:\xampp\apache\conf」内の「httpd.conf」に以下の設定を追加する。以下「appname」は各それぞれRailsで生成した名称に置き換えてください。


の間に
    Alias /rails "c:/xampp/rails_apps/appname/public"
を追加。


適当な箇所に

    Options +ExecCGI +FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
    AddHandler cgi-script .cgi

TOP

Railsアプリをコピー

 「C:\xampp\rails_apps」内へアプリをコピーする。(railsコマンドで生成される一切がっさいね。)

TOP

.htaccessを編集

 「C:\xampp\rails_apps\appname\public\」内の「.htaccess」の下記の箇所を編集。

以下をコメントアウト
#AddHandler fastcgi-script .fcgi
#AddHandler cgi-script .cgi
#Options +FollowSymLinks +ExecCGI


以下を追加。
RewriteBase /appname/

TOP

FastCGIのDLLファイルをインストール

 http://www.fastcgi.com/ から「mod_fastcgi-2.4.6-AP22.dll」をダウンロードしてくる。DL先のURIは現在は http://www.fastcgi.com/dist/ となっている。 ちなみに「mod_fastcgi-2.4.6-AP22.dll」の「2.4.6」はFastCGIのバージョン、「AP22」はApacheのバージョン「2.2系」の意らしいのでXAMPPが同梱しているApacheのバージョンが変更された場合は対応しているDLLを使うこと。 ダウンロードしたら「C:\xampp\apache\modules」フォルダへコピーしてインストールとする。

TOP

RubyへFastCGIライブラリの追加

gem install fcgi
 失敗する場合、若しくはGemsをインストールしていない場合は下記サイトから直接ruby-fcgiを入手してインストールする。http://sugi.nemui.org/prod/ruby-fcgi/

TOP

httpd.confをFastCGI実行用に編集

 「C:\xampp\apache\conf」内の「httpd.conf」を編集。

以下を適切な箇所に追加。(だいたいまとまって書かれてるので、その辺りに)
LoadModule fastcgi_module modules/mod_fastcgi-2.4.6-AP22.dll


AddHandler cgi-script .cgi
の直下に追加。
AddHandler fastcgi-script .fcgi

TOP

.htaccessをFastCGI実行用に編集

 「C:\xampp\rails_apps\appname\public\」内の「.htaccess」を編集。

RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
を以下のように変更。
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

TOP

dispatch.fcgiを編集

#!c:/ruby/bin/ruby
を以下のように修正。
#!ruby
 以上でFastCGIで動く。FastCGIが起動しているかどうかの確認は、ブラウザからRailsのアプリケーションを実行後に「Windows タスクマネージャ」の「プロセス」に「ruby.exe」があるかどうかを確認することで判断が可能。

 FastCGIが動いていない場合はRailsアプリ実行時だけ「ruby.exe」がプロセスに出現し、アプリ実行後はプロセスから消える。

 FastCGIがRailsアプリ実行時に動いた場合は「ruby.exe」が常駐する形になるのでプロセス内から消えないはず。

TOP