Introduzione

Let's Encrypt è una certification authority (CA) che automatizza gratuitamente la creazione, la validazione, il rilascio ed il rinnovo di certificati X.509 per il protocollo TLS / SSL, abilitando l'HTTPS crittografato sui server Web.

In questo tutorial, si utilizzerà Certbot per ottenere un certificato SSL gratuito per Apache su Fedora 26 e per impostare il certificato per il rinnovo automatico.

Certbot è un client automatico di facile utilizzo che recupera e distribuisce i certificati SSL / TLS per il server web.

Installare Certbot

Certbot è presente nei repository ufficiali di Fedora, è possibile quindi installarlo con il seguente comando da terminale:
sudo dnf install certbot-apache

I plugin DNS di Certbot possono essere utilizzati anche per automatizzare l'ottenimento di un certificato Wildcard dal server ACMEv2 di Let's Encrypt per Fedora 26. Per utilizzare questi plugin si devono configurare i DNS del dominio per il quale si vogliono ottenere i certificati. Per ulteriori informazioni leggi la documentazione ufficiale.

Configurare il file hosts

Attenzione: se il file hosts non è stato configurato, è possibile, con il seguente comando, inserire il proprio dominio per associarlo al server:
echo 127.0.0.1 www.esempio.it esempio.it >> /etc/hosts

Configuare VirtualHost

Attenzione: se non è stato già fatto, è necessario configurare un VirtualHost per ottenere i certificati SSL, utilizzando Certbot.
Quindi aprire il seguente file:
sudo vi /etc/httpd/conf/httpd.conf

Cercare la seguente riga:

#ServerName www.example.com:80

Decommentarla e modificarla in questo modo:

ServerName 127.0.0.1:80

Aggiungere le seguenti righe alla fine del file:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName esempio.it
    ServerAlias www.esempio.it
    DocumentRoot /var/www/html
</VirtualHost>

Ottenere un certificato SSL

Il primo passo per utilizzare Let's Encrypt per ottenere un certificato SSL è installare il software Certbot sul tuo server.
sudo certbot --apache

Altrimenti potresti ottenere il certificato e successivamente configurare manualmente Apache con il seguente comando:
sudo certbot --apache certonly

Certbot è ora pronto per l'uso.

Se si desidera ottenere un certificato Wildcard utilizzando Let's Encrypt, sarà necessario utilizzare uno dei plug-in DNS di Certbot. Per fare ciò, assicurarsi che il plugin del proprio provider DNS sia installato seguendo le istruzioni sopra riportate ed eseguire il seguente comando con il vostro nome dominio:
sudo certbot -a dns-plugin -i apache -d "*.esempio.it" -d esempio.it --server https://acme-v02.api.letsencrypt.org/directory

Per saperne di più su come usare Certbot, leggi la documentazione ufficiale di Certbot.

Rinnovo automatico

I pacchetti Certbot sono dotati di un cron job che rinnoverà automaticamente i tuoi certificati prima che scadano. Poiché i certificati Let's Encrypt durano per 90 giorni, è altamente consigliato sfruttare questa funzionalità. È possibile verificare il rinnovo automatico dei certificati eseguendo questo comando:
sudo certbot renew --dry-run

Se risulta funzionare correttamente, puoi impostare il rinnovo automatico aggiungendo un processo cron o un timer systemd che esegua questo comando:
certbot renew

L'installazione di Let's Encrypt per Apache su Fedora 26 utilizzando Certbot è terminata.