cgiがうまく稼動しません


osはwindows7で、Firefoxを使いlocalhostでcgiを動かした所、ページ読み込みエラーになってしまい稼動しませんでした。
どうやった稼動できるのでしょうか。
ActivePerlとAN HTTPDはインストールしてあります。
使用CGIは「俺のペナント2」です。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/05/08 17:15:07

回答2件)

id:yossiy7 No.1

回答回数778ベストアンサー獲得回数96

情報が少なすぎて何とも。
「ページ読み込みエラーになってしまい稼動しませんでした」というのが、404なのか、それとも500なのか、エラーの種類も記載して欲しいです。
で、とりあえずよくあるパターンは。
(1)ウィルスバスター等でポートを閉じてないか?
(2)Windows7のファイヤウォールでポートを閉じていないか?
(3)perlのパスは正しいのか?cgiの一番最初の行が
#!/usr/local/bin/perl
になってますか?
(4)cgiを置いた場所等が正しいか?

id:rouge_2008 No.2

回答回数595ベストアンサー獲得回数351

コマンドプロンプトを起動して、「perl -v」と入力して実行した時に、Perlのバージョン情報が表示されるでしょうか?
※Perlの実行プログラムがあるディレクトリに移動しないで、コマンドプロンプトを起動した直後に実行してみてください。

上記を実行してバージョン情報が表示される場合は、AN HTTPDは初期設定のままでもCGIが動作します。
http://localhost」でページが表示されるでしょうか?
「オプション」→「一般」を実行して、ドキュメントルートの設定を確認してみてください。
※デフォルトではAN HTTPDのディレクトリがドキュメントルートに設定されていて、デフォルトインデックスは「index.html」となっています。
AN HTTPDのディレクトリが「D:\Local Server\httpd142p」の場合、「ドキュメントルート」も「D:\Local Server\httpd142p」になります。
「D:\Local Server\httpd142p」に「index.html」を置いた場合、「http://localhost」や「http://localhost/index.html」としてアクセスできます。
※ドキュメントルートの設定を「D:\Local Server\httpd142p\public_html」に変更した場合は、「D:\Local Server\httpd142p\public_html」以下が「http://localhost」でアクセスできるディレクトリになります。
例えば「俺のペナント2」を「D:\Local Server\httpd142p\public_html\cgi\ore」に設置した場合は、「http://localhost/cgi/ore/ore.cgi」でアクセスします。


※「httpd-docs/options.html」(http://www.st.rim.or.jp/~nakata/httpd-docs/options.html)から一部抜粋

ドキュメントルート: ドキュメントルートディレクトリ。 デフォルトでは、httpd.exeを起動したディレクトリになります。 任意のドライブとディレクトリを指定してください。 変更後、 httpd を再起動します。 再起動後、指定したディレクトリが有効になります。

デフォルトインデックス: ファイル名を指定しない場合に使われるファイル名。デフォルトは index.html。
他に、index.shtml, default.htm, index.cgi など任意のファイル名,拡張子を指定することができます。 カンマ(,)で、複数のファイルを指定することができます。その場合は、最初のものから順に検索します。

/~username -> ドキュメントルート\public_html: /~usenameのエイリアス。 この例の場合、 ブラウザで http://xxx.xxx.xxx.xxx/~nakata とした場合、 ドキュメントルート(D:\myHttpd)の下の nakata\public_html ディレクトリを指定したことになります。 つまり、仮想パス /~nakata は ローカルパス D:\myHttpd\nakata\public_html になります。 /~username の欄は、'/'から始める必要があります。



まずは、ドキュメントルートとして設定した場所に、適当な内容で「index.html」を作成し、「http://localhost」でアクセスして表示されるか確認してみてください。
正常に表示されたら、次に「俺のペナント2」のCGIにアクセスしてみてください。(CGIの設定がまだの場合は、先に設定が必要です。)

※「俺のペナント2」の設定が分からない場合、配布サイト等を確認するといいです。
http://be-sp.com/nyanko/book/cgi/ore.html
http://ryoquest.sakura.ne.jp/cgi_help/cgi006.html

※コマンドプロンプトで「perl -v」を実行した時に正常に動作し、AN HTTPDのドキュメントルート以外の設定も特に変更していない場合は、各CGIファイルのCGIのパスを変更する必要はありません。(AN HTTPDのオプション設定の「一般」タブで、拡張子と実行プログラムの設定のリストにある「.pl,.cgi」の設定を変更した場合は、元に戻してください。
)


【「.pl,.cgi」の初期設定】
・「実行する」にチェックあり
・実行プログラム「perl」
・「一般パスでも実行する」にチェックあり(※他は未チェック)

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません