Edited at

【Apache】DocumentRootの変更に伴うパーミッションの変更について

More than 1 year has passed since last update.

環境

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を再起動するとブラウザ上で表示できるようになりました。