Если Вы управляете веб-сайтами на Plesk, Вам больше незачем работать с сертификатами вручную. При правильной настройке Вы можете автоматизировать выдачу, продление и установку SSL-сертификатов, используя протокол ACME с привязкой к внешнему аккаунту (EAB).

В этом руководстве Вы узнаете, как установить SSL-сертификат ACME на Plesk (на базе Linux) с помощью ACME.sh— легкого клиента ACME, который отлично работает с Plesk.
Если Вы работаете на виртуальном хостинге, возможно, Вам не удастся воспользоваться этим методом. Большинство виртуальных сред не позволяют использовать root-доступ или пользовательские скрипты. Это руководство подходит для VPS и выделенных серверов, где Вы контролируете стек хостинга.
Прежде чем начать
Прежде чем приступать к выполнению шагов, убедитесь, что у Вас готово следующее:
- Сервер или VPS с Plesk Obsidian
- SSH-доступ к серверу. Либо root, либо пользователь с привилегиями sudo.
- Живой домен, указывающий на сервер через запись A или AAAA
- Порт 80 открыт и доступен публично (требуется для проверки HTTP-01).
- Ваши учетные данные EAB, полученные от провайдера SSL (EAB KID и EAB HMAC Key).
Конечные точки ACME для использования:
- Sectigo: https://acme.sectigo.com/v2/DV
- DigiCert: https://acme.digicert.com/v2/acme
Шаг 1: Проверьте корень документа Вашего сайта в Plesk
Вам понадобится путь к корневой папке Вашего сайта, чтобы ACME.sh мог правильно разместить файлы проверки.
- Войдите в Plesk
- Перейдите в раздел Веб-сайты и домены > yourdomain.com > Настройки хостинга.
- Скопируйте значение корня документа. Оно выглядит как: /var/www/vhosts/yourdomain.com/httpdocs
- Держите этот путь под рукой, он пригодится Вам в последующих шагах.
Шаг 2: Включите SSH-доступ (если необходимо)
Если в Вашем хостинг-плане не включен SSH:
- Перейти к разделу Веб-сайты и домены > yourdomain.com > Доступ к веб-хостингу
- В разделе Доступ к серверу по SSH выберите /bin/bash или /usr/bin/bash
- Сохраните настройки
Если Вы находитесь на управляемом/общем хосте, обратитесь в службу поддержки, чтобы запросить доступ по SSH.
Шаг 3: Подключитесь к Вашему серверу через SSH
С локального терминала подключитесь к серверу:
ssh [email protected]
Или, если Вы используете не root-пользователя:
ssh [email protected]
Шаг 4: Установите ACME.sh
Запустите официальную программу установки:
curl https://get.acme.sh | sh
source ~/.bashrc
Затем проверьте версию, чтобы убедиться, что она установлена:
acme.sh --version
Если это не удается, убедитесь, что установлены curl и git . При необходимости Вы можете повторить установку с --force.
Шаг 5: Зарегистрируйте свою учетную запись в EAB
Регистрация ACME — это одноразовая настройка, которая связывает Ваш сервер с центром сертификации, так что будущие запросы на сертификаты будут проверяться и обрабатываться автоматически.
Эта команда регистрирует Вашу учетную запись ACME у провайдера SSL(Sectigo или DigiCert), используя Ваши уникальные учетные данные EAB.
acme.sh --register-account \
--server https://acme.sectigo.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--accountemail [email protected]
Вот что означает каждая часть:
acme.sh --register-account— Запускает регистрацию учетной записи ACME--server— URL ACME Вашего провайдера (Sectigo или DigiCert)--eab-kid— Ваш идентификатор ключа EAB, полученный от провайдера--eab-hmac-key— Ваш секретный ключ EAB HMAC (длинная строка)--accountemail— Ваш контактный адрес электронной почты для учетной записи ACME
Эта команда должна быть настроена с учетом Ваших настоящих данных EAB и адреса электронной почты. Не копируйте ее как есть.
Если Вы оставите в тексте такие символы, как YOUR_EAB_KID, команда завершится неудачей с ошибкой аутентификации.
После успешного запуска Ваш сервер получает право запрашивать SSL-сертификаты у этого провайдера; в будущем нет необходимости регистрироваться снова, если только Вы не смените провайдера или учетные данные.
Шаг 6: Подготовка к проверке HTTP
Создайте каталог вызовов ACME:
mkdir -p /var/www/vhosts/yourdomain.com/httpdocs/.well-known/acme-challenge
Затем проверьте, работает ли это:
echo "ok" > /var/www/vhosts/yourdomain.com/httpdocs/.well-known/acme-challenge/testfile
curl -I http://yourdomain.com/.well-known/acme-challenge/testfile
Вы должны увидеть HTTP/1.1 200 OK. Если нет, проверьте правила брандмауэра, доступ к порту 80 или путь к корню документа.
Шаг 7: Обход принудительного HTTPS для ACME Path
Если Ваш сайт перенаправляет весь трафик на HTTPS, это нарушит проверку HTTP-01, если только Вы не разрешите папке challenge обойти ее.
Если Вы используете Apache (по умолчанию в Plesk Linux)
Отредактируйте Ваш файл .htaccess в корне документа и добавьте это в начало:
RewriteEngine On
RewriteRule ^.well-known/acme-challenge/ - [L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Если Вы используете Nginx (или Nginx работает с Apache)
Apache .htaccess здесь не поможет, потому что Nginx обрабатывает перенаправление первым. Вместо этого Вам нужно добавить пользовательскую директиву Nginx в Plesk:
- Перейдите в раздел Веб-сайты и домены > yourdomain.com > Настройки Apache и Nginx.
- Найдите поле с надписью Дополнительные директивы Nginx
- Вставьте это:
location ^~ /.well-known/acme-challenge/ {
root /var/www/vhosts/yourdomain.com/httpdocs;
allow all;
try_files $uri =404;
}
Это указывает Nginx обслуживать путь вызова напрямую, без HTTPS-перенаправления или проксирования на Apache. Сохраните и примените изменения.
Шаг 8: Выдача сертификата
Теперь Вы можете запросить сертификат. Вот пример с Sectigo и двумя вариантами доменов:
acme.sh --issue \
-d yourdomain.com \
-d www.yourdomain.com \
-w /var/www/vhosts/yourdomain.com/httpdocs \
--server https://acme.sectigo.com/v2/DV
Вы можете включить столько флагов -d, сколько необходимо. Как только сертификат будет выпущен, ACME.sh сохраняет все в этой папке: /root/.acme.sh/yourdomain.com/
Для Plesk Вам понадобятся следующие два файла:
- yourdomain.com.key: это Ваш закрытый ключ
- fullchain.cer: это файл Вашего сертификата, и он включает в себя полную цепочку (Ваш сертификат + цепочка ЦС)
Это файлы, которые Вы будете загружать или использовать в CLI для установки сертификата в Plesk.
Шаг 9: Импортируйте сертификат в Plesk через пользовательский интерфейс
- Перейти к разделу Веб-сайты и домены > yourdomain.com > Сертификаты SSL/TLS
- Нажмите Добавить сертификат SSL/TLS
- Загрузите сертификат (выберите fullchain.cer) и закрытый ключ (выберите yourdomain.com.key). Нажмите Сохранить
- Вернитесь в Настройки хостинга и выберите этот сертификат в разделе Поддержка SSL/TLS.
- Нажмите OK или Применить
Теперь Ваш домен использует сторонний сертификат ACME SSL.
Шаг 10: Автоматизируйте импорт с помощью Plesk CLI (необязательно, идеально подходит для Cron)
Чтобы автоматизировать применение cert в будущих обновлениях, используйте CLI:
plesk bin certificate -c "acme-yourdomain" \
-domain yourdomain.com \
-cert-file /root/.acme.sh/yourdomain.com/fullchain.cer \
-key-file /root/.acme.sh/yourdomain.com/yourdomain.com.key
plesk bin domain -u yourdomain.com -ssl true -certificate-name "acme-yourdomain"
plesk bin httpdmng --reconfigure-domain yourdomain.com
Если команда plesk не распознается, попробуйте указать полный путь: /usr/sbin/plesk bin …
Шаг 11: Автоматизируйте продление с помощью сценария развертывания
ACME.sh автоматически обновляет сертификаты за ~30 дней до истечения срока действия. Но мы сделаем крючок после обновления, чтобы автоматически применять их в Plesk.
1. Создайте сценарий развертывания
nano /usr/local/bin/plesk-acme-deploy.sh
Вставьте следующее:
#!/usr/bin/env bash
set -euo pipefail
DOMAIN="yourdomain.com"
CERT_DIR="/root/.acme.sh/${DOMAIN}"
CERT_NAME="acme-${DOMAIN}"
CERT_FILE="${CERT_DIR}/fullchain.cer"
KEY_FILE="${CERT_DIR}/${DOMAIN}.key"
/usr/sbin/plesk bin certificate -c "${CERT_NAME}" \
-domain "${DOMAIN}" \
-cert-file "${CERT_FILE}" \
-key-file "${KEY_FILE}"
/usr/sbin/plesk bin domain -u "${DOMAIN}" -ssl true -certificate-name "${CERT_NAME}"
/usr/sbin/plesk bin httpdmng --reconfigure-domain "${DOMAIN}"
echo "Plesk deploy complete for ${DOMAIN}"
2. Сохраните и сделайте его исполняемым
chmod +x /usr/local/bin/plesk-acme-deploy.sh
3. Свяжите его с файлом ACME.sh
acme.sh --install-cert -d yourdomain.com \
--key-file ~/.acme.sh/yourdomain.com/yourdomain.com.key \
--fullchain-file ~/.acme.sh/yourdomain.com/fullchain.cer \
--reloadcmd "/usr/local/bin/plesk-acme-deploy.sh"
С этого момента каждое обновление будет применяться к Plesk.
Шаг 12: Проверьте все
Посетите свой сайт по адресу https://yourdomain.com. Сертификат должен быть действительным и показывать Ваш ЦС.
Чтобы протестировать обновление и развертывание вручную, запустите его:
acme.sh --renew -d yourdomain.com --force
Затем заверните журнал в хвост:
tail -n 60 ~/.acme.sh/acme.sh.log
Вы должны увидеть успешное обновление и сообщение «Развертывание Plesk завершено» в конце.
Общие проблемы и устранение неисправностей
Даже при правильной настройке не всегда все проходит гладко с первой попытки, особенно при проверке домена, перенаправлениях или путях к файлам. Ниже перечислены наиболее распространенные проблемы, с которыми Вы можете столкнуться при выпуске или продлении сертификата, и способы их быстрого решения.
HTTP-проверка прошла неудачно (404, таймаут или testfile not found)
Это означает, что файл вызова ACME не обслуживается должным образом.
- Дважды проверьте корень документа в Plesk > Hosting Settings.
- Убедитесь, что порт 80 открыт и не заблокирован Вашим брандмауэром, хостинг-панелью или облачным провайдером.
- Если у Вас есть перенаправление на HTTPS, убедитесь, что /.well-known/acme-challenge/ исключен, как показано ранее.
«Неавторизованный» или «недопустимый ответ» во время выдачи
Сервер ACME не смог проверить Ваш вызов, вероятно, по одной из следующих причин:
- DNS-записи Вашего домена еще не обновлены (запись A или AAAA отсутствует или все еще распространяется).
- Тестовый файл был недоступен, удален слишком рано или заблокирован правилом.
- Вы используете CDN или WAF (например, Cloudflare), которые перехватывают HTTP-трафик. Временно приостановите проксирование или внесите путь ACME в белый список.
После обновления ничего не происходит
Сертификат обновляется, но не применяется в Plesk.
Убедитесь, что путь к Вашему сценарию развертывания указан правильно в параметре —reloadcmd.
Проверьте, что скрипт исполняется, запустив его:
chmod +x /usr/local/bin/plesk-acme-deploy.sh
Загляните в журнал ACME с:
tail -n 60 ~/.acme.sh/acme.sh.log
Ошибки будут отображаться там.
Не удается выполнить импорт Plesk CLI
Ваш сценарий развертывания может быть запущен, но сертификат не будет применяться.
- Если команда plesk не найдена, попробуйте использовать полный путь: /usr/sbin/plesk
- Дважды проверьте, что файлы.key и .cer действительно существуют и имеют правильные имена.
- Чтобы принудительно изменить конфигурацию вручную, выполните команду:
plesk bin httpdmng --reconfigure-domain yourdomain.com
Финальные вроды
Теперь на Вашем сервере Plesk работает чистая, полностью автоматизированная SSL-настройка. С этого момента Ваш сертификат будет автоматически обновляться в фоновом режиме, а скрипт будет обновлять Plesk сразу же, как только Вы выпустите новый сертификат. Вы получили полный контроль над жизненным циклом сертификата и сделали свою жизнь намного проще.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

