I do it barely and for me it’s kinda getting a headache every time I need to do it. I never remember exactly how it needs to be done. So here there are some steps in order to get a specific user using its home dir (usually ~/public_html/) with Apache. It will surely help me in the future and maybe it might help you too.
- Edit the /etc/httpd/conf/httpd.conf file.
Change the ‘UserDir disabled’ line to ‘UserDir enabled <username>’.
Uncomment the ‘UserDir public_html’ line.
Also uncomment the whole ‘<Directory /home/*/public_html>’ section until the ‘</Directory>’. - Apply the proper permissions:
# chmod 711 ~<username>
# chmod 755 -R ~<username>/public_html/ - Run the following commands so SELinux wouldn’t bother you:
# setsebool -P httpd_enable_homedirs true
# chcon -R -t httpd_sys_content_t ~<username>/public_html # It looks like it’s not necessary. See dgrift’s comments below. - Extra Tip: It looks like on PHP versions >= 5.3.0, to allow the short tag ‘<?’ we need to set ’short_open_tag = On’ in the /etc/php.ini.
Restart the httpd service and after it you should be able to access http://localhost/~<username>/
References:
http://fedoraproject.org/wiki/SELinux/apache
http://albertux.ayalasoft.com/2010/01/30/fedora-12-httpd-userdir-selinux-works/
http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html
UPDATE 1: Altered ’setsebool httpd_enable_homedirs true’ into ’setsebool -P httpd_enable_homedirs true’. Also added comment about the ‘chcon’ command. Thanks, dgrift.
0sem comentários ainda