CGI-BBS > サーバ > Apache > Apacheの設置でCGIを利用可能にしたい。


カレッヂ
カレッヂ


質問者 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です。

プロバイダ参照:
サーバのOS:UNIXサーバ
パソコンのOS:WinNT系
エディタ:MIFES
FTPソフト:FFFTP
サーバ移転:していない
改造:している 改造前不動
CGI習熟度:firsttime

回答者 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裏技