結局、suEXEC のせいだったのね・・・

はまった・・・

たった↓これだけの CGI が Premature end of script headers エラーで実行できず。

#!/bin/sh

echo "Content-type: text/html"
echo ""
echo "<html><head><title>TEST CGI</title></head>"
echo "<body><h1>TEST</h1></body></html>"

コマンドラインからの実行じゃ全然問題ないのに。
なんでやねん!Perl の CGI も動かんなあ・・・と。

結局、/var/log/httpd/suexec.log が存在しているのを発見して、suEXEC が有効になっていることに気づいた。(^^;
ログみたら、もう、小うるさい警告が・・・

[2008-08-29 14:13:14]: uid: (512/mufufu) gid: (512/512) cmd: test.cgi
[2008-08-29 14:13:14]: directory is writable by others: (/home/mufufu/web/cgi-bin)

現在のシステムでは、suEXEC の満足行く権限設定やディレクトリ構造を採ることは無理だし、そもそも、suEXEC 使えば安全度が上がるようなシステム構成じゃないんで、とりあえず suEXEC を無効化。(suexec を別名にしちゃうだけだけど)

[root]# ls -la /usr/sbin/suexec
-r-s--x--- 1 root apache 14221 Jan 24  2008 /usr/sbin/suexec
[root]# mv /usr/sbin/suexec /usr/sbin/suexec_20080829

suEXEC 信者は怒るだろうけどなあ。(笑)

こうしておいて、Apache を立ち上げ直せばOK。
今までなんだったんだといいたくなるくらい、さくさく CGI が動く。

いつもは Apache は自分でソースから make することがほとんで、そん時に suEXEC なんか有効にしたことないし、よもやパッケージでは suEXEC が有効状態で make されてるなんて思いもせんかった。(^^;
ほんま、久しぶりに Apache 関係ではまったわ。まだまだ勉強じゃのお。

トラックバック(0)

このブログ記事を参照しているブログ一覧: 結局、suEXEC のせいだったのね・・・

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/90

コメントする

このブログ記事について

このページは、shinodaが2008年8月30日 02:14に書いたブログ記事です。

ひとつ前のブログ記事は「サーバの時間設定」です。

次のブログ記事は「8/28 のヤクルト戦」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら