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.

il caricamento del file nella cartella

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.

i file SSL

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.

Come installare Certbot sul server con Apache e Centos

Certbot è un componente essenziale per generare e gestire i certificati generati su Let's Encrypt.

Può essere installato sul server web.

Per installarlo è necessario avere accesso alla riga comando sul server tramite ssh, avere le autorizzazioni sudo e accesso alla porta 80.

Le istruzioni aggiornate si trovano direttamente sul sito web di Certbot.

Basta indicare il software (Apache, Plesk, ecc.) e il sistema operativo (Windows, Centos, ecc.) dove si trova il sito web e seguire le istruzioni.

il sito di Certbot

Ecco i passaggi passo dopo passo da compiere su un server con Centos7

Entro nel server dove si trova il sito web HTTP tramite SSH e verifico se è già installato snapd.

snap --version

Se non è installato, lo installo seguendo le istruzioni sul sito ufficiale di snap.

Una volta appurato che snapd è installato, verifico se certbot è già installato sul server.

certbot --version

Se non esiste, procedo con l'installazione di Certbot dalla riga di comando

sudo snap install --classic certbot

Poi eseguo questo comando per assicurarmi che può essere eseguito

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Infine, creo il certificato del sito scegliendo la strada manuale.

In questo modo evito che certbot modifichi il file di configurazione di Apache senza il mio controllo.

sudo certbot certonly --apache

In questa procedura mi viene chiesto per quale sito voglio ottenere il certificato.

Il sito deve essere già presente su Apache, in caso contrario va aggiunto e configurato.

Deve essere presente anche una porta 80 associata al sito per consentire a Cerbot di verificare che io sia effettivamente il titolare del dominio.

la procedura per creare il certificato

Al termine della procedura Certbot mi indica il path dove sono registrati i file del certificato e della chiave privata.

A questo punto non devo far altro che indicarli nella configurazione SSL di Apache e riavviarlo.

Se tutto è andato bene, il sito web dovrebbe vedersi anche sotto il protocollo HTTPS.

Vanno rinnovati manualmente?

I pacchetti Certbot sul sistema dovrebbero essere dotati di un sistema di rinnovo automatico. Quindi, dovrebbero rinnovarsi automaticamente prima della scadenza.

Tuttavia, per testare che il rinnovo automatico funzioni, è sempre meglio eseguire questo comando dalla riga di comando.

sudo certbot renew --dry-run 

Se il comando conferma il rinnovo automatico, allora è tutto ok. In caso contrario, va approfondita la causa del problema.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Libri di approfondimento

Https e SSL