2009年01月20日

RaisをWindows2003Serverで稼働させる

RaisをWindows2003Serverで稼働させる

●作業環境
Windows2003Server
One-Click Ruby Installer 1.8.6-27_rc2
(ruby186-27_rc2.exe)
FastCGI Extension for Internet Information Services 6.0(6.1.36.1)
(fcgisetup32.msi)
ISAPI_Rewrite 3 Lite
(ISAPI_Rewrite3_0058_Lite.msi)
Rails 2.2.2
Gem 1.3.1
データベース Sqlserver2005 設定方法はこっち

●作業
○One-Click Rubyをインストール
○Railsをインストール
gem install rails

○FastCGI Extension for Internet Information Services 6.0をインストール

○「C:\WINDOWS\system32\inetsrv\fcgiext.ini」ファイルが作成されるので設定を追加する

[Types]
fcgi=Ruby

[Ruby]
ExePath=C:\ruby\bin\ruby.exe
Arguments=C:\seisankanri\dispatch.fcgi
IgnoreDirectories=0
IgnoreExistingFiles=1
QueueLength=1000
MaxInstances=4
InstanceTimeout=30
InstanceMaxRequests=200

○ISAPI_Rewrite3をインストール

○インストール後、IISマネージャのWebサイトのプロパティに「ISAPI_Rewrite」のタブが増える。EDITボタンから設定を追加する

RepeatLimit 0
RewriteRule ^(/[^.]*)$ /dispatch.fcgi/$1 [L]
RewriteRule ^/(.*)$ /dispatch.fcgi/$1
よく分からん…

この例では
http://localhost/「Railsアプリケーション」のようにドキュメントルートに配置する場合


○IISの設定

IISマネージャ

1. Webサイト→新規作成
2. Webサイトの説明(seikankanriと入力)
3. IP アドレスとポートの設定
(ポートが重複しないように3000を入力)
4. Webサイトホームディレクトリ
(C:\seisankanriaaa\public)
5. Webサイトのアクセス許可
「読み取り」「ISAPIアプリケーションやCGIなどを実行する」にチェック

1. Webサイトのプロパティ→ホームディレクトリ→構成をクリック
2. マッピング→追加をクリック
3. 実行可能ファイルに「C:\WINDOWS\system32\inetsrv\fcgiext.dll」拡張子に.fcgiを入力


○Railsアプリの各フォルダにセキュリティを設定「NETWORK SERVICE」
「IUSR_*」(インターネットゲストアカウント)に対して下記の設定

「public」に読み取りと実行・フォルダの内容の一覧表示・読み取りを許可
「log」と「tmp」に変更と書き込みを許可

○ISAPI_Rewrite3のセキュリティを設定「NETWORK SERVICE」
「IUSR_*」(インターネットゲストアカウント)に対して下記の設定

「C:\Program Files\Helicon\ISAPI_Rewrite3」フォルダの「Rewrite.log」と「error.logに変更と書き込みを許可

○IISの再起動
iisreset

作成したアプリにアクセス(http://localhost:3000/users)


以上

結構はまったりしたけど多分これで出来るはず。上手くいかない場合は何度も何度も設定を見直してiisを再起動する。ISAPI_Rewrite3の設定とログも書き込み許可はよく分からないけど、とりあえずこれで動いてる。

今回はポートを3000にしたけども、通常の80ポートもRewrite3の設定やRailsのルーティングの設定で出来ると思う。ここを参考

ginagina7 at 17:02コメント(0)トラックバック(0)  この記事をクリップ!

トラックバックURL

コメントする

名前
URL
 
  絵文字