• ベストアンサー

NTでapacheとperlをインストールしてCGIテスト

WINDOWS NTの環境でネットに繋がっていない状態でCGIテストをしようと、apache_1_3_12_win32.exe (Apache 1.3.12 for Win32) とActivePerl 623をダウンロードしセットアップしました。 Apacheの動作確認までできました。 ところが、CGIが動きません。 DOSで「xx.pl」は動いているのに、「xx.cgi」をテストしようとブラウザでみてもエラーが出てしまいます。 セットアップした2つの場所は、c:\www\perl\ と、c:\Apache\です。 何が間違っているのでしょうか? どなたか詳しく教えて頂ける方がいらっしゃいましたら、大変ありがたいです。 ブラウザのエラーは 「Internet Server Error The server encountered an internal error or misconfiguration and was unable to complete your request~」というような表示です。 また違う者が前にsendmailを入れたようなのですが、その中にもapacheが入っていました。 またperlもcドライブに入っているのですが、これはまずいでしょうか? お助けください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shigatsu
  • ベストアンサー率26% (511/1924)
回答No.3

とりあえず、DOSのコマンドラインでPerlのエラーチェックしてみてください。 ちゃんとPATHが通っていれば、"perl -h" でコマンドラインオプションのヘルプが出てきます。 それと、ブラウザでCGIの動作確認したときにInternal Server Error が出たら、Apacheをインストールしたフォルダ内の logs ってサブフォルダに error.log というログファイルが出来上がります。 多少詳しいエラーメッセージが記録されていますので、参考にしてください。

参考URL:
http://www.harukaze.net/~mishima/perl/
chch
質問者

補足

ありがとうございます。 "perl -h" でヘルプができてきました。 error.logの中身をみてみました。見ても分かりませんでしたが、なんとかこれも検証してみます。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • 1Yen
  • ベストアンサー率28% (11/39)
回答No.4

> error.logの中身をみてみました。見ても分かりませんでしたが、なんとかこれも検証してみます。 その、エラーメッセージの内容を見せてもらえると分かるかもしれません。 また、『DOSで「xx.pl」は動いているのに、「xx.cgi」をテストしようとブラウザでみても』 とは、どういう事でしょうか。 DOS窓で xx.pl の動作確認後、xx.cgi をApacheから 起動させても、動作確認の意味が無いと思いますが... DOS窓で c:\www\perl\bin\perl.exe xx.cgi と、動作確認するべきではないかと想像するのですが。 > またperlもcドライブに入っているのですが、これはまずいでしょうか? perlが、どこにあろうと スクリプトの1行目にちゃんとその perlまでのPATHを書けば動きますので大丈夫です。

すると、全ての回答が全文表示されます。
  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.2

 Apacheの設定はどうなっていますか?  httpd.confの内容を確認してみて下さい。  また、エラーの内容は、『サーバで内部エラーが出て動かないぞ』って言っていますので、サーバの設定を確認して見てください。  その他としては、ユーザ権限の問題も出ているのだと思います。  Apacheの動作確認とは、ブラウザで表示が出来たって事なのでしょうか? サービスとして起動しているだけなら、cgi以外のページを表示するかどうか確認して見て下さい。

chch
質問者

補足

ご丁寧なご回答ありがとうございます。 httpd.confの内容は変更の確認しました。大丈夫だと思います。 また大変お手数ですが、宜しければサーバの設定の確認とユーザ権限の確認の仕方を教えて頂けないでしょうか? Apacheの動作確認と言いましたのは、Apache.exeを起動してから、Apacheの下に置きましたフォルダの中に作りました「index.html」と「xx.cgi」をブラウザで表示して確認したところ index.htmlは表示するのですが xx.cgiが上記のようなエラー表示で動かなかったのです。 cgi以外のページを表示するかどうかというのは、このindex.htmlの表示確認以外のものでしょうか? 分かりづらい内容で大変申し訳ないのですが、教えていただけるとありがたいです。 よろしくお願いします。

すると、全ての回答が全文表示されます。
回答No.1

初めまして:-) まずインストされたPerlのパスを調べるわけですが、 DOSプロンプトから「PATH」と打ち込んで、 インストされた場所が出てきますでしょうか? また、作動させようとしているCGIプログラム内容の 一番上の行に「uer/bin/perl」のような事が 書いてあるかと思いますが、その辺はどうでしょうか? 回答ではないですが、一度ご確認下さい:-)

chch
質問者

補足

こんにちは。初めまして。 インストした場所は出てきました。 プログラムの上の部分のパスも「www/perl/bin/perl」とあってると思うのですが。。 とても速いご回答ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A