How do I change the document root of a Linux Apache server?

63,927

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/

Share:
63,927

Related videos on Youtube

Daryl Spitzer
Author by

Daryl Spitzer

Father of three, husband, computer programmer (Pythonista), skeptic, atheist, podcast listener, baseball fan, Canadian (in the United States).

Updated on September 17, 2022

Comments

  • Daryl Spitzer
    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
    Daryl Spitzer about 14 years
    How do I reload the config?
  • Karol J. Piczak
    Karol J. Piczak about 14 years
    Try /etc/init.d/apache2 reload
  • Davuz
    Davuz over 11 years
    after 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 tried chmod 775 www or 777 but it still error 403.
  • www139
    www139 almost 8 years
    The file is now called 000-default.conf