When developing a website and having to test notifications or webcam access in the browser you require a TLS connection. A self signed certificate is the solution here!
# Generate certificates
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
# Enable ssl in Apache
sudo a2enmod ssl
Add the following to your virtual host file:
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
Make sure your virtual host is listening on port 443. Change: <VirtualHost *:80>
to <VirtualHost *:80 *:443>
.
And restart Apache:
sudo service apache2 restart