Requisiti prima di iniziare
Dominio, Apache funzionante e apertura porte sul router
Serve un nome di dominio valido
Per ottenere un certificato Let’s Encrypt, il tuo Raspberry Pi deve essere raggiungibile tramite un dominio o sottodominio che punti al tuo IP pubblico. Il solo indirizzo IP non è sufficiente per il classico certificato HTTPS del sito.
Apache deve essere già installato e attivo
Prima di usare Certbot è bene verificare che Apache sia in funzione e che il sito risponda correttamente in HTTP.
sudo systemctl status apache2
Apri e inoltra le porte 80 e 443
Sul router devi fare il port forwarding verso l’IP interno del Raspberry Pi:
Porta 80
Serve per la validazione HTTP di Let’s Encrypt.
Porta 443
Serve per il traffico HTTPS protetto con SSL/TLS.
Installazione di Certbot
Pacchetto Certbot con plugin Apache per Raspberry Pi / Debian
Aggiorna i pacchetti del sistema
sudo apt update sudo apt upgrade -y
Installa Certbot e il plugin Apache
Questo comando installa Certbot e il modulo che consente di configurare automaticamente Apache.
sudo apt install -y certbot python3-certbot-apache
Controlla che Apache abbia un VirtualHost valido
Certbot con l’opzione --apache funziona meglio se Apache è già configurato con un sito attivo e con il dominio impostato nel VirtualHost.
sudo apache2ctl -S
Richiesta del certificato SSL
Acquisizione da Let’s Encrypt e configurazione automatica di Apache
Avvia Certbot in modalità Apache
Questo comando avvia la procedura guidata per creare e installare il certificato SSL.
sudo certbot --apache
Inserisci i dati richiesti
Durante la procedura ti verranno chieste alcune informazioni, tra cui:
- indirizzo email
- accettazione dei termini di Let’s Encrypt
- eventuale scelta del dominio da proteggere
- eventuale redirect automatico da HTTP a HTTPS
Controlla dove vengono salvati i certificati
I certificati generati vengono salvati nella cartella del tuo dominio.
/etc/letsencrypt/live/sito-esempio.com/
fullchain.pem → certificato completo
privkey.pem → chiave privata
Verifica che il sito risponda in HTTPS
Al termine apri il tuo dominio nel browser usando https:// e verifica che il lucchetto risulti valido.
• dominio DNS corretto
• porte 80 e 443 inoltrate
• Apache attivo
• VirtualHost coerente con il dominio
Rinnovo automatico del certificato
Test del rinnovo e verifica timer / cron già predisposti dal pacchetto
Testa il rinnovo senza rischi
Per controllare che il rinnovo funzioni correttamente, usa il test in modalità simulata.
sudo certbot renew --dry-run
Verifica se il rinnovo automatico è già attivo
Sui sistemi moderni installati da pacchetto, Certbot imposta di solito automaticamente un meccanismo di rinnovo tramite systemd timer o cron.
systemctl list-timers | grep certbot
cat /etc/cron.d/certbot
Rinnovo manuale se necessario
In caso di necessità puoi sempre forzare un tentativo manuale di rinnovo.
sudo certbot renew
Nota sul vecchio cron mostrato nella tua procedura
La riga che avevi visto in /etc/cron.d/certbot serve proprio a far girare periodicamente Certbot. Tuttavia, sulle installazioni moderne non è necessario crearla a mano: va solo verificato che il pacchetto abbia già predisposto il rinnovo automatico.
1. installare Certbot
2. ottenere il certificato
3. testare il rinnovo con
sudo certbot renew --dry-run
4. verificare timer o cron esistenti
Comandi rapidi riepilogativi
Tutti insieme, pronti da copiare
sudo systemctl status apache2 sudo apt update sudo apt upgrade -y sudo apt install -y certbot python3-certbot-apache sudo apache2ctl -S sudo certbot --apache sudo certbot renew --dry-run systemctl list-timers | grep certbot cat /etc/cron.d/certbot