Seleziona una pagina

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 😀