This article is focused on Creating Virtual Hosts on Ubuntu using Letsencrypt Certificates, we learned to generate SSL files using free Letsencrypt. Now using them we are going to make a virtual host. Replace your_domain.com with your actual domain.
Just follow steps and copy code at this file.
cd /etc/apache2/sites-available
nano your_domain.conf
Now copy both sections to this file, save this file.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName your_domain.com
ServerAlias www.your_domain.com
DocumentRoot /web/html
# Redirect / https://your_domain.com/
<directory /web/html >
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow From All
</directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/your_domain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/your_domain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/your_domain.com/chain.pem
ServerAdmin webmaster@localhost
ServerName your_domain.com
ServerAlias www.your_domain.com
<directory /web/html >
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow From All
</directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Now run this to enable your newly created virtual host.
a2ensite your_domain.conf
Time to restart Apache
service apache2 restart
Now go to your browser, your site your_domain.com must start listening to this newly created virtual host. Horray!
To be summarised, It was horrible before Letsencrypt, Letsencrypt makes life so easy to call our websites to Secure!