Introduzione
Il protocollo ACME (Automatic Certificate Management Environment) è un protocollo di comunicazione per automatizzare le interazioni tra le autorità di certificazione e i server Web degli utenti.
Acme è uno script scritto nel linguaggio Shell (Unix), senza dipendenze su python o sul client Let's Encrypt ufficiale.
Non richiede l'accesso root oppure sudoer.
L'installazione di Acme può essere effettuata sulle maggiori distribuzioni Linux, come Ubuntu, CentOS, Debian, Archlinux, OpenSUSE, Fedora e molte altre.
Installare Acme
Possiamo installare Acme utilizzando git, clonando il progetto ufficiale:
Da terminale dare questo comando:
git clone https://github.com/Neilpang/acme.sh.git
Entrare nella nuova cartella:
cd ./acme.sh
Avviare lo script:
./acme.sh --install
Questo script creerà in automatico anche un cron giornaliero per verificare ed eventualmente aggiornare i certificati.
Dopo l'installazione riavviare il terminale.
Installare Acme utilizzando curl oppure wget
È possibile installare acme anche tramite il comando curl:
curl https://get.acme.sh | sh
Oppure tramite il comando wget:
wget -O - https://get.acme.sh | sh
Come ottenere i certificati SSL
Per ottenere i certificati SSL è ncessario specificare il nome dominio e la webroot (ovvero la directory principale del web server), assicuratevi di avere i permessi di scrittura per questa cartella.
Quindi dare il seguente comando:
acme.sh --issue -d esempio.it -w /home/wwwroot/esempio.it
Oppure
acme.sh --issue -d esempio.it -w /home/username/public_html
Oppure
acme.sh --issue -d esempio.it -w /var/www/html
Per ottenere invece i certificati SSL per diversi domini contemporaneamente:
acme.sh --issue -d esempio.it -d www.esempio.it -d cp.esempio.it -w /var/www/esempio.it
I certificati verranno generati nella seguente cartella e aggiornati ogni 60 giorni:
~/.acme.sh/esempio.it/
Come installare i certificati in Apache oppure Nginx
Dopo che i certificati SSL sono stati generati, utilizzando i comandi descritti precedentemente, è possibile installarli per diversi web server, come per esempio Apache ed Nginx.
Non utilizzare direttamente i certificati all'interno della cartella ~/.acme.sh/esempio.it/, la struttura delle cartelle potrebbe cambiare con il tempo.
Per installare i certificati in Apache:
acme.sh --install-cert -d esempio.it \
--cert-file /path/to/certfile/in/apache/cert.pem \
--key-file /path/to/keyfile/in/apache/key.pem \
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
--reloadcmd "service apache2 force-reload"
Per installare i certificati in Nginx:
acme.sh --install-cert -d esempio.it \
--key-file /path/to/keyfile/in/nginx/key.pem \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd "service nginx force-reload"
Installa o copia il certificato nella cartella principale di Apache o Nginx.
Il certificato verrà rinnovato ogni 60 giorni per impostazione predefinita. Una volta che il certificato viene rinnovato, il servizio Apache / Nginx verrà riavviato automaticamente dal comando:
service apache2 force-reload
Opprure:
service nginx force-reload
Acme - Apache Mode
Bisogna effettuare l'accesso come root oppure come utente sudo.
Se si utilizza un web server Apache si consiglia di utilizzare la modalità di Webroot.
Questa modalità non scrive alcun file nella cartella root Web.
acme.sh --issue --apache -d esempio.it -d www.esempio.it -d cp.esempio.it
L'Apache Mode è solo per emettere il certificato, non cambierà i file di configurazione di apache. Sarà necessario configurare i file di configurazione del proprio sito Web manualmente.
Acme - Nginx Mode
Bisogna effettuare l'accesso come root oppure come utente sudo.
Se si esegue un web server Nginx si consiglia di utilizzare la modalità di Webroot.
Configura automaticamente il server nginx per verificare il dominio e quindi ripristina la configurazione di nginx nella versione originale.
Quindi, la configurazione non cambierà.
acme.sh --issue --nginx -d esempio.it -d www.esempio.it -d cp.esempio.it
La Nginx mode è solo per emettere il certificato, non cambierà i file di configurazione di nginx. Sarà necessario configurare i file di configurazione manualmente.
Acme - Standalone Mode
Se non utilizzi un web server e vuoi ottenere i certificati SSL utilizza la standalone mode:
Da terminale:
acme.sh --issue -d esempio.it --standalone
Come ottenere certificati SSL Wildcard
Un singolo certificato Wildcard SSL copre tutti i sottodomini del dominio principale.
Per ottenere un certificato Wildcard:
acme.sh --issue -d esempio.it -d '*.esempio.it' --dns dns_cf
Come aggiornare i certificati SSL
L'aggiornamento dei certificati SSL verrà eseguito in modo automatico, comunque è possibile forzare l'aggiornamento con il seguente comando:
acme.sh --renew -d esempio.it --force
Come fermare l'aggiornamento dei certificati SSL
Per fermare l'aggiornamento automatico dei certificati dare il seguente comando da terminale:
acme.sh --remove -d esempio.it
Come aggiornare acme.sh
Acme.sh è in continuo sviluppo e aggiornamento, è altamente consigliato aggiornarlo quando possibile, da terminale:
acme.sh --upgrade
Per abilitare l'aggiornamento automatico:
acme.sh --upgrade --auto-upgrade
Disabilitare l'aggiornamento automatico:
acme.sh --upgrade --auto-upgrade 0
Per maggiori informazioni visitare il seguente link.
L'installazione e la configurazione è terminata.