How do I change the document root of a Linux Apache server?
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
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/