If you're using Red Hat Enterprise Linux (RHEL) or one of it's variants (CentOS, etc.), you may have noticed that using a non-standard document root for your Apache-based web site results in a DocumentRoot does not exist warning if the directory exists. The most likely cause of this problem is SELinux.
The fix for the problem is to change the security context of your new DocumentRoot to match that of the system's original document root. Here's how:
$ ls -la --context /var/www/html
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t .
$ chcon -R system_u:object_r:httpd_sys_content_t /new/docroot
Obviously, /new/docroot in the example above should be the path to your document root.

WOW! I'm a windows guy but i've supported FreeBSD and some other flavors. I was handed a server running CentOS and couldn't get apache to recognize DocumentRoot folders.
I ran the --context and discovered they were labeled for ftp. I ran your command above & BINGO!
With one addition, I had to add ":s0" after httpd_sys_content_t for it to work in this server.
thanks again - 4 hours of googling & yours was the first site that discussed this.
[...] dicontek dari: http://slaptijack.com [...]
Very helpful! Far better than disabling SELinux, altogether.
Thank you.
LIFESAVER!!!!!
Thanks...
On RHEL6 I found that I had to change the context for the entire path, not just the leaf directory. So, for the new documentroot of /new/docroot I had to apply the chcon to /new, then to /new/docroot. The alternative would have been to do a 'chcon -R ... /new' but then that would change all other directories under /new as well.