CPanel менен биргелешип иштеген кээ бир жалпы хостинг пакеттери AutoSSL сунуштабайт – же кымбатыраак пландарда гана. Натыйжада, сиз cPanel интерфейси аркылуу акысыз Let's Encrypt сертификатын бере албайсыз жана бардык домендерде өз алдынча кол коюлган сертификат калат. Браузер баракчаны "коопсуз эмес" деп көрсөтөт. Чечим: сертификатты acme.sh аркылуу өзүңүз алып, аны cPanel UAPI аркылуу орнотуңуз. Ал AutoSSLдин кереги жок, автоматтык түрдө жаңыртылат.
HTTPS эми милдеттүү: анда сиздин хостинг пакетиңиз акысыз сертификат алуунун ыңгайлуу жолун сунуштабаганда, бул ого бетер кыжырды келтирет. Бул сиз ойлогондон да көп болот - мисалы, арзан баштапкы деңгээлдеги пакеттерде же план өзгөргөндөн кийин, сертификат күтүүсүздөн кошулбай калат. Бирок, бул боштукту кабыктагы бир нече сап код менен кооз жана биротоло жабууга болот - толук процесс төмөндө сүрөттөлгөн.
1. SSH аркылуу кириңиз
ssh -p <port> <cpanel-user>@<host>
2. acme.sh орнотуңуз
curl https://get.acme.sh | sh -s email=du@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 аркылуу тиешелүү виртуалдык хостко жазат. Жайгаштыруу жөндөөлөрү сакталат – мындан ары cron мөөнөтү бүтө электе баарын автоматтык түрдө жаңыртып, орнотот. Эмитент "Келгиле, шифрлейли" болушу керек жана мөөнөтү келечекте болжол менен 90 күн болушу керек. Эгерде эски, өзүнөн-өзү кол коюлган сертификат дагы эле пайда болсо, браузерде катуу кайра жүктөө көбүнчө жардам берет – мурунку сертификат убактылуу кэштелиши мүмкүн.
Айрым хосттор өздөрүнүн cPanel хоокту иштетишет. install_ssl жана ушул сыяктуу нерсе менен жооп берет adminbin Cpanel/hooks2/...: exit 255. acme.sh дагы эле "ийгиликтүү жайгаштырылды" деп билдирет – жана бул көбүнчө туура болот. Бул учурда, хук хостинг провайдеринин ички билдирүү же синхрондоштуруу тапшырмасы сыяктуу кийинки кадамдан улам иштебей калат – чыныгы орнотуудан эмес.
Умлауттары бар домендер үчүн acme.sh сертификатты ички түрдө Punycode формасында сактайт (xn--…), ал эми илмектин автоматтык дал келтиргичи Unicode формасын салыштырат. Жыйынтык: "0 сайттын 0үнө жайгаштырылган" – эч нерсе орнотулган эмес. Кыйын жери: acme.sh дагы бул жерде "Ийгиликтүү" деп кабарлайт, ошондуктан ката оңой эле байкалбай калат. Чечим: Punycode домени менен түздөн-түз иштеп, автоматтык дал келтирүүнү өчүрүү.:
# Punycode-Form der Domain vorher ermitteln (z. B. via idn-Tool oder Online-Konverter)
acme.sh --issue -d xn--<punycode> -d www.xn--<punycode> -w ~/public_html
export DEPLOY_CPANEL_AUTO_ENABLED='false'
acme.sh --deploy -d xn--<punycode> --deploy-hook cpanel_uapi
SSH мүмкүнчүлүгү менен сизге AutoSSLдин кереги жок: acme.sh сертификатты берет, ал cpanel_uapi-Hook аны орнотот, ал эми камтылган cron тапшырмасы аны автоматтык түрдө жаңыртып турат. Орнотулгандан кийин, акысыз HTTPS кызматы өз алдынча үзгүлтүксүз иштейт. Баштапкы күч-аракетин жумшагандар келечекте ар бир кол менен жаңыртууну үнөмдөп, ошол эле чечимди ошол эле аккаунттагы каалаган кошумча доменге бир буйрук менен кеңейте алышат.