Certificat SSL pe LiteSpeed și OpenLiteSpeed cu acme.sh (ACME)

Tipărire
  • 0

Pe un VPS sau server dedicat cu OpenLiteSpeed ori cu LiteSpeed Enterprise instalat de sine stătător, obțineți un certificat Sectigo din abonamentul ACME cu ajutorul acme.sh, indicați o singură dată fișierele în LiteSpeed, iar acme.sh reînnoiește apoi certificatul și repornește singur serverul web. Mai jos găsiți fiecare pas, de la instalarea acme.sh până la listener-ul HTTPS din WebAdmin.

Ghidul nu se aplică pachetelor WordPress Hosting și Business Hosting de la TopHost: acolo LiteSpeed este administrat de cPanel, certificatul gratuit vine din AutoSSL, iar un certificat ACME se instalează ca în articolul acme.sh pe găzduirea cPanel. La fel și pentru LiteSpeed Enterprise care rulează sub orice panou de control: folosiți instrumentele SSL ale panoului.

Cerințe

  • Acces root sau sudo prin SSH (vedeți conectarea prin SSH).
  • Înregistrarea A a domeniului și, dacă o folosiți, AAAA indică spre server.
  • O gazdă virtuală (virtual host) pentru site, care răspunde deja pe portul 80.
  • Porturile 80 și 443 deschise în firewall. Portul 7080 al WebAdmin lăsați-l accesibil doar de la adresa dvs. IP.
  • Server URL, EAB MAC ID și EAB MAC Key din Sectigo ACME Certificate-as-a-Service.

Pasul 1. Instalați acme.sh

curl https://get.acme.sh | sh -s email=admin@example.com
source ~/.bashrc
acme.sh --version

Dacă descărcarea eșuează, instalați curl (și socat sau cron, dacă instalatorul le cere) cu managerul de pachete al sistemului și rulați comanda din nou.

Pasul 2. Înregistrați-vă la serverul ACME Sectigo

acme.sh --register-account \
  --server https://acme.sectigo.com/v2/DV \
  --eab-kid YOUR_EAB_MAC_ID \
  --eab-hmac-key YOUR_EAB_MAC_KEY \
  --accountemail admin@example.com

Se face o singură dată pe server. Pe adresa din --accountemail primiți notificările despre cont.

Pasul 3. Aflați directorul rădăcină și emiteți certificatul

În WebAdmin deschideți Virtual Hosts, selectați site-ul și uitați-vă la Document Root pe fila General. Pe un OpenLiteSpeed curat este /usr/local/lsws/Example/html, iar sub CyberPanel de regulă /home/example.com/public_html. Apoi:

acme.sh --issue --server https://acme.sectigo.com/v2/DV \
  -d example.com -d www.example.com \
  -w /home/example.com/public_html

Folosiți modul webroot de mai sus, nu modul standalone: acesta încearcă să pornească propriul server web pe portul 80, pe care LiteSpeed îl ocupă deja.

Pasul 4. Copiați certificatul într-un loc fix

mkdir -p /usr/local/lsws/conf/cert/example.com
acme.sh --install-cert -d example.com \
  --key-file /usr/local/lsws/conf/cert/example.com/privkey.pem \
  --fullchain-file /usr/local/lsws/conf/cert/example.com/fullchain.pem \
  --reloadcmd "/usr/local/lsws/bin/lswsctrl restart"

acme.sh copiază cheia și lanțul complet în acel dosar acum și după fiecare reînnoire, apoi rulează comanda de reîncărcare. lswsctrl restart face o repornire lină, fără a întrerupe conexiunile deschise. Nu indicați în LiteSpeed direct fișierele din ~/.acme.sh/; structura lor se poate schimba de la o versiune la alta.

Pasul 5. Activați HTTPS în WebAdmin

Deschideți WebAdmin la https://SERVER_IP:7080 și autentificați-vă.

  1. Intrați în Listeners și adăugați un listener nou: un nume, de exemplu HTTPS, IP Address ANY, Port 443, Secure Yes. Salvați.
  2. Deschideți listener-ul creat și fila SSL. La SSL Private Key and Certificate setați Private Key File la /usr/local/lsws/conf/cert/example.com/privkey.pem, Certificate File la /usr/local/lsws/conf/cert/example.com/fullchain.pem și Chained Certificate la Yes. Salvați.
  3. Pe fila Virtual Host Mappings adăugați gazda virtuală și domeniile example.com, www.example.com.
  4. Apăsați Graceful Restart.

Găzduiți pe același server mai multe site-uri, fiecare cu certificatul lui? Păstrați un singur listener HTTPS și setați cheia și certificatul în fila SSL a fiecărei gazde virtuale; LiteSpeed alege certificatul potrivit după numele cerut.

CyberPanel scrie propria configurație pentru site-urile pe care le administrează și poate înlocui modificările manuale din WebAdmin. Pe CyberPanel verificați, după o actualizare a panoului sau o modificare a site-ului, că în setări au rămas căile dvs. către certificat.

Pasul 6. Verificați HTTPS și reînnoirea

  • Deschideți https://example.com și verificați certificatul de sub lacăt: emitentul, numele acoperite și data expirării.
  • Rulați crontab -l: trebuie să existe o linie cu acme.sh --cron, care verifică zilnic certificatele.
  • Rulați acme.sh --list ca să vedeți certificatele și data următoarei reînnoiri.
  • Pentru a testa o dată tot lanțul (reînnoire, copiere, repornire), rulați acme.sh --renew -d example.com --force.

Depanare

  • Timeout la validare. Portul 80 este blocat de firewall sau înregistrarea DNS indică încă în altă parte. Pe server, ss -tlnp | grep ':80 ' arată dacă LiteSpeed ascultă pe port.
  • 404 pentru fișierul de verificare. Calea din -w nu este directorul rădăcină al acelei gazde virtuale sau o regulă de rescriere redirecționează /.well-known/acme-challenge/.
  • unauthorized la înregistrare. Verificați EAB MAC ID, EAB MAC Key și adresa serverului, copiate fără spații.
  • Site-ul arată încă certificatul vechi sau unul implicit. Listener-ul sau gazda virtuală indică alte fișiere, domeniul lipsește din Virtual Host Mappings sau LiteSpeed nu a fost repornit.
  • Domain not found la rularea --renew sau --install-cert. Adăugați --ecc: versiunile actuale de acme.sh emit implicit certificate ECC.

Pe un VPS administrat de TopHost ne puteți cere să facem noi această configurare. Altfel, dacă vă blocați, deschideți un tichet cu comanda și rezultatul complet, fără EAB MAC Key.

Articole utile

Răspunsul a fost util?