[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:34507] CGI(perlスクリプト)を実行するhttpd.confの設定について



 お世話になっております。Masayuki KaToHです。

 woodyを使っています。apache 1.3.26をapt-get installでインストールしました。

 各種ドキュメントを参考に設定を行いましたが、perlスクリプトを実行すると500 
Internal Server Errorが帰ってきてしまいます。

 行った設定は、/etc/apache/httpd.confをそれぞれ次のように編集しました。関係
ありそうなものを並べてみます。

User www-data
Group www-data
#defaultのまま

DocumentRoot /var/www
#defaultのまま

<Directory /var/www/>
	Options Indexes Includes FollowSymLinks MultiViews ExecCGI
# ExecCGIを追加

AddHandler cgi-script .cgi .sh .pl
#コメントアウトを解除

 そして実行したいファイルのパーミッションなどは以下のようになっています。
置いてあるperlスクリプトの場所は
/var/www/BOARD/index.cgi パーミッションは755
このスクリプトで使用するデータファイル・モジュールの場所は
/var/www/BOARD/jcode.pl パーミッションは755
/var/www/BOARD/minibbs.dat パーッションは644
各ファイルのユーザー・グループはwww-dataになっています。

 いまいちわからなかったので、/var/www/BOARD/cgi-bin/においたり、/var/www/直
下においたりしたのですが、すべて同じエラーのようです。

 perlスクリプトの先頭行はwhich perlで帰って来るパスを記入してあります。

 tail /var/log/apache/error.logをみてみると

[日付] [error] (2)No such file or directory: exec of /var/www/BOARD/index.
cgi failed
[日付] [error] [client 192.168.0.11] Premature end of script header: /var/
www/BOARD/index.cgi

 となっています。ここからいろいろ調べてみると
 http://japache.infoscience.co.jp/japanese_1_3/manual/misc/FAQ.html#
premature-script-headers
 が、ズバリそれっぽいのですが、日本語訳を読んでも完全に降参です(^^;;。これ
まで、別サーバで動いていたperlスクリプトなのですが。

 さらに調べてみると、suEXECというものも関係しているのでは?という情報を得た
のですが、/var/log/apache/suexec.logが無い模様です。

 何かご指摘があればよろしくお願いします。
 
thanx. 
from your friend KJ++
---
KaToHJ
katoh-j@xxxxxxxxxxxxx