set up a virtual host in apache2 linux code example

Example: create a virtual host in apache

STEP 1:
# domain: DOMAIN_URL
# public: /var/www/DOMAIN_URL/public_html/public/

<VirtualHost *:80>
	# Admin email, Server Name (domain name), and any aliases
	ServerAdmin admin@DOMAIN_URL
	ServerName  DOMAIN_URL
	ServerAlias DOMAIN_URL
	
	# Index file and Document Root (where the public files are located)
	DirectoryIndex index.html index.php
	DocumentRoot /var/www/DOMAIN_URL/public_html/public/
	<Directory /var/www/DOMAIN_URL/public_html/public/>
        Options Indexes FollowSymLinks
        DirectoryIndex index.php
        AllowOverride All
        Require all granted
        Order allow,deny
        allow from all
	</Directory>
	# Log file locations
	LogLevel warn
	ErrorLog  /var/www/DOMAIN_URL/log/error.log
	CustomLog /var/www/DOMAIN_URL/log/access.log combined
</VirtualHost>


STEP 2: With our virtual host files created, we must enable them. We’ll be 
using the a2ensite tool to achieve this goal.

sudo a2ensite example.com.conf

STEP 3: When you are finished, you need to restart Apache to make these changes
take effect and use systemctl status to verify the success of the restart.

sudo systemctl restart apache2

refrence:
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-18-04-quickstart