Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm running apache on centos 5.6 and whenever i try to load a php script in any directory, other than /var/www/html (the apache default root dir) it gives me a permissions denied error.

However when i check the permissions of my new root dir (/var/www-dev) against the default dir (/var/www/html), they match identically. both say: root:root 755

i even tried changing the ownership to apache:apache, and still got the same error

But when i change the apache config back it's default root dir (/var/www/html) everything works.

Am i doing something wrong?

These are the settings i am changing:

DocumentRoot "/var/www/html"

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

Note: i am restarting apache every time i change the apache config and permissions.

as well: i also have REMI and EPEL enabled

share|improve this question
Is SELinux enabled? – Bart De Vos May 23 '11 at 22:44
@TiZon i don't believe so. should it be? – koeder May 23 '11 at 22:59
Can you give us the exact message? Is this "permission denied" coming from the file system or directly from apache (e.g. by some Order directive)? And are there messages in the error.log file? – Raffael Luthiger May 23 '11 at 23:01
And check if you have any .htaccess files in those two subdirectories. – Raffael Luthiger May 23 '11 at 23:02
Thanks @TiZon! SELinux, was enabled. Once i disabled it editing the /etc/selinux/config file, my web apps were able to load in other directors. – koeder May 23 '11 at 23:34
up vote 11 down vote accepted

Usually that comes from Selinux not giving access to the folder. do

ls -alZ /var/www/

and if the html folder doesn't have the context system_u:object_r:httpd_sys_content_t, fix it with chcon

chcon -v -R --type=httpd_sys_content_t /var/www/html

share|improve this answer
Thanks @Julien Vehent! I'll reward you the answer because your method allows me to edit SELinux permissions on a specific folder rather than disabling SELinux all together. Thank you very much. This worked! and saved me a headache. – koeder May 24 '11 at 0:02
You saved my life! Thanks! :) – Random May 31 '13 at 12:11

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.