Come creare un certificato ssl con let's encrypt in modo manuale
La procedura è suddivisa in due parti. La prima parte è l'installazione di certbot sul PC Linux. La seconda parte, invece, è la creazione del certificato SSL tramite let's encrypt in modo manuale
Come installare certbot sul PC Ubuntu
Per installare certbot su un PC con sistema operativo Linux Ubuntu o derivato (es. Mint) aggiungo il PPA ufficiale di Certbot al repository.
sudo add-apt-repository ppa:certbot/certbot
Lancio un aggiornamento
sudo apt-get update
Infine, installo il pacchetto di cerbot
sudo apt-get install certbot
A questo punto certbot è installato sul PC.
Posso richiedere l'emissione di un certificato.
Come creare un certificato
Eseguo certbot assegnandogli la porta 80 (HTTP) o 443 (HTTPS).
sudo ufw allow 80
Se tutto va bene, il sistema accetta la regola e risponde
Rules updated
Rules updated (v6)
A questo punto richiedo l'emissione di certificato manuale.
sudo certbot certonly --manual --preferred-challenges http -d www.andreaminini.org
Con l'opzione --manual sto indicando che voglio seguire l'installazione manuale del certificato.
L'opzione --preferred-challanges indica a certbot di usare la porta 80 o la porta 443.
L'opzione -d è seguita dal nome di dominio su cui voglio richiedere il certificato.
Nota. E' anche possibile coprire più domini con un unico certificato aggiungendo diversi flag -d.
Durante la richiesta certbot mi chiede di indicare un indirizzo email e di accettare i termini del servizio.
Poi mi chiede di caricare sul server un file nella cartella .well-known per verificare che sia effettivamente l'amministratore del dominio.
Carico il file nella cartella indicata e premo invio.
Se tutto va bene, la schermata finale mi indica dove sono stati salvati i file del certificato e della chiave privata.
A questo punto devo soltanto caricarli sul server e legarli al dominio via Apache tramite la configurazione di SSL.
Per vederli digito
sudo ls /etc/letsencrypt/live/www.andreaminini.org
Nella cartella sono stati creati diversi file
Il file privkey.pem è la chiave privata del certificato ssl.
Il file fullchain.pem è il certificato ssl da utilizzare per il dominio.
Il certificato ssl è gratuito ma dura 3 mesi, poi va rinnovato.
Eventualmente, è possibile automatizzare la procedura di creazione e rinnovo.
E così via.