- 締切済み
Mac OS X 10.5 LeopardのApache2でCGIを動かせない
MacPro Mac OS X 10.5にてローカルでCGIの動作確認をしようと試み、Apache2を起動し、http://localhost/~ユーザー名/xxx.cgiで確認しようとしたところ、Internal Service Errorが発生します。定石通り以下を設定したのですが、改善しません。どなたか同じ症状の方で解決された方、もしくは解決法をご存じの方、お知恵を拝借させてください。 Leopardは10.4以前と違い、CGIを動かすのに、httpd.confの設定ではなく、etc/apache2下のユーザー名.confを直すということだったので、以下のようにユーザー名.confを設定しました。改行コードはLFです。 //---------------- <Directory "/Users/ユーザー名/Sites/"> AddHandler cgi-script .cgi AddHandler cgi-script .pl AddType text/html .shtml AddHandler server-parsed .shtml Options Indexes MultiViews ExecCGI Includes AllowOverride None Order allow,deny Allow from all </Directory> ターミナルでapachectl configtestを行い、Syntax OKと出た後、apachectl restartを実行し、apache2を再起動させ、 perlコマンドのパスがターミナルのwhich perlで/usr/bin/perlだったので、!# /usr/bin/perlを指定したcgiファイルをつくり、ユーザーのホームディレクトリ下のサイト下に置き、パーミッションを755に設定。これでブラウザで確認すると、internal server errorが出ます。もちろんlocalhostやlocalhost/~ユーザー名はブラウザ上で表示されます。Error_logを確認しても、Premature end of script headersと出るだけです。 お心当たりのございます方、どうかご教授ください。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- teapots08
- ベストアンサー率52% (32/61)
apache2/logs/error.log に何かヒントとなるようなものがありませんか?
- okmotokun
- ベストアンサー率59% (92/155)
> 改行コードはLFです。 改行コードはCRのままでないといけないのではありませんか。
お礼
CRにしても駄目なようです。ちなみに文字コードもASCIIもUNICODEもためしましたが駄目でした…
- okmotokun
- ベストアンサー率59% (92/155)
> perlコマンドのパスがターミナルのwhich perlで/usr/bin/perlだったので、!# /usr/bin/perlを指定した !# /usr/bin/perl はこの質問投稿での typo ですか。
お礼
回答ありがとうございます。質問欄でのtypoです。失礼しました。実際は#!と書いてあります。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
> internal server error > Premature end of script headers CGIの処理は動いているようですが、perlスクリプトはコンパイルエラー無く動く物ですか? たとえばContent-typeヘッダを出力していないなどの不具合はありませんか? >% perl -c スクリプトファイル名 としたり、 use CGI::Carp qw/fatalsToBrowser/; を使うことで、どんなエラーが出ているか、確認することが出来ます。 (Content-Typeヘッダが出力されていないだけの場合は、エラーメッセージが表示されません)
お礼
回答ありがとうございます! cgiテストファイルの内容は、お決まりの #! /usr/bin/perl print "Content-type: text/html\n\n"; print "Hello Perl!"; です。ヘッダも出力しました。perl -cで確認してもsyntax OK!と出ます。 use CGI::Carp qw/fatalsToBrowser/;を、cgiファイルの#! /usr/bin/perlの次の行に書いて出力してみたところ、残念ながらまたもinternal server errorが発生し、エラーが確認できません。
お礼
ご回答ありがとうございます。 Premature end of script headers と出るだけで、一向に解決できず終いです…。