Certificat SSL ACME pe găzduirea cPanel cu acme.sh
TipărirePe găzduirea cPanel TopHost puteți folosi un abonament Sectigo ACME fără acces root: clientul acme.sh rulează în propriul dvs. cont, obține certificatul, îl instalează în cPanel prin API-ul cPanel și îl reînnoiește automat din sarcinile cron ale contului. Vă trebuie doar Terminal (sau SSH) și datele ACME. Dacă vă ajunge un certificat gratuit, nu aveți nimic de instalat: de el se ocupă AutoSSL.
De ce aveți nevoie
- Un cont de găzduire cPanel cu acces la Terminal sau SSH. Dacă pictograma Terminal lipsește sau SSH nu este activat pentru contul dvs., cereți-ne printr-un tichet.
- Server URL, EAB MAC ID și EAB MAC Key din Sectigo ACME Certificate-as-a-Service.
- Domeniul se deschide deja de pe serverul nostru prin HTTP (DNS-ul lui indică spre contul de găzduire).
- Directorul rădăcină al domeniului. În cPanel deschideți Domains din secțiunea Domains: coloana Document Root îl arată. Pentru domeniul principal este de obicei
/home/USERNAME/public_html, unde USERNAME este numele dvs. de utilizator cPanel.
Pasul 1. Deschideți un terminal
În cPanel mergeți în secțiunea Advanced și apăsați Terminal. La prima deschidere confirmați avertismentul cu I understand and want to proceed. Vă puteți conecta și de pe calculator, cu un client SSH, după articolul Conectarea la server prin SSH.
Pasul 2. Instalați acme.sh
curl https://get.acme.sh | sh -s email=admin@example.com
source ~/.bashrc
acme.sh --version
acme.sh se instalează în ~/.acme.sh/ și adaugă o sarcină zilnică în cron-ul contului. Dacă terminalul răspunde în continuare acme.sh: command not found, ieșiți și intrați din nou sau apelați programul cu calea completă: ~/.acme.sh/acme.sh.
Pasul 3. Înregistrați contul ACME
Rulați o singură dată, cu valorile dvs. din contul de client:
acme.sh --register-account \
--server https://acme.sectigo.com/v2/DV \
--eab-kid YOUR_EAB_MAC_ID \
--eab-hmac-key YOUR_EAB_MAC_KEY
Ca să nu mai scrieți adresa serverului în fiecare comandă ulterioară, o puteți seta ca implicită:
acme.sh --set-default-ca --server https://acme.sectigo.com/v2/DV
Pasul 4. Obțineți certificatul
acme.sh --issue --server https://acme.sectigo.com/v2/DV \
-d example.com -d www.example.com \
-w /home/USERNAME/public_html
Folosiți -d câte o dată pentru fiecare nume; toate numele trebuie să fie în lista de domenii a abonamentului. Calea de după -w este directorul rădăcină din pagina Domains. acme.sh pune un fișier temporar în .well-known/acme-challenge/ din acel dosar, autoritatea de certificare îl citește prin HTTP, iar certificatul se salvează în ~/.acme.sh/.
Pasul 5. Instalați-l în cPanel
acme.sh --deploy -d example.com --deploy-hook cpanel_uapi
Hook-ul cpanel_uapi instalează certificatul pe domeniu prin API-ul cPanel, fără copiere manuală. acme.sh reține hook-ul, deci după fiecare reînnoire certificatul nou se instalează din nou singur.
Pasul 6. Verificați rezultatul
- În cPanel deschideți SSL/TLS, apoi Manage SSL sites: la domeniu trebuie să apară certificatul nou, emitentul și data expirării. Același lucru, pe scurt, îl vedeți în SSL/TLS Status din secțiunea Security.
- Deschideți
https://example.comîn browser și uitați-vă la detaliile certificatului de sub lacăt.
De regulă, AutoSSL nu atinge un certificat valid instalat de dvs.; intervine doar când certificatul lipsește, nu este valid sau urmează să expire.
Reînnoirea
Sarcina cron zilnică verifică certificatele și le reînnoiește din timp, înainte de expirare. O găsiți în cPanel, la Cron Jobs (o linie care conține acme.sh --cron); nu o ștergeți. Comenzi utile:
acme.sh --list
acme.sh --renew -d example.com --force
Prima afișează certificatele și data următoarei reînnoiri. A doua forțează imediat o reînnoire, ceea ce e bine pentru a testa o dată tot lanțul; nu o rulați în mod repetat.
Dacă ceva nu merge
- Verificarea eșuează cu 404. Calea din
-wnu este directorul rădăcină al acelui domeniu (se întâmplă des la domeniile suplimentare și subdomenii) sau o regulă din.htaccessblochează dosarul/.well-known/. - Verificarea eșuează cu timeout sau alt IP. Domeniul nu indică încă spre serverul nostru. Verificați nameserverele sau înregistrarea A și așteptați până când schimbarea DNS devine vizibilă.
- Erori unauthorized sau EAB la înregistrare. EAB MAC ID sau cheia au fost copiate incomplet ori adresa serverului este greșită.
- Domeniul nu este găsit sau nu este emis la rularea
--deployori--renew. Versiunile actuale de acme.sh creează implicit chei ECC; dacă comanda nu găsește certificatul, adăugați-i--ecc. - Pasul de instalare raportează o eroare. Rulați-l din nou cu
--debugși trimiteți-ne rezultatul într-un tichet, fără EAB MAC Key.
Documentația oficială acme.sh se află la github.com/acmesh-official/acme.sh/wiki.