apache says my DocumentRoot directory doesn't exist

muirbot picture muirbot · Oct 16, 2010 · Viewed 28.3k times · Source

I am using Phusion Passenger to deploy a rails application using apache2 on CentOS 5.5. For some reason, I keep getting this message when I start up apache:

> service start httpd
Starting httpd: Warning: DocumentRoot [/home/deploy/my_app/public] does not exist
[ OK ]

The directory most certainly does exist. Here are some important files from my configuration:

/etc/httpd/conf/httpd.conf
...
User deploy
Group deploy
...

/etc/httpd/conf.d/my_app.conf
< VirtualHost *:80>
    ServerName my_app.com
    DocumentRoot /home/deploy/my_app/public
    < Directory /home/deploy/my_app/public>
        Allow from all
        Options -MultiViews
    < /Directory>
< /VirtualHost>

The directories /home/deploy, /home/deploy/my_app, and /home/deploy/my_app/public all belong to the deploy user.

Answer

Edward Anderson picture Edward Anderson · Jan 21, 2011

I ran into this problem too. Are you running SELinux? Check /etc/sysconfig/selinux, or try echo "0" >/selinux/enforce as root to see if disabling it helps.

If so, you can either modify your selinux policy to allow access to these files, or just disable selinux altogether.