Se gestisci siti web su Plesk, non c’è più motivo di gestire i certificati manualmente. Con la giusta configurazione, puoi automatizzare l’emissione, il rinnovo e l’installazione dei certificati SSL utilizzando il protocollo ACME con External Account Binding (EAB).

Questa guida ti mostra esattamente come installare un certificato SSL ACME su Plesk (basato su Linux) utilizzando ACME.sh, un client ACME leggero che funziona senza problemi con Plesk.
Se hai un hosting condiviso, potresti non essere in grado di utilizzare questo metodo. La maggior parte degli ambienti condivisi non consente l’accesso root o gli script personalizzati. Questa guida funziona per i server VPS e dedicati, dove sei tu a controllare lo stack di hosting.
Prima di iniziare
Assicurati di aver preparato quanto segue prima di procedere con i passaggi:
- Un server o un VPS con Plesk Obsidian
- Accesso SSH al server. O root o un utente con i privilegi di sudo
- Un dominio attivo che punta al server tramite un record A o AAAA
- Porta 80 aperta e accessibile pubblicamente (necessaria per la convalida HTTP-01)
- Le credenziali EAB del provider SSL (EAB KID e EAB HMAC Key).
endpoint ACME da utilizzare:
- Sectigo: https://acme.sectigo.com/v2/DV
- DigiCert: https://acme.digicert.com/v2/acme
Passo 1: Controlla la radice del documento del tuo sito web in Plesk
Ti servirà il percorso della cartella principale del tuo sito in modo che ACME.sh possa posizionare correttamente i file di convalida.
- Accedi a Plesk
- Vai a Siti web e domini > yourdomain.com > Impostazioni di hosting
- Copia il valore della radice del documento. Il suo aspetto è il seguente: /var/www/vhosts/il tuo dominio.com/httpdocs
- Tieni questo percorso a portata di mano, lo utilizzerai nelle fasi successive.
Passo 2: Abilitare l’accesso SSH (se necessario)
Se il tuo piano di hosting non prevede l’abilitazione di SSH:
- Vai a Siti web e domini > yourdomain.com > Accesso all’hosting web
- In corrispondenza della voce Accesso al server tramite SSH, scegli /bin/bash o /usr/bin/bash
- Salva le impostazioni
Se sei su un host gestito/condiviso, contatta l’assistenza per richiedere l’accesso SSH.
Passo 3: Connettersi al server tramite SSH
Dal tuo terminale locale, collegati al server:
ssh [email protected]
Oppure, se utilizzi un utente non root:
ssh [email protected]
Passo 4: Installare ACME.sh
Esegui il programma di installazione ufficiale:
curl https://get.acme.sh | sh
source ~/.bashrc
Poi controlla la versione per verificare che sia installata:
acme.sh --version
Se non riesce, assicurati che curl e git siano installati. Se necessario, puoi rieseguire l’installazione con --force.
Passo 5: Registra il tuo account con EAB
La registrazione ACME è una configurazione unica che collega il tuo server all’autorità di certificazione, in modo che le future richieste di certificati possano essere convalidate ed elaborate automaticamente.
Questo comando registra il tuo account ACME con il tuo provider SSL(Sectigo o DigiCert) utilizzando le tue credenziali EAB.
acme.sh --register-account \
--server https://acme.sectigo.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--accountemail [email protected]
Ecco cosa significa ogni parte:
acme.sh --register-account– Avvia la registrazione dell’account ACME--server– L’URL ACME del tuo provider (Sectigo o DigiCert)--eab-kid– Il tuo EAB Key ID del fornitore--eab-hmac-key– La tua chiave segreta EAB HMAC (stringa lunga)--accountemail– L’email di contatto per l’account ACME
Questo comando deve essere personalizzato con i tuoi veri dati EAB e il tuo indirizzo e-mail. Non copiarlo così com’è.
Se lasci i segnaposto come YOUR_EAB_KID, il comando fallirà con un errore di autenticazione.
Una volta eseguita con successo, il tuo server è ora autorizzato a richiedere certificati SSL da quel provider; non è necessario registrarsi nuovamente in futuro, a meno che non cambi provider o credenziali.
Passo 6: Preparare la convalida HTTP
Crea la directory ACME challenge:
mkdir -p /var/www/vhosts/yourdomain.com/httpdocs/.well-known/acme-challenge
Poi verifica che funzioni:
echo "ok" > /var/www/vhosts/yourdomain.com/httpdocs/.well-known/acme-challenge/testfile
curl -I http://yourdomain.com/.well-known/acme-challenge/testfile
Dovresti vedere HTTP/1.1 200 OK. In caso contrario, controlla le regole del firewall, l’accesso alla porta 80 o il percorso della radice del documento.
Passo 7: Bypassare l’HTTPS forzato per ACME Path
Se il tuo sito reindirizza tutto il traffico verso l’HTTPS, la convalida HTTP-01 sarà interrotta, a meno che tu non permetta alla cartella di sfida di aggirarla.
Se stai usando Apache (predefinito su Plesk Linux)
Modifica il tuo file .htaccess nella radice del documento e aggiungi questo in cima:
RewriteEngine On
RewriteRule ^.well-known/acme-challenge/ - [L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Se stai usando Nginx (o se Nginx è di fronte ad Apache)
L’.htaccess di Apache non è utile in questo caso perché Nginx gestisce prima il reindirizzamento. Devi invece aggiungere una direttiva Nginx personalizzata in Plesk:
- Vai a Siti web e domini > yourdomain.com > Impostazioni Apache e Nginx
- Trova il campo con la dicitura Direttive aggiuntive di Nginx
- Incolla questo:
location ^~ /.well-known/acme-challenge/ {
root /var/www/vhosts/yourdomain.com/httpdocs;
allow all;
try_files $uri =404;
}
Questo indica a Nginx di servire direttamente il percorso di sfida, senza reindirizzamento HTTPS o proxy ad Apache. Salva e applica le modifiche.
Passo 8: Rilascio del certificato
Ora puoi richiedere il certificato. Ecco un esempio con Sectigo e due varianti di dominio:
acme.sh --issue \
-d yourdomain.com \
-d www.yourdomain.com \
-w /var/www/vhosts/yourdomain.com/httpdocs \
--server https://acme.sectigo.com/v2/DV
Puoi includere tutti i flag di -d necessari. Una volta emesso il certificato, ACME.sh salva tutto in questa cartella: /root/.acme.sh/ilvostrodominio.com/
I due file necessari per Plesk sono:
- yourdomain.com.key: questa è la tua chiave privata
- fullchain.cer: è il file del tuo certificato e include la catena completa (il tuo certificato + la catena della CA).
Questi sono i file che caricherai o utilizzerai nella CLI per installare il certificato in Plesk.
Passo 9: Importare il certificato in Plesk tramite l’interfaccia utente
- Vai a Siti web e domini > yourdomain.com > Certificati SSL/TLS
- Clicca su Aggiungi certificato SSL/TLS
- Carica il certificato (seleziona fullchain.cer) e la chiave privata (seleziona yourdomain.com.key). Clicca su Salva
- Torna alle Impostazioni di hosting e seleziona questo certificato nella sezione Supporto SSL/TLS.
- Clicca su OK o Applica
Il tuo dominio ora utilizza il certificato SSL ACME di terze parti.
Passo 10: Automatizza l’importazione tramite la CLI di Plesk (opzionale, ideale per Cron)
Per automatizzare l’applicazione del certificato nei rinnovi futuri, usa la CLI:
plesk bin certificate -c "acme-yourdomain" \
-domain yourdomain.com \
-cert-file /root/.acme.sh/yourdomain.com/fullchain.cer \
-key-file /root/.acme.sh/yourdomain.com/yourdomain.com.key
plesk bin domain -u yourdomain.com -ssl true -certificate-name "acme-yourdomain"
plesk bin httpdmng --reconfigure-domain yourdomain.com
Se il comando plesk non viene riconosciuto, prova a seguire il percorso completo: /usr/sbin/plesk bin …
Passo 11: automatizzare i rinnovi con lo script Deploy
ACME.sh rinnova automaticamente i certificati circa 30 giorni prima della scadenza. Ma inseriremo un hook successivo al rinnovo per applicarle automaticamente a Plesk.
1. Crea lo script di distribuzione
nano /usr/local/bin/plesk-acme-deploy.sh
Incolla quanto segue:
#!/usr/bin/env bash
set -euo pipefail
DOMAIN="yourdomain.com"
CERT_DIR="/root/.acme.sh/${DOMAIN}"
CERT_NAME="acme-${DOMAIN}"
CERT_FILE="${CERT_DIR}/fullchain.cer"
KEY_FILE="${CERT_DIR}/${DOMAIN}.key"
/usr/sbin/plesk bin certificate -c "${CERT_NAME}" \
-domain "${DOMAIN}" \
-cert-file "${CERT_FILE}" \
-key-file "${KEY_FILE}"
/usr/sbin/plesk bin domain -u "${DOMAIN}" -ssl true -certificate-name "${CERT_NAME}"
/usr/sbin/plesk bin httpdmng --reconfigure-domain "${DOMAIN}"
echo "Plesk deploy complete for ${DOMAIN}"
2. Salva e rendi eseguibile
chmod +x /usr/local/bin/plesk-acme-deploy.sh
3. Collegalo a ACME.sh
acme.sh --install-cert -d yourdomain.com \
--key-file ~/.acme.sh/yourdomain.com/yourdomain.com.key \
--fullchain-file ~/.acme.sh/yourdomain.com/fullchain.cer \
--reloadcmd "/usr/local/bin/plesk-acme-deploy.sh"
D’ora in poi, ogni rinnovo sarà applicato a Plesk.
Passo 12: Testare tutto
Visita il tuo sito all’indirizzo https://yourdomain.com. Il certificato deve essere valido e mostrare la tua CA.
Per testare il rinnovo e la distribuzione manuale, esegui:
acme.sh --renew -d yourdomain.com --force
Quindi, segui il registro:
tail -n 60 ~/.acme.sh/acme.sh.log
Dovresti vedere un rinnovo riuscito e “Plesk deploy complete” alla fine.
Problemi comuni e risoluzione dei problemi
Anche con la giusta configurazione, non sempre le cose vanno bene al primo tentativo, soprattutto per quanto riguarda la convalida del dominio, i reindirizzamenti o i percorsi dei file. Di seguito ti elenchiamo i problemi più comuni che potresti incontrare durante l’emissione o il rinnovo del certificato e come risolverli velocemente.
La convalida HTTP fallisce (404, timeout o testfile non trovato)
Ciò significa che il file di sfida ACME non viene servito correttamente.
- Controlla la radice del documento in Plesk > Impostazioni di hosting.
- Assicurati che la porta 80 sia aperta e non sia bloccata dal firewall, dal pannello di hosting o dal cloud provider.
- Se hai un reindirizzamento a HTTPS, assicurati che /.well-known/acme-challenge/ sia escluso come mostrato in precedenza.
“Non autorizzato” o “risposta non valida” durante l’emissione
Il server ACME non è riuscito a verificare la tua sfida, probabilmente a causa di una delle seguenti cause:
- I record DNS del tuo dominio non sono ancora stati aggiornati (record A o AAAA mancanti o ancora in fase di propagazione).
- Il file di prova non era raggiungibile, è stato rimosso troppo presto o bloccato da una regola.
- Stai utilizzando un CDN o un WAF (come Cloudflare) che intercetta il traffico HTTP. Metti temporaneamente in pausa il proxying o inserisci nella whitelist il percorso di ACME.
Non succede nulla dopo il rinnovo
Il certificato si rinnova, ma non viene applicato in Plesk.
Assicurati che il percorso dello script di deploy sia corretto nel comando –reloadcmd.
Verifica che lo script sia eseguibile:
chmod +x /usr/local/bin/plesk-acme-deploy.sh
Guarda all’interno del registro ACME con:
tail -n 60 ~/.acme.sh/acme.sh.log
Gli errori verranno visualizzati lì.
L’importazione di Plesk CLI non riesce
Il tuo script di deploy potrebbe essere eseguito, ma il certificato non è valido.
- Se il comando plesk non viene trovato, prova a utilizzare il percorso completo: /usr/sbin/plesk
- Controlla che i file.key e .cer esistano e abbiano i nomi corretti.
- Per forzare una riconfigurazione manuale, esegui:
plesk bin httpdmng --reconfigure-domain yourdomain.com
Le ultime parole
Ora hai una configurazione SSL pulita e completamente automatica in esecuzione sul tuo server Plesk. Da questo momento in poi, il tuo certificato si rinnoverà automaticamente in background e lo script aggiornerà Plesk immediatamente ogni volta che emetterai un nuovo certificato. Hai preso il pieno controllo del ciclo di vita del tuo certificato e ti sei semplificato la vita.
Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!
Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10

