- ベストアンサー
CentOS6でpublic_htmlの公開の仕方
- CentOS6でpublic_htmlの公開方法について困っています。
- CentOS6.2をインストールして、パケットフィルタリングを設定しました。また、/var/wwwを/homeに移動しました。さらに、smb.confの設定も変更しました。しかし、/~(ユーザ名)でユーザのpublic_htmlを見ることができない状況です。パーミッションやSELinuxの設定も試しましたが解決できません。
- http://ホスト名/~(ユーザ名)で403 Forbiddenのエラーが発生します。ググっても解決策が見つからず、困っています。どなたかご指導をお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>3.smb.confの以下を変更。 > 1.ServerNameをホスト名に変更 > 2./varを/homeに変更 > 3.UserDir disableをコメントアウトする > 4.UserDir public_htmlを有効にする /etc/httpd/conf/httpd.confですよね? /var/~を/home/~に変える…というのはどうかとも思いますけど……。 >また、SELinux関連化と思い、 ># semanage fcontext -a -t httpd_sys_content_t public_html ># restorecon public_html >も試してみました。 では、 getsebool httpd_enable_homedirs はどうでしょうか? # SELinuxを無効にしてみて表示されるのに、有効にするとダメになる。という場合にSELinuxの設定を疑うべき…ですね。 # あとは…apaheのログに何が出ているか…とか、/var/log/audit/audit.logや/var/log/messages.logに何か出ていないか…とか。
その他の回答 (2)
- satomi3951
- ベストアンサー率71% (98/137)
mod_userdirは有効になっていますか?
お礼
ご回答ありがとうございます。 httpd.confの中で UserDir disable をコメントアウトし、 UserDir public_htmlのコメントをはずしたことで mod_userdir は有効になっているかと思うのですが... どうやら今回はSELinuxが原因だったようです。 ありがとうございました。
- demmystar
- ベストアンサー率32% (69/213)
まずは、こちらをご参照ください。 http://centossrv.com/apache.shtml http://www.obenri.com/_webserver/user_directory.html > 2.# mv /var/www /home/ こんな変更すると、設定がおかしくなりますよ。 > 3.smb.confの以下を変更。 WWWサーバの設定ですから、設定ファイルは 「/etc/httpd/conf/httpd.conf 」です。 OSインストールから、やり直した方がクリアに 設定できそうな気がします。
お礼
ご回答ありがとうございます。 バックアップをとる関連で、出来れば/homeの下にデータをまとめたいと思い、質問のような設定にしました。 とりあえず、質問に内容については解決できました。 また、何かありましたらよろしくお願いします。
お礼
早速のご回答ありがとうございます。 smb.confの件ですが、おっしゃるとおりhttpd.confのtypoです。 getsebool httpd_enable_homedirs を確認したところoffでした。 結局、 # setsebool -P httpd_enable_homedirs=on # semanage fcontext -a -t httpd_sys_content_t public_html # restorecon public_html としたところ、無事 http://(ホスト名)/~(ユーザ名)/ で表示することが出来ました。 ありがとうございました。