Raspberry Pi • SSL Gratuito Apache
Guida elegante • aggiornata • pronta da copiare

Installazione di un certificato SSL gratuito
in Apache su Raspberry Pi

Questa pagina ti guida nell’installazione di un certificato SSL gratuito con Let’s Encrypt usando Certbot su Apache, direttamente su Raspberry Pi. I comandi sono ben visibili, ordinati e copiabili con un clic.

1

Requisiti prima di iniziare

Dominio, Apache funzionante e apertura porte sul router

1.01

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.

1.02

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.

Verifica Apache
sudo systemctl status apache2
1.03

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.

Se le porte non sono inoltrate correttamente oppure il dominio non punta all’IP giusto, la richiesta del certificato fallirà.
2

Installazione di Certbot

Pacchetto Certbot con plugin Apache per Raspberry Pi / Debian

2.01

Aggiorna i pacchetti del sistema

Aggiornamento sistema
sudo apt update
sudo apt upgrade -y
2.02

Installa Certbot e il plugin Apache

Questo comando installa Certbot e il modulo che consente di configurare automaticamente Apache.

Installazione Certbot
sudo apt install -y certbot python3-certbot-apache
2.03

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.

Lista siti Apache
sudo apache2ctl -S
Se il dominio non è presente nella configurazione Apache, Certbot potrebbe non riuscire ad associare correttamente il certificato al sito.
3

Richiesta del certificato SSL

Acquisizione da Let’s Encrypt e configurazione automatica di Apache

3.01

Avvia Certbot in modalità Apache

Questo comando avvia la procedura guidata per creare e installare il certificato SSL.

Richiesta certificato
sudo certbot --apache
3.02

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
3.03

Controlla dove vengono salvati i certificati

I certificati generati vengono salvati nella cartella del tuo dominio.

Percorso certificati
/etc/letsencrypt/live/sito-esempio.com/
In questa cartella troverai normalmente:
fullchain.pem → certificato completo
privkey.pem → chiave privata
3.04

Verifica che il sito risponda in HTTPS

Al termine apri il tuo dominio nel browser usando https:// e verifica che il lucchetto risulti valido.

Se ricevi errori, controlla:
• dominio DNS corretto
• porte 80 e 443 inoltrate
• Apache attivo
• VirtualHost coerente con il dominio
4

Rinnovo automatico del certificato

Test del rinnovo e verifica timer / cron già predisposti dal pacchetto

4.01

Testa il rinnovo senza rischi

Per controllare che il rinnovo funzioni correttamente, usa il test in modalità simulata.

Test rinnovo
sudo certbot renew --dry-run
4.02

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.

Verifica timer systemd
systemctl list-timers | grep certbot
Verifica eventuale cron
cat /etc/cron.d/certbot
4.03

Rinnovo manuale se necessario

In caso di necessità puoi sempre forzare un tentativo manuale di rinnovo.

Rinnovo manuale
sudo certbot renew
4.04

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.

Quindi la procedura corretta oggi è:
1. installare Certbot
2. ottenere il certificato
3. testare il rinnovo con sudo certbot renew --dry-run
4. verificare timer o cron esistenti
5

Comandi rapidi riepilogativi

Tutti insieme, pronti da copiare

Riepilogo completo
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