- PR -

IIS6.0でRuby CGIを使いたいのですが

1
投稿者投稿内容
みけ
会議室デビュー日: 2002/07/25
投稿数: 14
投稿日時: 2004-08-26 12:11
お世話になっております。

早速なのですが質問です。


テスト環境のIIS5.1(WindowsXP)で動作していたcgi が IIS6.0 で
動作せず、困っております。

具体的には、
Windows2003 Server + IIS 6.0 の環境で Ruby で作成したCGIプログラムが
動作しません。

IIS6.0をインストール後、
すべての不明なCGIを許可、すべての不明なISAPI拡張を許可にチェックをいれ

エイリアス cgi
パス c:\interpub\cgi
ISAPIアプリケーションや、CGIなどを実行するのみにチェック
という設定で仮想ディレクトリを作成

プロパティーで
実行アクセス許可 スクリプトのみ
拡張子の関連付け cgi - "C:\Interpub\bin\ruby.exe" -s %s %s

その後、ローカルからページにアクセスすると、
サーバーが見つかりませんというエラーが表示されてしまいます。

Ruby のインスタンスは起動されていることは確認しました。

また、c:\interpub 以下のアクセス権を everyone フルアクセス
にしたりしましたが、現象は変わらないようです。

原因に心当たりのある方、調査方法などありましたらご教授
いただけないでしょうか。よろしくお願いいたします。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-26 20:29
こんばんわ.
引用:

みけさんの書き込み (2004-08-26 12:11) より:

その後、ローカルからページにアクセスすると、
サーバーが見つかりませんというエラーが表示されてしまいます。


初歩的な話ですが,IIS の HTTP Service は起動していますか?
普通,起動していて root に default document が無くても,
「工事中」らしき表示くらいはされたと思います.
手元に Windows 環境はありませんが,
先日 Windows Server 2003 を動かした際はそうでした.

また,「ローカルから」どのように接続されたのでしょう?
ip address?computer name?
network interface は link した状態でしょうか?

みけ
会議室デビュー日: 2002/07/25
投稿数: 14
投稿日時: 2004-08-27 14:33
ご返信ありがとうございます。

はい、サービスは起動しています。
また、トップページを開くと工事中のページが表示されることも
確認いたしました。

アクセス方法は
http://localhost/ <= トップページ
http://localhost/cgi/test.cgi <= cgiとしてアクセス
です。

あと、Ruby は msvc7.1 でビルドしたものを使用していますが、関係あるでしょうか?
(msvc71.dll などは、ruby.exe と同一ディレクトリにおいてあります)
y
会議室デビュー日: 2003/12/03
投稿数: 3
投稿日時: 2004-08-27 15:10
IIS5.1ではうごいているのですね。

IIS5.0分離モードに変更するとどうなりますか?
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-08-27 15:36
こんにちわ.
引用:

みけさんの書き込み (2004-08-27 14:33) より:

アクセス方法は
http://localhost/ <= トップページ
http://localhost/cgi/test.cgi <= cgiとしてアクセス
です。


cgi script の設置場所を c:\interpub としたら access 出来たりするでしょうか?
ちゃんと動かないまでも,server error であれば「script の内容の問題」でしょう.
「サーバが見つからない」のと「ページが見つからない」では事情が違う気がします.
「ページが見つからない」のであれば設置場所が違うのでしょうけど...
みけ
会議室デビュー日: 2002/07/25
投稿数: 14
投稿日時: 2004-08-31 11:04
返信遅れてしまい申し訳ありません。

IIS5.0分離モードにしても現象は変わらないようです。

また、以下のような bat ファイルを作成し、動かしてみたところ
"テスト" とWebブラウザ上に表示することが出来ました。

@echo off
echo Content-Type: text/html;
echo.
echo "<HTML><BODY>テスト</BODY></HTML>"

ruby インスタンスはパラメータも含めて正しく起動されていることは確認
出来ましたので(パラメータをファイルに書き出すようにハックしたrubyを
使って確認しました)その後のやりとりの問題だと思うのですが・・・

CGIアプリケーションとWebサーバとのやりとりを詳細にトレースできるような
ツールとかないでしょうか?
コンソール出力をみてみればなにかわかるかもしれませんので・・・

申し訳ありませんがご助力頂ければ幸いです。

1

スキルアップ/キャリアアップ(JOB@IT)