apache with virtual hosts code example
Example 1: virtual host apache
# File: /etc/apache2/sites-available/domain1.com.conf
<VirtualHost *:80>
# Server Name (domain name) and any aliases
ServerName domain1.com
ServerAlias www.domain1.com
#OPTIONAL Admin name
ServerAdmin [email protected]
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html
DocumentRoot /home/demo/public_html/domain1.com/public
# Custom log file locations, OPTIONAL:
LogLevel warn
ErrorLog /var/log/apache2/error-mydomainname.com.log
CustomLog /var/log/apache2/access-mydomainname.com.log combined
</VirtualHost>
# Enabling:
# sh ~ $
sudo a2ensite domain1.com # Refer to above ServerName!
# The utility may automatically suggest, but run:
sudo /etc/init.d/apache2 reload
# To restart apache!
Example 2: 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