500エラーorダウンロードになる。suEXEC
【環境】
fedora7(さくら専用サーバー
Apache(2.2.8)
vsftpd(2.0.5-16.fc7)
suEXEC
cgiを700で動かしたいのですが、
全く動いてくれません。。。
500 Internal Server Error
エラーログを一部抜粋しました。
error.log
[Sat May 24 17:08:07 2008] [error] [client 121.1.216.98] attempt to invoke directory as script: /home/test1/cgi-bin/test/
[Sat May 24 17:08:07 2008] [error] [client 121.1.216.98] File does not exist: /home/test1/httpdocs/favicon.ico
[Sat May 24 17:08:11 2008] [error] [client 121.1.216.98] Directory index forbidden by Options directive: /home/test1/httpdocs/file/00/, referer: http://ドメイン/
[Sat May 24 17:08:11 2008] [error] [client 121.1.216.98] mod_mime_magic: can't read `/home/test1/cgi-bin/test/log_note.cgi', referer: http://ドメイン/
[Sat May 24 17:08:11 2008] [error] [client 121.1.216.98] (13)Permission denied: exec of '/home/test1/cgi-bin/test/log_note.cgi' failed, referer: http://ドメイン/
[Sat May 24 17:08:11 2008] [error] [client 121.1.216.98] Premature end of script headers: log_note.cgi, referer: http://ドメイン/
[Sat May 24 17:08:11 2008] [error] [client 121.1.216.98] File does not exist: /home/test1/httpdocs/favicon.ico
[Sat May 24 17:08:13 2008] [error] [client 121.1.216.98] mod_mime_magic: can't read `/home/test1/cgi-bin/test/test.cgi', referer: http://ドメイン/
[Sat May 24 17:08:13 2008] [error] [client 121.1.216.98] (13)Permission denied: exec of '/home/test1/cgi-bin/test/test.cgi' failed, referer: http://ドメイン/
[Sat May 24 17:08:13 2008] [error] [client 121.1.216.98] Premature end of script headers: test.cgi, referer: http://ドメイン/
[Sat May 24 17:08:13 2008] [error] [client 121.1.216.98] File does not exist: /home/test1/httpdocs/favicon.ico
suexec.log
[2008-05-24 16:58:20]: too few arguments
suexec -V の結果
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
DOC_ROOTの変更方法も分からず、ずっとhomeでやってたので、
ミスだったのかな?と思い。
/var/以下にcgiを置いてchmodでtest.cgiの権限700にしてしてみましたが、500のエラーでした。
なぜかFFFTPのクライアントからは操作ファイル操作が出来ませんでした。
ユーザー名はapacheグループに属してるだけです。
バーチャルで運営の予定です。
perlのパスは
usr/bin/perl
test.cgiの先頭は
#!/usr/bin/perl
です。
suEXECは・・・
chmod 4711 /usr/sbin/suexec
でapache再起動後のログに、
[Sat May 24 17:31:04 2008] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
が出ます。
/usr/sbin/httpd -l でチェックすると。
core.c
prefork.c
http_core.c
mod_so.c
の4点しかありません。
suexec: disabled; invalid wrapper /usr/sbin/suexec は出ません。
宜しくお願い致します。
補足
サーバのQ&Aにこうあります。 ■PHP (通常はパスを記入しなくても動作します) /usr/bin/php /usr/bin/php5 CGIにはsuEXECを利用しております。 ですので以下のように設定して頂く必要があります。 ファイル 推奨しない設定 推奨する設定 CGIファイル 755 700 ログファイル 666 600 ログディレクトリ 777 701 or 700 注意:このパーミッションはCGIの設定であり PHPにこのパーミッションを設定すると動作しません。