1]Activate the SSL Module
sudo a2enmod ssl sudo service apache2 restart
2]create a new directory where we will store the server key and certificate
sudo mkdir /etc/apache2/ssl
3]Create a Self Signed SSL Certificate
this certificate will expire after one year.
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
4]The most important line is “Common Name”. Enter your official domain name here or, if you don’t have one yet, your site’s IP address.
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) :NYC
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Awesome Inc
Organizational Unit Name (eg, section) :Dept of Merriment
Common Name (e.g. server FQDN or YOUR name) :example.com
Email Address :[email protected]
5]Set Up the Certificate
sudo nano /etc/apache2/sites-available/default-ssl ServerName example.com:443 SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key
6]Activate the New Virtual Host
sudo a2ensite default-ssl sudo service apache2 reload