As seen on Digital Ocean
Prereqs:
sudo apt-get update
sudo apt-get install apache2
Step One — Create the Directory Structure:
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
Step Two — Grant Permissions:
sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/test.com/public_html
Step Three — Create Demo Pages for Each Virtual Host:
nano /var/www/example.com/public_html/index.html
Step Four — Create New Virtual Host Files:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
sudo nano /etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Step Five — Enable the New Virtual Host Files:
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
sudo service apache2 restart