Disa paketa të përbashkëta të pritjes me cPanel nuk ofrojnë AutoSSL ose i ofrojnë ato vetëm me tarifa më të larta. Rezultati: Nuk mund të lëshoni një certifikatë falas Let's Encrypt përmes ndërfaqes cPanel dhe të gjitha domenet janë mbërthyer në një certifikatë të vetë-nënshkruar. Shfletuesi e shfaq faqen si "jo të sigurt". Mënyra e daljes: merrni vetë certifikatën me acme.sh dhe instaloni atë nëpërmjet CPanel UAPI - rinovohet automatikisht, pa AutoSSL.
HTTPS ka qenë prej kohësh i detyrueshëm. Është akoma më zhgënjyese, pra, kur paketa juaj e hostimit nuk ofron një mënyrë të përshtatshme për të marrë një certifikatë falas. Kjo ndodh më shpesh nga sa mund të mendoni, për shembull me paketa të lira të nivelit fillestar ose pas një ndryshimi plani ku një certifikatë papritmas nuk përfshihet më. Megjithatë, ky boshllëk mund të mbyllet në mënyrë elegante dhe të përhershme vetëm me disa rreshta kodi në shell - procesi i plotë përshkruhet më poshtë.
1. Hyni nëpërmjet SSH-së
ssh -p <port> <user>@example.com
2. Instaloni acme.sh
curl https://get.acme.sh | sh -s email=me@example.com
source ~/.bashrc
3. Vendosni Let's Encrypt si CA
acme.sh --set-default-ca --server letsencrypt
4. Lëshoni certifikatë
acme.sh --issue -d example.com -d www.example.com -w ~/public_html
5. Instaloni në cPanel
acme.sh --deploy -d example.com --deploy-hook cpanel_uapi
6. Kontrolloni
uapi SSL installed_hosts
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -issuer -dates
Hook shkruan certifikatën në vHost-in e duhur nëpërmjet UAPI. Cilësimi i vendosjes është ruajtur - tani e tutje cron rinovon dhe instalon gjithçka në mënyrë të pavarur përpara se të skadojë. Emetuesi është "Let's Encrypt" dhe data e skadencës është rreth 90 ditë në të ardhmen. Nëse në vend të kësaj shfaqet certifikata e vjetër, e vetë-nënshkruar, zakonisht ndihmon një ringarkim i vështirë në shfletues - certifikata e mëparshme mund të ruhet përkohësisht.
Disa hostë përdorin grepin e tyre cPanel. install_ssl dhe përgjigjet me diçka të tillë adminbin Cpanel/hooks2/...: exit 255. acme.sh ende raporton "i vendosur me sukses" - dhe kjo është e saktë. Në këtë rast, grepa dështon për shkak të një hapi të mëpasshëm (p.sh. një detyrë e brendshme e njoftimit ose sinkronizimit nga hosti), jo për shkak të instalimit aktual.
Për domenet me umlaut, acme.sh e ruan certifikatën brenda në formën Punycode (xn--…), ndërsa përputhja automatike e grepit krahason formën Unicode. Rezultati: "i vendosur në 0 nga 0 sajte" - asgjë nuk është instaluar. Gjëja e ndërlikuar është se acme.sh gjithashtu raporton "Sukses" këtu, kështu që gabimi anashkalohet lehtësisht. Zgjidhja: Punoni drejtpërdrejt me domenin Punycode dhe çaktivizoni modalitetin automatik:
python3 -c "import sys;print(sys.argv[1].encode('idna').decode())" hallöle.de
acme.sh --issue -d xn--hallle-zxa.de -d www.xn--hallle-zxa.de -w ~/public_html
export DEPLOY_CPANEL_AUTO_ENABLED='false'
acme.sh --deploy -d xn--hallle-zxa.de --deploy-hook cpanel_uapi
Me akses SSH, nuk keni nevojë për AutoSSL: acme.sh lëshon certifikatën, e cila cpanel_uapi-Hook e instalon atë, dhe puna cron e përfshirë e mban atë të përditësuar automatikisht. Pasi të konfigurohet, shërbimi falas HTTPS funksionon vazhdimisht më vete. Ata që investojnë përpjekjen fillestare kursejnë çdo rinovim manual në të ardhmen - dhe mund ta zgjerojnë të njëjtën zgjidhje në çdo domen shtesë në të njëjtën llogari me një komandë të vetme.