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

this is my first experience using CentOS 5.7 / Linux as my web server OS and I have just finished installing Apache. Then I created a new account using WHM. The account is now created and the domain name can be accessed. I have put the web files under /home/user/public_html/ but when I access the domain assigned for that user which I assigned when creating new account in WHM, it doesn't read the files.

In /usr/local/apache/conf/httpd.conf :

DocumentRoot /home/user/public_html
User veevou # Needed for Cpanel::ApacheConf
<IfModule mod_suphp.c>
suPHP_UserGroup group1 group1
<IfModule !mod_disable_suexec.c>
SuexecUserGroup group1 group1
CustomLog /usr/local/apache/domlogs/ "%{%s}t %I .\n%{%s}t %O ."
CustomLog /usr/local/apache/domlogs/ combined
ScriptAlias /cgi-bin/ /home/user/public_html/cgi-bin/

Instead of reading from /home/user/public_html/ apache will read the /var/ww/html/ folder. How to set the apache so that when user access, they will access the files under /home/user/public_html/ ? Please advice. Thanks

share|improve this question
/usr/local/apache/conf/httpd.conf?! Is this a custom Apache install? – Cristian Ciupitu May 12 '14 at 2:57

Check that you have NameVirtualHost before the VirtualHost definition.

To user domain/~user paths you need to have userdir module loaded:

LoadModule userdir_module libexec/apache2/

Please see

share|improve this answer
I'm reading the docs, but will there be extra " ~ " at the end of ? like ? Because it's what I get from the docs – C.S.Putra Jan 19 '12 at 9:13
Sorry. Misread the question. Changed the answer accordingly. Please show what your apachectl -S command shows if that doesn't help. – jkj Jan 19 '12 at 9:27
Thanks for the reply =) this is the output of apachectl -S : VirtualHost configuration: Syntax OK – C.S.Putra Jan 19 '12 at 10:10
@C.S.Putra it doesn't show any virtualhosts. Try NameVirtualHost *:80 and <VirtualHost *:80>. – jkj Jan 19 '12 at 10:38
Done it. And i have asked help from the technical support team to set the apache for me. Now it's working well. Thanks for your help =) – C.S.Putra Jan 20 '12 at 7:24

I would imagine your issue is relating to permissions on the directory. cPanel will auto generate the apache configuration file so you need to use the /usr/local/cpanel/bin/apache_conf_distiller command if you are going to make changes to the configuration, you should however not need to do anything in that regard as the issue is most likely unrelated to the configuration and is related to permissions of your home directory.

Check out /usr/local/apache/logs/error_log when visiting the website to see what it says.

share|improve this answer

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.