-
Notifications
You must be signed in to change notification settings - Fork 29
apache_ssl_14.sh
#! /bin/bash/
#Usage: source apache_ssh_certificate.sh
#Creates self-signed SSL Certificate based on Digital Oceans guide
#https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04
#Assumes a version of Ubuntu 14 and sudo access
#Activate SSL Module
sudo a2enmod ssl
sudo service apache2 restart
#Create the SSL Certificate
sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
#Configure Apache to Use SSL
read -p "What is your email address? : " email
read -p "What is your server domain or ip address? : " server_domain
echo "<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin $email
ServerName $server_domain
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
  downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule> " | sudo tee /etc/apache2/sites-available/default-ssl.conf > /dev/null
#Activate the SSL VirtualHost
sudo a2ensite default-ssl
sudo service apache2 restart