プロが教えるわが家の防犯対策術!

apache2.0.63をインストールし設定してもhttp://localhost/cgi-bin/
にアクセスするとforbidden、localhost/cgi-bin/index.cgiに
アクセスするとInternet Sever Errorと出てしまいます。
環境はwindowsvistaでcgi-binフォルダのパーミッションもプロパティ
でアクセス許可をフルコントロールにしたので問題ないと思います。
httpd.confはhttp://win.kororo.jp/archi/www/apache_fast.php
上から「CGI・SSIを使えるようにする」の
「AddHandler cgi-script .cgi //先頭の#を取り除く」までをそのまま真似しました。
それプラスDocumentRoot "パス"の下の<Directory "C:/apache2/htdocs">のパスをDocumentRootと同じパスに設定しました。
それとhttp://blog.goo.ne.jp/xmldtp/e/50e19ae5e407dcf82 …
もすべて確認しましたが問題なかったです。
もし他に足りないことがあったら教えてください。
ちなみにapache2.0.63はリリースが1月20日とサイトに書いてあったのですが修正されて中身が変わってることもあるのでしょうか。
前は上記の設定だけで出来たのですが・・・

A 回答 (4件)

動く筈のCGIが動かない件、本当にスクリプトは大丈夫ですか? perl -wc は、スクリプトの 1行目の妥当性もチェックしてくれますか? これは、Perl言語のシンタックスの枠外です。

ご自分の環境に合った内容が記述されていますか?


あるいは、suexec 関連は疑ってみましたか?


もしも、Windows版Apache と Cygwin版Perl の組合せだったりすると、苦労も多いでしょう。


一般に、インターネットから取得した情報やコード類が自分の環境にドンピシャリであることはそんなに多くは無いですよ。
    • good
    • 0
この回答へのお礼

原因は1行目にあったようです・・・
てっきり#!/usr/local/bin/perlだと思っていたのですが
実際はlocalディレクトリがなく#!/usr/bin/perlでした。
前にテスト環境で試した後サーバーにあげるとき
わざわざlocal入れたの思い出しました。ありがとうございました。

お礼日時:2008/12/14 05:30

cgi-bin/ でforbiddenとなるのは、ファイル名がない時に表示するファイルを指定してないから、または、DirectoryIndexに指定したファイル名のファイルが存在しないから。


DirectoryIndex はどのようになっていますか?
ファイル名でアクセスして、エラーとなるのは、エラー内容から考えると、1行目のプログラム呼び出し指定を間違ってるか、そのプログラムの方にアクセス権がないか。
    • good
    • 0

forbidden と Internet Sever Error は原因が別の可能性が高いと思います。



# 端的には、Internet Sever Error はCGIスクリプトのシンタックスエラーでも出るんじゃ無いでしょうか。

# forbidden は、 Options Indexes が無いとか。 ただし cgi-bin ディレクトリの一覧表示許可は、セキュリティ上有害というのが通説の様です。

apache2 のエラーログには、何か記録されてませんか?
    • good
    • 0
この回答へのお礼

簡単なソース(perl -wc test.cgiで試したもの)でやってもやはりだめなのでスクリプトが原因ではないと思います…
<Directory "C:/www/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
これがcgi-binディレクトリのapache上の設定です。
http://localhost/cgi-bin/test.cgiにアクセスし、エラーログを
見たところ
指定されたパスが見つかりません。 : couldn't create child process: 720003: test.cgi
指定されたパスが見つかりません。 : couldn't spawn child process: C:/www/cgi-bin/test.cgi
この二つが書き込まれていました。

お礼日時:2008/12/10 15:19

http://httpd.apache.org/docs/2.0/howto/cgi.html

ScriptAreasを指定してある場合は、
そのcgi-binディレクトリのアクセス許可はありますか?
    • good
    • 0

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