【環境】
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 は出ません。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
ちょっと自信無しですが、、
httpd.confの
<VirtualHost *:80>
ServerAdmin webmaster@hoge.example.com
DocumentRoot /var/www/hogehoge/
ServerName hoge.example.com
SuexecUserGroup hogehoge hogegrp
ErrorLog logs/hogehoge-error_log
CustomLog logs/hogehoge-access_log common
</VirtualHost>
SuexecUserGroupって設定してますか?
http://httpd.apache.org/docs/2.2/ja/mod/mod_suex …
あと docrootを適当なところにしちゃうとエラーになり
suexec.logに
command not in docroot
になるんじゃないかと思います
http://www.aconus.com/~oyaji/bbs/past/0004/B0002 …
見当違いならゴメソです
ご返答ありがとうございます。
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様、
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- UNIX・Linux 実行の仕方及び実行結果が分かりません。 2 2022/11/17 19:31
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
POSTメソッドの最大容量について
-
ホームページにメールフォーム...
-
ホームページでCGIのフォームを...
-
CGIって何ですか?簡潔に教えて...
-
cgiの注釈が出来ない
-
CGI.pmはもう古い!?
-
フォームを再送信しますか?
-
入力フォーム(電話番号)
-
プロバイダのスピードは、maps...
-
3DCG
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
-
ホームページの事でおしえてく...
-
さくらサーバーにcgiフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bashシェルスクリプトで空白が...
-
シェルスクリプト(Linux)【初心...
-
CGIでの環境変数PERL5LIBの設定
-
500エラーorダウンロードになる...
-
シェルスクリプトの記載方法
-
パールスクリプトを呼び出すと...
-
~/.bashrcを間違えて保存してし...
-
eclipseでC言語がコンパイルで...
-
pythonのエラーについて
-
scpコマンドでリモートサーバの...
-
書き込み権限が無いためコピー...
-
Viで書き込もうとすると、保...
-
/ が何時の間にか「Read-only f...
-
コマンド終了ステータス
-
/etc/passwd と /etc/shadowを...
-
FTPコマンドの戻り値について
-
DOSコマンドでのワイルドカ...
-
rcpコマンドについて、教えて!
-
Illustratorのデータをまとめて...
-
IBM漢字コードのSJIS変...
おすすめ情報