CPanel менен кээ бир бөлүшүлгөн хостинг пакеттери AutoSSLди сунуштабайт же аларды жогору баада гана сунушташат. Натыйжа: Сиз cPanel интерфейси аркылуу бекер Let's Encrypt сертификатын бере албайсыз жана бардык домендер өз алдынча кол коюлган сертификатка тыгылып калган. Браузер баракты "коопсуз" деп көрсөтөт. Чыгуунун жолу: сертификатты acme.sh менен өзүңүз алыңыз жана аны cPanel UAPI аркылуу орнотуңуз - AutoSSLсиз автоматтык түрдө жаңыртылат.
HTTPS көптөн бери милдеттүү болуп келген. Андыктан, өзүңүздүн хостинг пакетиңиз акысыз сертификат алуунун ыңгайлуу жолун сунуштабаганда, бул ого бетер кыжырды келтирет. Бул сиз ойлогондон да көп болот, мисалы, арзан баштапкы деңгээлдеги пакеттерде же план өзгөргөндөн кийин, сертификат күтүүсүздөн кошулбай калат. Бирок, бул боштукту кабыктагы бир нече сап код менен кооз жана биротоло жабууга болот – толук процесс төмөндө сүрөттөлгөн.
1. SSH аркылуу кириңиз
ssh -p <port> <user>@example.com
2. acme.sh орнотуңуз
curl https://get.acme.sh | sh -s email=me@example.com
source ~/.bashrc
3. "Келгиле, шифрлөөнү" CA катары коюңуз
acme.sh --set-default-ca --server letsencrypt
4. Сертификат берүү
acme.sh --issue -d example.com -d www.example.com -w ~/public_html
5. cPanel'ге орнотуңуз
acme.sh --deploy -d example.com --deploy-hook cpanel_uapi
6. Текшерүү
uapi SSL installed_hosts
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -issuer -dates
Илмек сертификатты UAPI аркылуу тиешелүү vHostка жазат. Жайгаштыруу жөндөөлөрү сакталды - мындан ары cron мөөнөтү бүтө электе баарын өз алдынча жаңыртат жана орнотот. Эмитент "Келгиле Шифрлейли" жана жарактуулук мөөнөтү келечекте 90 күндүн тегерегинде. Анын ордуна эски, өзүнөн өзү кол коюлган сертификат пайда болсо, браузерде катуу кайра жүктөө адатта жардам берет - мурунку сертификатты убактылуу сактоого болот.
Айрым хосттор өздөрүнүн cPanel хоокту иштетишет. install_ssl жана ушул сыяктуу нерсе менен жооп берет adminbin Cpanel/hooks2/...: exit 255. acme.sh дагы эле "ийгиликтүү орнотулду" деп кабарлайт - бул туура. Бул учурда, илгич иш жүзүндө орнотулгандыктан эмес, кийинки кадамдан (мисалы, ички эскертме же хосттон шайкештештирүү тапшырмасы) иштебей калат.
Умлауттары бар домендер үчүн acme.sh сертификатты ички түрдө Punycode формасында сактайт (xn--…), илгичтин авто-матчери Юникод формасын салыштырат. Натыйжа: “0 сайттын 0сүнө жайгаштырылган” – эч нерсе орнотулган эмес. Эң татаал нерсе, acme.sh бул жерде "Ийгилик" деп кабарлайт, андыктан ката оңой эле байкалбайт. Чечим: Түздөн-түз Punycode домени менен иштеңиз жана автоматтык режимди өчүрүңүз:
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
SSH мүмкүнчүлүгү менен сизге AutoSSLдин кереги жок: acme.sh сертификатты берет, ал cpanel_uapi-Hook аны орнотот, ал эми камтылган cron тапшырмасы аны автоматтык түрдө жаңыртып турат. Орнотулгандан кийин, акысыз HTTPS кызматы өз алдынча үзгүлтүксүз иштейт. Баштапкы күч-аракетин жумшагандар келечекте ар бир кол менен жаңыртууну үнөмдөп, ошол эле чечимди ошол эле аккаунттагы каалаган кошумча доменге бир буйрук менен кеңейте алышат.