In this tutorial we will learn to change document root of Apache on Ubuntu.
This will work for Ubuntu 16 and newer versions like 18.04 LTS.
It is assumed that you have Apache installed on your Ubuntu computer.
Feel free to check out How to install LAMP stack on Ubuntu tutorial if you want to install Apache MySQL and Php on Ubuntu.
Open Terminal and run the following command to stop Apache server.
$ sudo systemctl stop apache2.service
Note! In the above command we are using
sudo so, you will be asked to enter your password.
By default the document root directory is
In this tutorial we will create a new directory
www inside the current user directory.
So, type the
cd command to go inside the current user home directory.
Now create the
$ mkdir www
You can name your document root directory whatever you want and place it wherever you want as long as you have the permission to access and modify in that location.
So, the path of the new document root directory will look like the following.
Where, username is your current logged in user name.
To know the current user name run the following command in the terminal
Now, cd into
/etc/apache2 directory and you will find the
Suggestion: Create a backup copy when making changes to configuration files. It helps when you want to revert back :-)
Open this file using
vim by running the following command.
$ sudo vim apache2.conf
Now scroll to the following section in the file.
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
Change the Directory to
Don't forget to change the username to your current user name.
So, after the change you will get the following.
<Directory /home/username/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
Save the changes and exit the file.
If you are using vim then type ESC key and then type
:wq and it will save the changes and will exit.
cd into the
/etc/apache2/sites-available directory and you will find the
Open it using vim or nano and find the following line.
Change it to the following.
Where, username is the current user name.
Save the file and exit.
It's time to restart Apache server. Run the following command in the terminal.
$ sudo systemctl restart apache2.service
You are now ready to use your new document root directory. To access it you can open
127.0.0.1 in your browser.
I have copied the
index.html page from the
/var/www/html directory to the new document root directory
/home/yusufshakeel/www so, I am getting the following output.
Feel free to create your own index.html file in the new document root directory and see the result in the browser.
Have fun developing :-)