Host Multiple Websites On One Apache Server On Ubuntu
1. Install Apache Web Server
If you don’t have an Apache server installed refer to post: How To Install Apache On Ubuntu 20.04.
2. Create the Directory Structure
First, create a document root directory for both websites by commands:
1
sudo mkdir /var/www/html/example.com
1
sudo mkdir /var/www/html/example1.com
Next, create an index.html page to be track the results.
Create an index.html page for site example.com.
1
sudo nano /var/www/html/example.com/index.html
Copy and paste below content to file.
1
2
3
4
5
6
7
8
example.com
Welcome to example.com website
Next, create an index.html page for site example1.com.
1
sudo nano /var/www/html/example1.com/index.html
Copy and paste below content to file.
1
2
3
4
5
6
7
8
example1.com
Welcome to example1.com website
3. Grant Permissions
Grant permissions of example.com and example1.com directory by commands:
1
chown -R www-data:www-data /var/www/html/example.com
1
chown -R www-data:www-data /var/www/html/example1.com
4. Create a Virtual Host Configuration File
Create an Apache virtual host configuration file for example.com:
1
sudo nano /etc/apache2/sites-available/example.com.conf
Add the following lines:
1
2
3
4
5
6
7
8
ServerAdmin webmaster@localhost
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html/example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Create an Apache virtual host configuration file for example1.com:
1
sudo nano /etc/apache2/sites-available/example1.com.conf
And add the following lines:
1
2
3
4
5
6
7
8
ServerAdmin webmaster@localhost
ServerName example1.com
ServerAlias www.example1.com
DocumentRoot /var/www/html/example1.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Then, enable the virtual host configuration file with the following commands:
1
sudo a2ensite example.com.conf
1
sudo a2ensite example1.com.conf
Restart Apache for the changes to take effect.
1
sudo systemctl restart apache2
5. Test your Results
Visit the website with the path http://example.com you will see results like this:
And visit the website with the path http://example1.com you will see results like this:
Thank you for reading!