In questo tutorial, ti guideremo attraverso i passaggi per installare il certificato SSL Let's Encrypt su un VPS Ubuntu 18.04 e configurarlo con il server web Nginx.
Let's Encrypt è un'organizzazione di autorità di certificazione gratuita e automatizzata. Mirano a portare siti Web sicuri a tutti gli utenti sul Web. Rendono le installazioni facili e semplici e puoi persino impostare il rinnovo automatico in modo da non doversi mai preoccupare della scadenza del certificato. Iniziamo con l'installazione.
Prerequisiti
- Server con sistema operativo Ubuntu 18.04. Dovrebbe funzionare anche con altre distribuzioni Linux, ma questo tutorial parla specificamente di Ubuntu 18.04.
- Utente di sistema con privilegi sudo o account root
- Dominio o sottodominio indirizzato al tuo server. Ai fini di questo tutorial, utilizzeremo
domain.com
come esempio.
Passaggio 1:accedi e aggiorna il server
Prima di tutto, accedi al tuo server Ubuntu 18.04 tramite SSH come utente root o qualsiasi altro utente con privilegi sudo
ssh root@IP_Address -p Port_Number
Dove "IP_Address" e "Port_Number" sono l'indirizzo IP effettivo del tuo server e il numero di porta SSH.
Una volta effettuato l'accesso, esegui i seguenti comandi per assicurarti che tutti i pacchetti installati sul tuo server siano aggiornati all'ultima versione disponibile
apt update && apt upgrade
Puoi anche abilitare gli aggiornamenti automatici sul tuo server come descritto in uno dei nostri precedenti post sul blog, che è altamente raccomandato. In questo modo, il sistema controllerà automaticamente gli aggiornamenti.
Passaggio 2:installa il server Web Nginx
In questo tutorial, installeremo e utilizzeremo il server web Nginx. È un server Web gratuito, open source e ad alte prestazioni noto per le sue ottime prestazioni, stabilità, basso utilizzo delle risorse, ampio set di funzionalità e configurazione semplice. Nginx è disponibile nei repository ufficiali di Ubuntu 18.04 e l'installazione è piuttosto semplice. Esegui il seguente comando per installarlo sul tuo server
apt -y install nginx
Una volta installato il server web Nginx, dovrebbe essere avviato automaticamente. Puoi verificarne lo stato con il seguente comando
systemctl status nginx
Uscita:
â nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-07-24 02:40:17 CDT; 1min 8s ago Docs: man:nginx(8) Process: 28420 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 28419 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 28421 (nginx) Tasks: 3 (limit: 2321) CGroup: /system.slice/nginx.service ââ28421 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ââ28422 nginx: worker process ââ28423 nginx: worker process Jul 24 02:40:17 hostname systemd[1]: Starting A high performance web server and a reverse proxy server... Jul 24 02:40:17 hostname systemd[1]: Started A high performance web server and a reverse proxy server.
Abilita Nginx per l'avvio automatico dopo il riavvio del server
systemctl enable nginx
Passaggio 3:installa Certbot
Certbot è uno strumento gratuito e open source scritto in Python che aiuta a ottenere il certificato SSL da Let's Encrypt e a configurarlo sul tuo server web. La versione di Cerbot che può essere installata dai repository ufficiali di Ubuntu è obsoleta, quindi per installare l'ultima versione gestita dal team di Certbot, dovremo aggiungere il PPA di Certbot al tuo elenco di repository.
Per farlo, esegui i seguenti comandi sul tuo server
apt install software-properties-common add-apt-repository universe add-apt-repository ppa:certbot/certbot
Durante il processo di aggiunta del repository, ti verrà chiesto di premere il pulsante Invio per accettarlo. Dopodiché aggiorna l'elenco dei repository
apt update
Una volta aggiunto il repository e aggiornato l'elenco dei repository, vai avanti e installa il pacchetto Certbot Nginx
apt -y install python-certbot-nginx
Passaggio 4:installa un certificato SSL Let's Encrypt
Come accennato nella sezione "Prerequisiti" del tutorial, utilizzeremo domain.com
come dominio di esempio. Quindi, per ottenere il certificato Let's Encrypt SSL per questo nome di dominio, eseguiremo Certbot con il plugin –nginx che modificherà la configurazione di Nginx per il dominio specifico.
certbot --nginx -d domain.com -d www.domain.com
Durante l'installazione del certificato Let's Encrypt SSL, ti verrà richiesto di inserire un indirizzo email utilizzato per il rinnovo urgente e gli avvisi di sicurezza
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected]
Leggi e accetta i Termini di servizio di Let's Encrypt
Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v01.api.letsencrypt.org/directory ------------------------------------------------------------------------------- (A)gree/(C)ancel: A
Scegli se reindirizzare o meno tutto il traffico a HTTPS, operazione consigliata.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. ------------------------------------------------------------------------------- 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. ------------------------------------------------------------------------------- Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/default -------------------------------------------------------------------------------
Con questo passaggio, il certificato SSL per domain.com
è installato correttamente e puoi accedere al tuo nome di dominio su https://domain.com
. Puoi utilizzare Certbot per verificarlo e controllare la data di scadenza del certificato
certbot certificates
Uscita:
Saving debug log to /var/log/letsencrypt/letsencrypt.log ------------------------------------------------------------------------------- Found the following certs: Certificate Name: domain.com Domains: domain.com Expiry Date: 2019-10-22 08:56:19+00:00 (VALID: 89 days) Certificate Path: /etc/letsencrypt/live/domain.com/fullchain.pem Private Key Path: /etc/letsencrypt/live/domain.com/privkey.pem -------------------------------------------------------------------------------
Passaggio 5:prova il rinnovo automatico
Il pacchetto certbot che abbiamo installato in questo tutorial viene fornito con un timer systemd che controllerà il certificato SSL e lo rinnoverà automaticamente prima della scadenza. Puoi controllare se il timer è in funzione come mostrato di seguito
systemctl list-timers |grep certbot Wed 2019-07-24 15:38:39 CDT 9h left n/a n/a certbot.timer certbot.service
Per verificare se il rinnovo automatico funziona correttamente, emetti il seguente comando
certbot renew --dry-run
Se funziona, allora è tutto! Hai impostato correttamente un certificato Let's Encrypt sul tuo VPS Ubuntu 18.04 e hai impostato il rinnovo automatico.
Ovviamente, se sei uno dei nostri clienti di Managed Ubuntu Hosting, non devi installare Let's Encrypt su Ubuntu 18.04 con Nginx:chiedi semplicemente ai nostri amministratori, siediti e rilassati. I nostri amministratori installeranno immediatamente Let's Encrypt su Ubuntu 18.04 con Nginx per te.
PS. Se ti è piaciuto questo post su come installare Let's Encrypt su Ubuntu 18.04 con Nginx , condividilo con i tuoi amici sui social network utilizzando i pulsanti di condivisione qui sotto, o semplicemente lascia un commento nella sezione commenti. Grazie.