How do I change the document root of a Linux Apache server?
Solution 1
You should have a file: /etc/apache2/sites-available/default
this is where you would modify the default website's document root.
You can also add more sites by putting config snippets in that folder and symlinking them to ../sites-enabled or using a2ensite to enable them.
Solution 2
Do I need to restart httpd to get it to accept the change to DocumentRoot?
Yes, or more precisely said - at least reload the config.
And I see Zypher was first here while I was writing - you should see some individual config in /etc/apache2/sites-enabled/
Related videos on Youtube
Daryl Spitzer
Father of three, husband, computer programmer (Pythonista), skeptic, atheist, podcast listener, baseball fan, Canadian (in the United States).
Updated on September 17, 2022Comments
-
Daryl Spitzer over 1 year
I'm trying to learn how to configure an Apache HTTP server (with which I have no experience) someone else has setup in a VM running Ubuntu 8.04.
I know the server is running, since I get "
<html><body><h1>It works!</h1></body></html>
" when I go to http://1.2.3.4/ (where 1.2.3.4 is the VM's IP number).I found apache2.conf and httpd.conf (among other files) in /etc/apache2/. httpd.conf is empty.
I tried adding
DocumentRoot "/home/username/temp"
into /etc/apache2/httpd.conf and put some simple HTML in /home/username/temp/index.html. But when I reload http://1.2.3.4/ there's no change.Do I need to restart httpd to get it to accept the change to DocumentRoot?
Update: I changed "DocumentRoot /var/www/" in /etc/apache2/sites-available/default to "DocumentRoot /home/username/temp", but the next HTML wasn't served until I ran
sudo service apache2 restart
. Can I tell Apache to reload the config (instead of restarting)?Update #2: Got this from Karol Piczak's comment on his answer:
sudo /etc/init.d/apache2 reload
-
Daryl Spitzer about 14 yearsHow do I reload the config?
-
Karol J. Piczak about 14 yearsTry /etc/init.d/apache2 reload
-
Davuz over 11 yearsafter modify
/etc/apache2/sites-available/default
with Document root map to /home/davuz/Code/www. I miss this error :"Forbidden You don't have permission to access /index.php on this server." I have triedchmod 775 www
or 777 but it still error 403. -
www139 almost 8 yearsThe file is now called
000-default.conf