Ok, il titolo non è proprio tecnico, ma piuttosto che al titolo, ho pensato a chi ne aveva bisogno e a “come lo avrebbe cercato su google…” 😀
Detto questo, passiamo alla parte utile di questo articolo, dedicato agli emergenti amministratori di server, ovvero, a come abilitare il protocollo https sul proprio sito.
Prima di tutto occorre creare i certificati, quindi, utilizzeremo OpenSSL da terminale, se non lo avete installato, potete farlo digitando nel terminale:
sudo apt-get update [invio]
sudo apt-get install openssl libssl-dev [invio]
*in realtà il pacchetto libssl-dev non occorre, ma, per coloro che seguono il nostro blog, lo consigliamo perchè ritornerà utile in molte delle guide postate (dove è richiesto l’utilizzo di SSL).
Ora passiamo alla creazione del certificato, sempre da terminale:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt [invio]
Creiamo con questo comando una chiave SSL valida per 1 anno (-days 365) criptata a 2048 bits (rsa:2048), ora andiamo a creare il file di conf per apache2, da terminale:
cd /etc/apache2/sites-available [invio]
sudo nano miosito.com.conf [invio]
Copia questo codice e incollalo nel file appena creato miosito.com.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
molto probabilmente, è disponibile il file di conf (utile se si gira un unico sito sul proprio webserver) default-ssl.conf. Se presente, potete aprirlo ed editare solo la parte inerenti il percorso dei certificati appena installati, quindi da terminale:
sudo nano default-ssl.conf [invio]
individua queste due righe:
SSLCertificateFile /etc/ssl/certs/snakeoil.crt
SSLCertificateKeyFile /etc/ssl/private/snakeoil.key
e sostituiscile con queste:
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
Abilitiamo il nuovo sito https:
A questo punto, abilitiamo SSL in Apache, da terminale:
sudo a2enmod ssl [invio]
sudo systemctl restart apache2 [invio]
Ora abilitiamo il file .conf:
sudo a2ensite default-ssl.conf [invio]
(nel caso abbiate creato il vostro file conf, sostituite default-ssl.conf con quello nuovo)
sudo systemctl reload apache2 [invio]
FInito! Buon Lavoro 😀