「One-Click Ruby Installer」でRubyをインストール
http://rubyforge.org/projects/rubyinstaller/
インストール先はわかりやすいようにXAMPPフォルダ下「C:\xampp\ruby」とした。環境変数の「Path」に「C:\xampp\ruby\bin;」が追加されていることを念のために確認しておく。(自動で追加されるので確認は不要ではあるが…)
コマンドプロンプトで「ruby -v」を実行してバージョン情報を確認する。(Rubyが正常にインストールされているかどうかの確認。)
RubyにRailsとMySQLのライブラリを追加
コマンドプロンプトより、Railsをインストール。
gem install rails続いてMySQL。
gem install mysqlインストール途中に「どれをインストールするの?」的なことを聞かれる。Windowsなので「1」を選択する。 TOP
MySQL関連でいろいろ作業
- 環境変数の「Path」の「C:\xampp\ruby\bin;」前に「C:\xampp\mysql\bin;」を追加。
- 「C:\xampp\mysql\bin」フォルダ内の「libmysql.dll」を「C:\xampp\ruby\bin」フォルダへコピーする。
Railsアプリを置くフォルダ作成
「C:\xampp\rails_apps」を作っておく。後でRailsを使って生成したアプリは全てここへ入れる。
TOPhttpd.confの編集
「C:\xampp\apache\conf」内の「httpd.conf」に以下の設定を追加する。以下「appname」は各それぞれRailsで生成した名称に置き換えてください。
TOP〜 の間に Alias /rails "c:/xampp/rails_apps/appname/public" を追加。 適当な箇所にOptions +ExecCGI +FollowSymLinks AllowOverride all Order allow,deny Allow from all AddHandler cgi-script .cgi
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」フォルダへコピーしてインストールとする。
TOPRubyへ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 .fcgiTOP
.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