Questa guida approfondisce l’installazione di certificati SSL gratuiti forniti da Let’s Encrypt utilizzando Certbot e configurandoli su uno stack LEMP (Linux, Nginx, MySQL, PHP) in un server Ubuntu.
Prerequisiti
- Un server Ubuntu configurato seguendo la guida di configurazione iniziale (documentazione ufficiale).
- Un nome di dominio registrato con i record DNS correttamente configurati (A record per il dominio principale e il sottodominio
www). - Nginx installato e configurato con blocchi server per il dominio.
Passaggi
1. Installare Certbot
Certbot può essere installato tramite Snap. Aggiorna Snap core ed elimina versioni precedenti di Certbot se necessario:
sudo snap install core; sudo snap refresh core
sudo apt remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
2. Configurare Nginx
Assicurati che Nginx sia configurato con il corretto blocco server, includendo la direttiva server_name:
server {
server_name example.com www.example.com;
...
}
3. Configurare il Firewall
Permetti il traffico HTTPS tramite il profilo Nginx Full:
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
4. Ottenere un Certificato SSL
Esegui Certbot per ottenere e configurare automaticamente il certificato:
sudo certbot --nginx -d example.com -d www.example.com
5. Verificare il Rinnovo Automatico
Certbot configura automaticamente un timer per il rinnovo dei certificati. Verifica lo stato del timer:
sudo systemctl status snap.certbot.renew.service
Simula un rinnovo per verificare la configurazione:
sudo certbot renew --dry-run