Adding virtual host on linux
1. domain added in linode panel
2. create your-domain.com virutal file
<VirtualHost 173.255.202.153:80>
ServerAdmin [email protected]
ServerName your-domain.com
ServerAlias www.your-domain.com
DocumentRoot /home/your-domain/public_html/
ErrorLog /home/your-domain/logs/error.log
CustomLog /home/your-domain/logs/access.log combined
</VirtualHost>
mkdir -p /home/your-domain/public_html
mkdir /home/your-domain/logs
----------------------------------------------------------
to disable default site
a2dissite default
to enable default site
a2ensite default
to enable new virtual host site after creating virtual host file in /etc/apache2/sites-available/your-domain.com run below command
a2ensite your-domain.com
to restart apache2
/etc/init.d/apache2 restart
reload new site without starting new site
/etc/init.d/apache2 reload
Creating self signed certificate to activate the ssl
su - root
mkdir /root/certs && cd /root/certs
Create the certificate:
openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out MyCertificate.crt -keyout MyKey.key
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/ssl/certs/example.com.crt
SSLCertificateKeyFile /etc/ssl/private/example.com.key
SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt #If using a self-signed certificate, omit this line
ServerAdmin [email protected]
ServerName www.example.com
ServerAlias www.example2.com #If using alternate names for a host
DocumentRoot /var/www/html/example.com/public_html/
ErrorLog /var/www/html/example.com/log/error.log
CustomLog /var/www/html/example.com/log/access.log combined
</VirtualHost>
Ensure that the Apache SSL module is enabled, and enable the virtualhost configuration:
a2enmod ssl
a2ensite example.com
service apache2 restart