Disa paketa të hostimit të përbashkët me cPanel nuk ofrojnë AutoSSL , ose ofrojnë vetëm plane me çmime më të larta. Si rezultat, nuk mund të lëshoni një certifikatë falas Let's Encrypt përmes ndërfaqes cPanel, dhe të gjitha domenet janë të bllokuara me një certifikatë të vetë-nënshkruar. Shfletuesi e shfaq faqen si "jo të sigurt". Zgjidhja: merrni vetë certifikatën duke përdorur acme.sh dhe instalojeni atë përmes cPanel UAPI - duke u rinovuar automatikisht, plotësisht 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
Çertifikata grep shkruan në hostin virtual përkatës nëpërmjet UAPI-t. Cilësimet e vendosjes ruhen - që nga tani e tutje, cron do të rinovojë dhe instalojë automatikisht gjithçka para skadimit. Lëshuesi është "Let's Encrypt" dhe data e skadimit është afërsisht 90 ditë në të ardhmen. Nëse certifikata e vjetër, e vetë-nënshkruar, ende shfaqet, një ringarkim i fortë në shfletues zakonisht ndihmon - certifikata e mëparshme mund të ruhet përkohësisht në memorien e përkohshme.
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 "zbatuar me sukses" - dhe kjo është e saktë. Në këtë rast, grepi dështon për shkak të një hapi pasues (siç është një njoftim i brendshëm ose punë sinkronizimi nga ofruesi i hostimit), 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ërputhësi automatik i grepit krahason formularin Unicode. Rezultati: "u vendos në 0 nga 0 faqe" - asgjë nuk është instaluar. Gjëja e fshehtë është se acme.sh raporton gjithashtu "Sukses" këtu, kështu që gabimi anashkalohet lehtësisht. Zgjidhja: Punoni drejtpërdrejt me domenin Punycode dhe çaktivizoni përputhjen automatike.:
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.