※ ChatGPTを利用し、要約された質問です(原文:500エラーorダウンロードになる。suEXEC)
suEXECの設定方法とエラー対処法|500エラー発生の原因とは?
このQ&Aのポイント
500エラーやダウンロードの問題が発生しています。特にsuEXECの設定に関して問題が起きています。
エラーログを確認すると、ディレクトリがスクリプトとして呼び出される試みや実行ファイルの権限エラーが表示されていることがわかります。
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 は出ません。
宜しくお願い致します。
お礼
ご返答ありがとうございます。 SuexecUserGroupの設定してありませんでした。 色々と問題御座いましたが、 ニアミスとか結構あったみたいで、解決出来ました 書く程でもないかもですが、一応書いておきます。 SuexecUserGroupの設定後、下記のようなエラーが出ました。 HTMLは644と604で表示出来ている状態でした。 docrootを違った所と混ぜてバーチャルしてましたので、 ごちゃごちゃしてたのを整理して、suEXECのdocに変更。 (error.log [Tue May 27 10:01:44 2008] [error] [client 121.1.216.98] suexec policy violation: see suexec log for more details, referer: http://ドメイン/ [Tue May 27 10:05:13 2008] [notice] caught SIGTERM, shutting down [Tue May 27 10:05:14 2008] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Tue May 27 10:05:14 2008] [notice] Digest: generating secret for digest authentication ... [Tue May 27 10:05:14 2008] [notice] Apache/2.2.8 (Unix) DAV/2 PHP/5.2.4 mod_python/3.3.1 Python/2.5 mod_ssl/2.2.8 OpenSSL/0.9.8b mod_perl/2.0.3 Perl/v5.8.8 configured -- resuming normal operations と出たので、suEXECのログを確認。 [2008-05-27 10:01:43]: cannot run as forbidden gid (48/test.cgi) [2008-05-27 10:01:44]: uid: (502/ユーザー名) gid: (48/48) cmd: log_note.cgi suEXECの設定 [root@localhost sbin]# /usr/sbin/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" なので、gid(グループ番号)48のグループに入ってたので、 users(100)に変更。 グループ変更したのですが、 uid: (502/ユーザー名) gid: (48/48) cmd: log_note.cgi がまだ出ます。 gidが変更ならない?と思ってたら、 Apacheの方のグループも変更しないといけないの忘れていて、 変更後問題なく稼動しました。 umasikajiro様、 本当にありがとうございました。