Ubuntu – How to change the document root of a Linux Apache server

apache-2.2documentrootUbuntu

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

Best Answer

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.