In this guide we’ll create a generic apache config file to ‘automatically’ create virtual hosts for a specific domain in your server
Sometimes you have a development server with one primary domain, and some sub-domains with your projects and/or stuff that still need to be validated
Firstly you will need to disable SELinux or configure the folders appropriately ( not covered in this guide ).
After having done this step, you can just append to your base apache configuration the following.
UseCanonicalName Off #Allowing access to public_html folders <Directory "/srv/apache/*/public_html/"> AllowOverride All Order allow,deny Allow from all # Allow open access: Require all granted </Directory>
This configuration enables any folder that have the path ‘/srv/apache/*/public_html/’ to be used as a root folder for a virtual host,
we can then proceed to create the main virtual host.
#Creating the Primary Domain <VirtualHost *:80> ServerAdmin [email protected] ServerName example.com Options +FollowSymLinks DocumentRoot /srv/apache/domain/public_html/ </VirtualHost>
The next step is creating a config file, or appending to the main domain config file, with the following.
#Creating the entry to *.example.com <VirtualHost *:80> ServerAdmin [email protected] ServerAlias *.example.com Options +FollowSymLinks VirtualDocumentRoot /srv/apache/%1/public_html/ </VirtualHost>
If you followed this steps, you can easily spin up new vhosts just creating the folder
‘/srv/apache/vhost/public_html/’ it will be accessible by the link http://vhost.example.com/