Come utilizzare Let's Encrypt con Apache / ZNC / Webmin?

Tutto quello non compreso negli altri forum.
Rispondi
TuSaiChi
Administrator
Messaggi: 71
Iscritto il: 12 settembre 2016, 17:11

Come utilizzare Let's Encrypt con Apache / ZNC / Webmin?

Messaggio da TuSaiChi » 18 aprile 2017, 9:02

Let's Encrypt è un autorità di rilascio certificati SSL Gratis ed automatici.
basta recarsi nel loro portale web https://letsencrypt.org/ e seguire le istruzioni. Si viene catapultati nel sistema automatico "Certbot" , ove è possibile seguire le semplici istruzioni.

Apache 2.x
Per utilizzare il certificato sul webserver Apache 2.x è semplicissimo, basta seguire le istruzioni sul sito certbot https://certbot.eff.org/ scegliendo Apache e il sistema operativo. Bisogna avere i permessi di root ( amministratore ) della shell / vps / dedicato per poter effettuare le dovute installazioni.

Il sistema genera automaticamente il virtual server nella porta :443 del server Apache.
Nota importante, bisogna inserire il nome dominio completo, oppure sottodominio o indirizzo ip nel quale viene visualizzato il sito sul browser. Altrimenti il sistema non funziona ottimamente bene.
Se utilizzi un dominio completo, si dovrà inserire www.dominio.it , oppure sottodominio.dominio.it oppure 1234.1234.1234.1234 indirizzo ip.

ZNC
Per abilitare il certificato generato, bisogna unire i 3 certificati , si trovano nella cartella "/etc/letsencrypt/live/<sottodominio.dominio.it>/" in un unico file , che rinominiamo znc.pem
znc.pem si trova generamente nella directonry della znc "/home/utente/.znc/znc.pem
Come unire i tre certificati? semplice, bisogna eseguire il seguente comando
cat /etc/letsencrypt/live/<sottodominio.dominio.it>/privkey.pem > /home/<utente>/.znc/znc.pem
cat /etc/letsencrypt/live/<sottodominio.dominio.it>/cert.pem >> /home/<utente>/.znc/znc.pem
cat /etc/letsencrypt/live/<sottodominio.dominio.it>/chain.pem >> /home/<utente>/.znc/znc.pem
Eseguito il comando non è necessario eseguire riavvii o rehash della znc.

Webmin
Con Webmin ci sono due soluzioni
La prima è molto semplice, accedere a webmin poi nel seguente menù
Webmin --> Configurazione di Webmin --> Crittografia SSL --> Let's Encrypt
scegliere l'hostname usato per accedere a webmin es. sottodominio.dominio.it oppure indirizzo ip diretto
su Website root directory for validation file selezionare Other directory e nella casella accanto inserire la directory di apache, solitamente è "/var/www/
sull'opzione Copy new key and certificate to Webmin? selezionare SI/YES
per il resto lasciare invariato e successivamente cliccare su Request Certificate
Se il sistema genera un errore, bisogna tornare nella schermata precedente e cliccare invece su Just Update Renewal

Le seconda opzione è molto più semplice della prima. Bisogna recarci sempre nel precedente menù ovvero:
Webmin --> Configurazione di Webmin --> Crittografia SSL --> Let's Encrypt
e nella schermata principale Impostazioni SSL andiamo a sostituire i certificati .pem già presenti nelle opzioni.
La chiave privata e il cetificato li andiamo a trovare nella dir di Let's Encrypt /etc/letsencrypt/live/<dominio>

ovvero la chiave privata qui
/etc/letsencrypt/live/<dominio>/privkey.pem
il certificato lo troveremo qui
/etc/letsencrypt/live/<dominio>/cert.pem
nella stessa pagina, alla voce File di certificato addizionali (per i certificati concatenati)
andremmo ad inserire la directory del certificato CHAIN che troveremo qui
/etc/letsencrypt/live/<dominio>/chain.pem
Fatto tutto ciò, che sia la prima o la seconda opzione, possiamo cliccare sul pulsante Salva

I certificati di Let's Encrypt sono validi per 90 giorni, quindi è necessario rinnovarti prima della scadenza. E' possibile generare un comando CronJob che esegue tutto questo in automatico, come anche uno script bash per unire i file per la ZNC. Per Webmin se eseguite il secondo comando, non necessita di rinnovo manuale, altrimenti bisogna eseguire di nuovo la prima opzione. Apache si rinnova in automatico.

Rispondi