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のルーティングの設定で出来ると思う。ここを参考
●作業環境
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
よく分からん…
この例では
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のルーティングの設定で出来ると思う。ここを参考

