![]() |
カレッヂ |
質問者 junn
投稿日 8/4(月) 15:36:44
apacheでwebサーバを公開しようとしています。 複数ユーザでweb公開ができるような仕様にしました。 通常のwebページは表示できるようになったのですが、 CGIが表示できません。以下に試したことを書きました。 私なりには最後のhttpd.confの設定があまり自信がないのですが、 抜けているところ等がありましたら教えてください。 エラーメッセージ Server error! The server encountered an internal error and was unable to complete your request. Error 500 エラーログは、 Premature end of script headers: test.cgi head ./index.cgi | cat -v でチェック 各行の最後に“^M”はないので改行コードの問題はなし。 perlディレクトリパスも確認する。 #!/usr/bin/perl パーミッション設定はわからなかったので /home/user/public_html/cgi-bin/の /user以下すべて777に設定。 perl -c test.cgi 実行結果 test.cgi syntax OK perl test.cgi 実行結果 <HTML> <HEAD> <TITLE>Test CGI</TITLE> </HEAD> <BODY> <p>This is test for CGI</p> <p>この文章を見ることが出来ればCGIは動いています</p> <br> </BODY> </HTML> httpd.conf内容。フォルダ内容のみ抜粋。 <Directory "/home/mk/public_html/cgi-bin/"> Options Indexes MultiViews ExecCGI FollowSymLinks Includes AllowOverride None Order allow,deny Allow from all </Directory> AddHandler cgi-script .cgi .pl RedHad9使用。apacheバーョン2.0.40です。
プロバイダ参照: |
回答者 domo
[削除]
投稿日 8/4(月) 22:53:30
気になった点だけを少し書いてみます。 -- perl test.cgi 実行結果 <HTML> <HEAD> <TITLE>Test CGI</TITLE> </HEAD> <BODY> 以下略 というのはシェル上での出力結果ですよね。 CGIとして動作させるには HTMLを出力する前に以下のようなヘッダーが最低限必要です。 -- Content-type: text/html[改行] [改行] -- test.cgi 側でヘッダーが出力されていないようです。 もう一つは ----- パーミッション設定はわからなかったので /home/user/public_html/cgi-bin/の /user以下すべて777に設定。 ... <Directory "/home/mk/public_html/cgi-bin/"> Options Indexes MultiViews ExecCGI FollowSymLinks Includes -- user と mk が違ってますがこれはどうでしょうか? 以上の2点が気になりました。 |
質問者 junn
[削除]
投稿日 8/5(火) 10:30:04
domoさんご指摘ありがとうございました。 言われたとおり改善して見ました。 そして、 Alias "/~mk/cgi-bin/" "/home/mk/public_html/cgi-bin/" がhtpd.confに抜けていることがわかりました。 これを加えることで改善することができました。 |
このページは終了したので返信(回答)は書きこめません
Web裏技 |