soraなりの日々 - fc2 -

こころにひっかかったもの

[rails, iis] iis と rails でステキなハーモニーを奏でるための 10 step

業務で調査する必要があったんで、
windows 2003 serverrails アプリを作って
server 上の iis と連携してみた。

rails なんだから、 linux サーバー引っ張ってきて
 passenger 突っ込んで公開でよくね?」

なんだけどね。

ま、そうではない状況もありますわな。

しかし、あれだ。前の業務以来だから
ほんと久しぶりに iis 触ったな。。。

このエントリーをはてなブックマークに追加
やった流れは、ほぼ書籍の「Railsデプロイ」のまんま。

いやー、4章からが本領を発揮してて良い本です。ほんと。
助かっております。
つか、capistrano 最強ですね!あれ、めちゃめちゃ便利っす!!

では、早速。

1.ruby の one-click-installer をインストール
 http://rubyforge.org/projects/rubyinstaller/
 からインストーラを落としてきて、インストール。
 因みに、rubygems のチェックつけてココで入れた。
 windows への ruby 環境はこれで終了。
 いやー、便利便利。
 作者さんに感謝!

2.rails のインストール
 C:\> gem install rails --include-dependencies --no-rdoc --no-ri
 まー、これはね。
 いつも通り。
 ドキュメント類はいらない、っと。

win2003server01

3.Subversion のインストール
 http://subversion.tigris.org/getting.html#windows
 あると便利だからね。

4.git のインストール
 http://code.google.com/p/msysgit/
 git はもう無いと暮らしていけませんからね!
 windows だろーと。
 svn との連携のやつも入ってるステキなパッケージですよ。コレ!
 マジ、windows の rails ユーザ必須だと思いますです。はい。
 (オレが知らなかっただけか・・・orz)

5.postgresql のインストール
 http://www.postgresql.jp/
 db は postgresql を使うとです。

6.mongrel のインストール
 c:\> gem install mongrel --include-dependencies --no-rdoc --no-ri
 railsmongrel で動かしてみる。
 で、やっぱりドキュメント類はいらない、っと。

 c:\> gem install mongrel_service --include-dependencies --no-rdoc --no-ri
 mongrel で起動したアプリを windows のサービスに登録して
 幸せになるために入れる。

7.postgres-pr のインストール
 c:\> gem install postgres-pr
 db は postgresql だから。

8.テストアプリを適当にサクっと作成
 c:\>rails -d postgresql mytestapp
 c:\>ruby script\generate scaffold Book title:string
 c:\>rake db:migrate
 まー、ここらはサクっとね。
 注意するとしたら、c ドライブ直下などで
 空白はない方がトラブルなくて良いと思われる。

 c:\>mongrel_rails start -e production -p 4001
 でアプリを起動してみる。

win2003server02

9.テストアプリを windows サービスとしてインストールする
 c:\mongrel_rails service::install -N MyTestApp_4001 -p 4001 -e production
 いやー、めちゃめちゃ楽ですわー。
 →因みに、サービスを削除するコマンドはコチラ。
  c:\>mongrel_rails service::remove -N MyTestApp_4001

win2003server03

10.isapi_rewrite のインストール
 http://www.isapirewrite.com/
 今回の本題。
 iis と rails をステキに連携してくれるモジュール。
 apache でいう mod_rewrite みたいな動作をしてくれます。

 ただし、$99 する。
 無償版もあるんだけど、今回やりたかったことが
 ほんとはできるかも知れないけど、できんかったんよね。
 
 で、今回やりたかったことってのは、既に iis 上には asp の
 アプリが動いてて、url に "/mytestapp" の文字列があれば、
 8. で作成したrails アプリを動かすというもの。

 isapi_rewrite のインストーラをダウンロードした後に
 インストールして、isapi_rewrite の設定をする。

 C:\Program Files\Helicon\ISAPI_Rewrite3\httpd.conf

 に

 RewriteProxy /mytestapp(.*) http\://localhost\:4001$1

 て書いたら、期待通りに動いてくれましたとさ。

win2003server04
 asp 側のトップ画面。

win2003server05
 今回作った rails のテストアプリ。
 ちゃんと "/mytestapp" がついてると飛ばされる。


まー、需要はそんな無いだろけどね。。。





関連記事:
 [asp.net]リリースビルドの自動化
 http://sora2hs.blog70.fc2.com/blog-entry-295.html
このエントリーをはてなブックマークに追加

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://sora2hs.blog70.fc2.com/tb.php/456-912c2c9f
この記事にトラックバックする(FC2ブログユーザー)