Помощь

Auto SSL в cPanel

Не путайте два похожих названия. AutoSSL в cPanel — встроенная функция, которая выпускает бесплатные сертификаты у провайдеров Let's Encrypt или cPanel (Sectigo); свой ACME-сервер с EAB-ключами туда добавить нельзя. Auto SSL от ONEHOST — подписка на домен, по которой сертификаты Sectigo выпускает ваш ACME-клиент. На сервере с cPanel таким клиентом будет acme.sh, а установку в аккаунт он сделает сам через cPanel API.

Где взять ключи

  1. В личном кабинете 1host.kz/bill откройте услугу «Auto SSL (Sectigo ACME)» (оформить — на странице Auto SSL).
  2. Нажмите «Configure Now» («Настроить»), введите домены в «Single Domains» (www и без www — один домен), wildcard — в «Wildcard Domains».
  3. Через 5–30 секунд появятся ACME account ID, EAB MAC ID, EAB MAC key, Server URL.

В командах: Server URL — https://acme.sectigo.com/v2/DV, YOUR_EAB_KID — EAB MAC ID, YOUR_EAB_HMAC_KEY — EAB MAC key.

Что понадобится

  • Доступ к shell аккаунта cPanel (SSH или «Terminal» в cPanel) либо root на сервере с WHM.
  • Домен добавлен в аккаунт cPanel и указывает на сервер; порт 80 открыт.
  • Если для домена включён AutoSSL, отключите его для этого домена (cPanel → «SSL/TLS Status» → «Exclude from AutoSSL»), иначе cPanel может заменить сертификат Sectigo своим.

Установка acme.sh в аккаунте пользователя

Лучше ставить acme.sh от самого пользователя cPanel — тогда deploy-hook установит сертификат без лишних прав:

curl https://get.acme.sh | sh -s [email protected]
source ~/.bashrc
acme.sh --register-account --server https://acme.sectigo.com/v2/DV \
  --eab-kid YOUR_EAB_KID --eab-hmac-key YOUR_EAB_HMAC_KEY
acme.sh --set-default-ca --server https://acme.sectigo.com/v2/DV

Регистрация — один раз; аккаунт с ключами сохраняется в ~/.acme.sh/.

Выпуск и установка через cpanel_uapi

Выпуск через webroot — каталог сайта (~/public_html для основного домена, ~/public_html/поддомен или путь из «Domains» для дополнительных):

acme.sh --issue -d example.kz -d www.example.kz -w ~/public_html

Установка в аккаунт штатным deploy-hook acme.sh для cPanel:

acme.sh --deploy -d example.kz --deploy-hook cpanel_uapi

Хук вызывает uapi SSL install_ssl и запоминается: после каждого автопродления сертификат переустановится сам. Ограничение из документации acme.sh: при продлении хук ставит сертификат только на первый домен из команды выпуска, поэтому на каждый домен (со своим www) выпускайте отдельный сертификат. Если acme.sh запущен от root, укажите пользователя: export DEPLOY_CPANEL_USER=cpuser перед --deploy.

Ручная альтернатива без хука — cPanel → «SSL/TLS» → «Manage SSL sites»: выберите домен, вставьте «Certificate (CRT)» из ~/.acme.sh/example.kz_ecc/example.kz.cer, «Private Key (KEY)» из example.kz.key, «Certificate Authority Bundle (CABUNDLE)» из ca.cer и нажмите «Install Certificate». Или той же командой из консоли:

uapi --user=cpuser SSL install_ssl domain=example.kz \
  cert="$(cat ~/.acme.sh/example.kz_ecc/example.kz.cer)" \
  key="$(cat ~/.acme.sh/example.kz_ecc/example.kz.key)" \
  cabundle="$(cat ~/.acme.sh/example.kz_ecc/ca.cer)"

Типовые ошибки

  • Проверка домена не проходитwww или сам домен указывает на другой сервер; проверьте dig +short www.example.kz. Для доменов за прокси (Cloudflare) используйте --dns.
  • ЦС отклоняет заказ — домена нет в подписке Auto SSL; добавьте его в кабинете («Add domain»).
  • Сертификат «откатился» на cPanel/Let's Encrypt — домен не исключён из AutoSSL.
  • Нет доступа к shell — попросите включить его в WHM («Manage Shell Access») или напишите в поддержку ONEHOST, настроим.

Проверка и продление

cPanel → «SSL/TLS Status»: у домена должен быть сертификат от Sectigo с новой датой. Из консоли:

echo | openssl s_client -connect example.kz:443 -servername example.kz 2>/dev/null \
  | openssl x509 -noout -issuer -dates
acme.sh --list
crontab -l | grep acme.sh

Задание cron acme.sh продлевает сертификат примерно за 30 дней до конца срока и запускает deploy-hook. Проверить цепочку целиком: acme.sh --renew -d example.kz --force, затем снова openssl — дата notAfter должна измениться. Подписка Auto SSL продлевается счётом раз в год; счёт выставляется за 14 дней. Помощь — в поддержке ONEHOST, круглосуточно.

Остались вопросы - пишите