Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Installare un certificato SSL su Apache

Breve tutorial pratico all'installazione dei certificati SSL su Apache, finalizzata alla migrazione di un sito web da HTTP ad HTTPS.
Breve tutorial pratico all'installazione dei certificati SSL su Apache, finalizzata alla migrazione di un sito web da HTTP ad HTTPS.
Link copiato negli appunti

Nella lezione precedente, abbiamo visto come ottenere un certificato SSL da una certification authority. In questa lezione vedremo come installare tale certificato, assumendo di lavorare su Apache.

Nell'approfondimento dedicato a Let's Encrypt, avevamo spiegato in che modo ottenere ed installare automaticamente un certificato SSL su Apache. In questo caso, infatti, è sufficiente un singolo comando:

./letsencrypt-auto --apache

Se abbiamo scelto, per qualche motivo, di non utilizzare Let's Encrypt, dovremo però procedere diversamente. La procedura non è complicata, ma non certo immediata come nel caso appena descritto.

La prima cosa da fare è scaricare il certificato appena ricevuto dalla Certification Authority, che generalmente ci viene inviato via mail sotto forma di archivio .zip. Generalmente, tale archivio contiene due file: il certificato SSL ed un certificato di intermediazione. Se così non è, questo link fornirà ulteriori informazioni per l'ottenimento di entrambi questi file.

L'installazione dei certificati necessita, innanzitutto, del caricamento di questi due file in una cartella del nostro server, solitamente /etc/apache/ssl/ nel caso di Apache, oppure /etc/apache2/ssl nel caso di Apache2. Fatto ciò, verifichiamo che Apache abbia effettivamente installato il modulo SSL. Per farlo, eseguiamo il comando seguente:

a2enmod ssl

Riavviamo quindi Apache come segue (assumendo di lavorare su Ubuntu):

sudo service apache2 restart

A questo punto, apriamo il file httpd.conf di Apache (di cui abbiamo parlato appronditamente nella guida ad Apache), e cerchiamo la sezione dedicata ai Virtual Host. Aggiungiamo quindi quanto segue:

<VirtualHost *:443>
DocumentRoot /var/www/
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/certificato.crt
SSLCertificateKeyFile /etc/apache2/ssl/chiave_privata.key
SSLCertificateChainFile /etc/apache2/ssl/DigiCertCA.crt
</VirtualHost>

Il primo parametro serve a mettere in ascolto Apache sulla porta 443 (ovvero quella di default per HTTPS), mentre SSLEngine on abilita le funzionalità di SSL. SSLCertificateFile indica il path del file del certificato SSL che abbiamo ricevuto dalla CA, mentre SSLCertificateChainFile indica il path del certificato di intermediazione. Infine, SSLCertificateKeyFile indica il file contenente la nostra chiave privata, che può essere generata a partire dal file .crt come descritto a questo link.

Salviamo quindi il file httpd.conf e riavviamo nuovamente Apache.

Redirect di HTTP su HTTPS

In molti casi, per garantire la retrocompatibilità del nostro sito HTTPS con chi tenta di raggiungerlo in HTTP, possiamo aggiungere una ulteriore entry ai Virtual Host che effettua un redirect automatico; ecco come:

<VirtualHost *:80>
    ServerName  miosito.com/
    Redirect / https://miosito.com/
</VirtualHost>

Ti consigliamo anche