From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.3) Gecko/20050104 Red Hat/1.4.3-3.0.7 Description of problem: Having upgraded our web server to RHEL 4 AS, httpd refuses to start with SELinux enabled. Version-Release number of selected component (if applicable): httpd-2.0.52-9.ent How reproducible: Always Steps to Reproduce: 1. service httpd start 2. 3. Actual Results: Apache fails to start with error message "DocumentRoot must be a directory". Expected Results: Apache starts normally and serves our sites. Additional info: The problem is one of directory nesting. Our sites are held under /home/www/cmmp /home/www/nano-science/nano-mag etc. Nothing nested deeper than one level under /home will work, but errors are only produced for those on the second level of nesting: e.g. a site in /home works, as does one in /home/www but one in /home/www/cmmp does not. A site in /home/www/nano-science produces the error message, but one in /home/www/nano-science/nano-mag does not. Turning off SELinux at boot with boot parameter selinux=0 fixes this, but is obviously not a nice solution...
Created attachment 111525 [details] Apache config file The httpd.conf in question
*** Bug 149989 has been marked as a duplicate of this bug. ***
Apologies, I accidentally submitted this one twice. I've killed the dupe.
Solved with: chcon -R -t httpd_sys_content_t /home/www Not sure if this is the best way to do this...
Yes, that's the correct method. You might be interested to read the following guide, regarding SELinux/Apache integration. It mostly applies to Red Hat Enterprise Linux 4; a version specific for RHEL4 is in the works: http://fedora.redhat.com/docs/selinux-apache-fc3/