• ベストアンサー

Apacheのエラーログ

500のインターネットサーバーエラーの有名なエラーですがはまっています。 Apacheのエラーログを見ているのですが、 Premature end of script headerというエラーがわからずに困っています。 何が悪いのでしょうか?OSはVine Linuxでサーバーを立てていて、 CGIはPerlです。 Perlは5.6.1 Apache 1.3.27 です。

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

  • ベストアンサー
noname#26283
noname#26283
回答No.1

 ちょっとWeb上を探してみたのですが、以下のURLの情報では、次の2点が指摘されています。ご確認下さい。 (1)最初の行の #!… の記述の誤り (2)改行コードの違い http://search.luky.org/linux-users.6/msg02584.html http://search.luky.org/linux-users.6/msg02590.html

参考URL:
http://search.luky.org/linux-users.6/msg02584.html

その他の回答 (1)

  • zebedeer
  • ベストアンサー率66% (80/121)
回答No.2

CGIファイルの2行目に以下の内容を追加してみてください。 print "Content-type: text/html\n\n";

関連するQ&A

  • apacheのCGI設定について教えてください。

    CGIの勉強のために、古いパソコンに fedora core 4 をインストールしてapache でローカルのテスト用サーバーにしようとしています。 /var/www/html に設置した簡単な perl CGI は動くのですが、同じものをユーザーのホームディレクトリに設置すると、internal server error になってしまいます。 ***** 以下 httpd.confの抜粋です。***** #UserDir disable UserDir public_html <Directory /home/*/public_html> AllowOverride All Options Includes ExecCGI FollowSymLinks SetHandler cgi-script </Directory> AddHandler cgi-script .cgi .pl ************************************** サーバーのエラーログを見ると Premature end of script headers: test.cgi となっています。htmlをprintしているだけのスクリプトで、/var/www/html では動くので、apache の設定の問題かと思っています。 ちょっとカテゴリーが違うかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Perl
  • Apache WebサーバでCGIが実行できない

    Apache WebサーバでCGIを実行すると Premature end of script headers というエラーになります。原因が判りません。何方かご教示をお願いします。

  • Linux7.2のApacheのCGIについて

    CGIを作成してアクセスしたところInternalServerErrorとなってしまいました エラーログを参照したところ Premature end of script headers; /home/tenchan/public_html/cgi-bin/test.cgi となっていました。 原因がわからず困っておりますもしおわかりの方いらっしゃいましたら教えてください。 アパッチの設定は以下の点を修正しました AddHandler cgi-script .cgiのコメントをはずしました <Directory "/home/*/public_html/cgi-bin"> Options ExecCGI </Directory> test.cgiの内容は #!/usr/bin/perl print "Contetnt-type: text/html\n\n"; print "<HTML><BODY>Hello</BODY></HTML>"; です コンソールで実行した際には「Hello」と表示されたので test.cgiには問題はないと思います また、Linux上で作成しましたので改行コードなどの問題はないと思うのですが 何か参考になるようなアドバイスありましたらよろしくお願いします。

  • エラーログについてお尋ねしたいことがあるのですが。

    エラーログについてお尋ねしたいことがあるのですが。 CGIがうまく接続されずサーバー上で500エラーになるためサーバー管理者に尋ねたところエラーログに以下のようにKihon.pmが見つからない模様です。という返事が返ってきましたがCGIは詳しくないため、この内容が理解できずに困っています。 また、このような場合の回避策などがあればご指導願いたいと思っています。 Can't locate Kihon.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at kanri.cgi line 16. BEGIN failed--compilation aborted at kanri.cgi line 16.

    • ベストアンサー
    • CGI
  • LINUXでエラーログ

    サーバーにて、 プログラムエラー等を記録するエラーログが記録されなくなってしまいました。 OSは NS Linux7.1 SMP editionで WWWは Apache1.3.12 です。 エラーログ自体はどこで設定をされているのでしょうか? また、調べ方や修復の仕方のわかるサイトなどが有りましたら教えて下さい。よろしくお願いいたします。

  • Server error! Error 500

    RedHat7.3, apache-2でCGIが動くようにしたいのですが、 httpd.confをいじったりいろいろやってるのですが Server error! Premature end of script headers: tmp.cgi Error 500 と言われてしまいます。 Object not found!(Error404)ではないのでcgiファイルがあることは認識されてるようですが、 ”早すぎる終わり”をどうやったら回避できますか? 教えてください。

  • 【apache】特定のログだけ取りたくない

    こんばんわ。 お世話になっております。 Cent 5.2 Apache 2.2.3 suEXEC環境です。 access_log error_log の事なんですが、 特定の拡張子ではなく、特定のファイルのログを取りたくないのですが、可能でしょうか? 拡張子の場合は、 SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(ico)|(js)|(swf)|(css)$" nolog SetEnvIf Remote_Addr 192.168.1 no_log こんな感じで色々とaccess_logの方は取得しないようにしてます。 今回は、 Directory index forbidden by Options directive: /var/www/httpdocs/21/ mod_mime_magic: can't read Premature end of script headers: log.cgi 以下略 ↑error_logの一部です。 indexがないですが、cgi(動的ページ)なのでエラーは特に出てません。 mod_mime_magicは使ってません。 Premature end of script headersはsuEXEC環境なので色々と・・・ で、error_log達は表示されてしまうのですが、 このようなエラーログを表示させなくと言うのは出来るのでしょうか? 宜しくお願いします。

  • 【apache】httpd.confのAddHandlerについて

    掲示板利用させていただきます。 apacheとphpの連携を行う際、httpd.confのAddHandlerを以下のように設定すると、httpでphpを呼び出した際、以下のエラーがでます。 ●設定内容 AddHandler cgi-script .cgi .php ●エラー内容 Premature end of script headers 以下のように設定し直すと、正常に利用できるようになります。 ●設定内容 AddHandler cgi-script .cgi phpとcgiはイコールだと思っていたのですが、違うのでしょうか?? どなたかご教示ください。 よろしくお願いします。

  • javascriptとApacheの設定

    ローカルのマシンにApacheを設定後, テストのために簡単な javascript を含んだhtmlファイルをfirefoxから読み込もうとしたところ "Premature end of script headers" が出ました. 自身で調査しましたが,どうしても解決できません. 非常に困っております.どなたかご教授頂ければ幸いです. 【環境】 [OS]   Ubuntu 10.04 LTS [Apache] Version 2.2.14 (Ubuntu) [Apacheの設定] 初期設定でapache2.conf から (1) httpd.conf, (2) sites-available/default等が include されます. (2)のファイルのみ以下を変更しました: DocumentRoot /home/hoge/www/ ScriptAlias /cgi-bin/ /home/hoge/www/cgi-bin/ <Directory "/home/hoge/www/cgi-bin/"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> また mime.types には次の記述があります. application/javascript js text/x-perl    pl 【テストファイルの内容】 index.html 644 ************************************************************ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html> <head> <title>Test Example</title> <script type="text/javascript" src="/cgi-bin/test.js"></script> <script type="text/x-perl" src="/cgi-bin/first.pl"></script> </head> <body> TEST </body> </html> ************************************************************ /home/hoge/www/cgi-bin/first.pl 755 *************************************** #!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello, World."; *************************************** /home/hoge/www/cgi-bin/test.js 755 *************************************** document.write("Content-type: text/html<br><br>"); document.write("Hello World!"); *************************************** 【エラーの再現手順】 Firefox 3.6.13 から (1) http://localhost/test.html とした場合 TESTを出力しログにエラー [error] [client 127.0.0.1] Premature end of script headers: test.js, referer: http://localhost/test.html (2) http://localhost/cgi-bin/first.pl (出力正常) (3) http://localhost/cgi-bin/test.js (Internal Server Error) perl は大丈夫なのですが js がエラーになります.

  • 自宅サーバーの構築がうまくいきません。

    Linux初心者です。よろしくお願い致します。 webサーバーを公開しようとしているのですがうまくいきません。 OSはubuntuでapacheは2系です。 ルーターを介してindex.htmlをドメインで表示すること(http://ドメイン名)は可能なのですが、AddHandler.cgiにすると500エラーではじかれてしまいます。 以下はtail -fのコマンドで表示される文言です。 ・(2)No such file or directory: exec of 'ディレクトリ/AddHandler.cgi' failed ・Premature end of script headers: AddHandler.cgi 何が原因かわからないのでどなたご指導鞭撻の程よろしくお願い致します。