suEXEC設定
http://httpd.apache.org/docs-2.0/ja/suexec.html参照。
ユーザが複数居る環境だったらsuEXEC化した方が良いからメモ。
CGIの作ったログファイル消えないって良く言われるのよね。
再コンパイルが必要だから、rpmとかで入れてたらちゃんと抜いておいてね。
$ tar zxvf httpd-2.0.50.tar.gz $ cd httpd-2.0.50 $ ./configure --enable-suexec \ --with-suexec-caller=nobody \ --with-suexec-userdir=public_html \ --with-suexec-docroot=/usr/local/apache2/htdocs \ --with-suexec-logfile=/usr/local/apache2/logs/suexec_log \ --with-suexec-uidmin=500 \ --with-suexec-gidmin=500 $ make $ su # make install
他のオプションは自分で決めてね?
細かい説明に行くわよ。
- --enable-suexec
suEXEC有効化のオプションよ。
これを付けないとそもそも意味が無いわ。
- --with-suexec-caller
Apache2自身を動かすユーザを指定するわよ。
上の例だとnobodyね。
- --with-suexec-userdir
UserDirディレクティブに対してアクセスする場合に必要よ。
たとえば、http://hogehoge/~hoge/ってアクセスね。
UserDirディレクティブに設定したディレクトリ名を指定すれば良いわよ。
たとえば、デフォルトだと「public_html」ね。
- --with-suexec-docroot
こっちはドキュメントルートを指定するわ。
httpd.confと同じようにドキュメントルートを指定してあげてね。
- --with-suexec-logfile
これはsuEXECの動作のログを吐き出す場所をしていするオプションね。
デフォルトで「/usr/local/apache2/logs/」に吐き出されるから、名前とか変えなくてもいいんだったら使わなくてもいいわよ。
- --with-suexec-uidmin
これはsuEXECを有効にするuidの最低値ね。
Fedora Coreだったら500以降がユーザのはずだから、500って指定すれば良いわね。
- --with-suexec-gidmin
こっちはsuEXECを有効にするgidの最低値ね。
こっちも500以降がユーザのgidのはずだから、500でいいわよ。
他にもオプションはあるのだけど、それは./configure --helpで確認してね。
suEXECが動いているかを確認する方法は、Apacheを起動させた後にエラーログを見てみてね。
tail /usr/local/apache2/logs/error_log : : suEXEC mechanism enabled (wrapper: /usr/local/apache2/bin/suexec)
suEXECが動いてることが確認できたら、ちゃんとファイルの権限を確認しておかなきゃ駄目よ?
下にリストを用意しておくから、確認してちょうだい。
- ユーザディレクトリ:755
- public_html:711
- 実行ファイル:701
- ログファイル:600
- ロックフォルダ等:701