さらにはまる。

SELinux 君にまたやられた。

# ls -lZ /var/www/html
drwxr-xr-x. nagae nagae unconfined_u:object_r:httpd_sys_content_t:s0 mixi
-rw-r--r--. root  root  unconfined_u:object_r:httpd_sys_content_t:s0 phpinfo.php

ちうわけで、/var/www/ 以下は httpd_sys_content_t という属性を持っている。 で、私のホームは

# ls -alZ
drwx-----x. nagae nagae unconfined_u:object_r:user_home_dir_t:s0 .
drwxr-xr-x. root  root  system_u:object_r:home_root_t:s0 ..
....
drwxr-xr-x. nagae nagae unconfined_u:object_r:httpd_user_content_t:s0 public_html
....

という具合に、public_html を httpd_user_content_t という属性を持たせた。 んでさらに

> setsebool -P httpd_enable_homedirs 1

とかやると始めて home の public_html が見えるようになるらしいんですよ。 この、httpd_enable_homedirs とか httpd_user_content_t なんていうので検索しても、 なかなか情報得られないんですけど。 どうなんだろこれ。 今まで、単に SELinux をぶちきっていたから気が付かなかっただけなのだろうか。

FC4/Apache /一般ユーザのウェブ表示