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 radice 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.