環境
CentOS6.4
apache2系
ApacheのDocumentRootの設定変更の仕方はこちら↓
http://www.adminweb.jp/apache/docroot/index1.html
さてここで実際の現場では、rootユーザーを利用して開発ということはなく、Linux上に新たにユーザーを作成して、そのユーザーにDocumentRootを設定して、web開発というのが一般的では無いでしょうか?
そうなんです。
この状態で何もせずに
$ emacs /etc/httpd/conf/httpd.conf
としてDocumentRootを変更すると、ブラウザでサーバーにアクセスした時に
Permission deniedになります。
403Fobbidenを喰らいます。
つまりサーバーにつながらないのです。
しかし、
$ /etc/init.d/httpd/ configtest
で、サーバーまでのパスがとおているか確認すると
$ Syntax OK
になり、サーバーまではなんの問題もなく起動しています。
ではなぜ権限が無いと拒否されるのか。
それは、rootユーザーにあった権限がユーザーディレクトリでは権限がないらです。
ユーザーを作成するとroot以下に
home/USERNAME/
のディレクトリができます。
このUSERNAMEディレクトリが曲者。
$ ls -la
で権限確認すると、権限が700なので、ユーザーディレクトリからはApacheがUSERNAMEディレクトリを読み込めんでくれませんので
$ chmod 755(or775) /home/USERNAME
で読み込み権限を付与して、Apacheを再起動するとブラウザ上で表示できるようになりました。