OSをwindows XP pro に替えて
webアプリを勉強しています
簡単なwebアプリの公開は成功しましたが
いままで動いていたCGIが動かなくなりました
ActivePealをインストールして
フォルタオプションで関連つけています
まだやる事はあるでしょうか
追加:
そのあといろいろと試行錯誤してみました
フリーのhtppdサーバーソフトを立ち上げると
CGIが動きますが
webアプリを動かすために設定をすると
内部のhtppdサーバーと 共存できないようです??
webアプリとCGIを両方使いたいのですが
可能でしょうか
その方法を教えて下さい
一般的なWebサーバ(IISやフリーのhttpd)は特に設定をしなければ、
ポート番号:80を利用すると思います。
一番簡単な方法は、IISかhttpdの使用するポート番号の設定を変更して
別の番号を使用することです。
例えば、IISの設定を変えてポート番号に100000を使用することにしたとすると
http://サイトのURL:10000/ディレクトリ/xxxxx.aspx
のような形でアクセスすればWebアプリにアクセスでき、cgiの方は今まで通りの
http://サイトのURL/ディレクトリ/xxxxxx.cgi
のようなURLでアクセスできます。
URLをポート番号付きにしたくない場合は、
1.IISとhttpdを連携させ、例えばIISに来たリクエストのうち拡張子がcgiの
ものだけhttpdに処理をスルーするように設定
2.cgiをIISで処理させるように設定する
という方法が思い浮かびます。
1.は実現可能なことなのかどうかわかりません。
サーバサイドのJavaなんかでhtmlファイルはApache(Webサーバ)が処理し、
jspファイルはTomcat(Webサーバ/アプリケーションサーバ)が処理するというような連携が可能
ですが、
IISとhttpdでそういうことが可能なのかどうかは知りません。
(できないような気がします・・・)
2.私はやったことはありませんが、Webで調べるとやり方が載っているので、
こちらはおそらく可能だと思います。
例えば、↓とか。
http://www.usa.ne.jp/iis_cgi_in.htm
IISでActive Perl を使用する手順の確認ができましたのでアップします。
Perl インストール後
コントロールパネル
管理ツール
インターネットインフォメーションサービス
既定の Web サイト /右クリック /プロパティ
ホームディレクトリ /構成
マッピング /追加
D:\Perl\bin\perlis.dll
拡張子 .cgi を指定
適用/ok
テスト用に
C:\Inetpub\wwwroot下にperlフォルダを作成し
monty.cgi ファイルをおく。
IE のアドレスバーに
http://localhost/perl/monty.cgi
で確認しました。
もちろんASP.NETアプリケーションも正常に動いています。
ポートを分ける方法ですが、わたしの場合
ルーター使用してあり、バーチャルサーバーの設定をしていますが
ポートをひとつしか設定できません
シーさんの方法を早速テストしてみましたがあっけなく成功しました
この設定をしないととCGIソースがパスワードごと丸見えになって
しまうのですね!!?・焦りました(実害もでました;)。
これでもまだ危険ならばパスワードを組み込むCGIは断念します
ありがとうございました