プロが教える店舗&オフィスのセキュリティ対策術

 以前「自宅のWindows機をサーバー代わりにしてCGIを動かす方法(No.65520参照)」を教えてもらい、Perlで書いたCGIのテストなどに使用しています。

 今度はCで作ったexeファイルをCGIとして実行しようとしたのですが、アドレスバーからそのファイルを指定すると、ダウンロードしようとしてしまいます。
(当たり前といえば当たり前なのですが・・・)

 ムダと思いつつ、拡張子をCGIにしてみたりしたのですが、やっぱりダメでした。

 AnHTTPdの設定だとは思うのですが、どこをいじればよいのか分かりません。
 どのようにすれば動くのか教えてください。

A 回答 (4件)

AnHTTPd って「最新版(1.32fかな?)」ですか?



最新版だったらはじめから、「何も設定せずに」、「バイナリファイル」および「Perlスクリプト」やをCGIとして動かすことが出来るようになっています。
実行ファイルは、拡張子を.cgiと変えて動かします。
(逆に勝手に設定を変えてると、動かなくなっていることがありえます)

ひとつだけ気をつけるとすれば、ドキュメントルートの設定は2つありますが、
これは両方とも「自分のローカルのWEBサイト運営ディレクトリ」にせっていしておきましょう。
CGIはそのディレクトリ以下の全てのディレクトリで動きます。
(でもPerlの動作チェックに使っているというわけだから、これはしているはずですね)

私は普段は、AnHTTPdで、C/C++のCGI動かしているので、ルートディレクトリの設定だけで、間違いなく動くことは保証します。

=======================================
追伸:
.exeの拡張子の形式でそのまま動かしたければ、
一般タブの .exe -- self-- のところの 「ex」形式で動かすにチェックを入れます。それだけです。

あと、言うまでもないですが、CGI自体が間違っていたらお手上げです。
    • good
    • 0
この回答へのお礼

.exeの「EXE形式の実行」にチェックを入れたら、~.exeのまま動くようになりました!
もしやと思い、.pl,.cgiの同じところにもチェックを入れたところ、名前を~.cgiにリネームしたものも動くようになりました。
どうもありがとうございました。
(私がダウンロードしたバージョンは1.33dでしたが、デフォルトの設定ではやはり動きませんでした)

お礼日時:2001/04/23 15:02

オプション設定のダイアログの二番目のタブ「エイリアス」のところで、


そのCGIプログラムが置いてあるパスが、実行パスとして定義されていますか?
    • good
    • 0
この回答へのお礼

確認したところ、/cgi-binと/scriptsのみが実行パスの設定になっていました。
私が~.exeファイルを置いた場所は、public_htmlの中でしたが、No.3のkokucho81さんの回答で、解決することが出来ました。
ご回答ありがとうございました。

お礼日時:2001/04/23 15:06

Cで作ったプログラムを呼ぶファイルを作成し、そのファイル名を


~.CGIとして呼んでみてはどうですか?
UNIXの場合はそのCGIファイルに実行許可を与えますが、Windowsの場合は
必要ないかな?
Windowsでの経験がないので自信がありませんが。

この回答への補足

質問にも書きましたが、ファイル名を~.cgiとしても、結局ダウンロードを始めようとしました。

補足日時:2001/04/23 14:48
    • good
    • 0

CGI実行パス。


拡張子ごとの実行方法。
CGIファイルのアクセス許可。
CGI実行許可。

このあたりを確認してみては?

この回答への補足

私もその辺りがキーだと思い、いろいろいじったのですが、結局ダメでした。
どのような設定がよいのでしょうか・・?

補足日時:2001/04/23 14:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!