Установка Let's Encrypt Wildcard SSL в Hestia CP
Пошаговое руководство по выпуску и настройке wildcard-сертификата.
Hestia CP — одна из самых популярных и удобных панелей управления хостингом. С её помощью можно добавлять сайты, управлять почтой и базами данных, настраивать SSL, работать с файлами и планировщиком задач.
Let’s Encrypt Wildcard SSL позволяет защитить один сертификатом как основной домен, так и все его поддомены (*.example.com). Это удобно, когда у вас много поддоменов.
Данное руководство подходит для панели управления HestiaCP на Ubuntu/Debian. Для CentOS используйте пакетный менеджер yum вместо apt-get.
Шаг 1. Установка acme.sh
cd /root
sudo apt-get update
sudo apt-get install socat git -y
git clone https://github.com/acmesh-official/acme.sh.git
cd ./acme.sh
./acme.sh --install
После установки acme.sh автоматически добавит задание в cron для продления сертификатов.
Проверьте:
crontab -1
Шаг 2. Установка Let’s Encrypt в качестве центра сертификации
./acme.sh --set-default-ca --server letsencrypt
Шаг 3. Выпуск Wildcard-сертификата
./acme.sh --issue -d example.com -d *.example.com --dns --force --yes-I-know-dns-manual-mode-enough-go-ahead-please
Замените example.com на ваш домен.
Скрипт выдаст две TXT-записи. Их нужно добавить в DNS вашего домена. В конце имени записи должна стоять точка (.).
Пример записей:
_acme-challenge.example.com. TXT "GCgAc4Q1Ur4Iv5A-SFhaZ6as-IyuIbfcm7FnUOq3Qxs"
_acme-challenge.example.com. TXT "dA6AcK4oR2VOIuD_i7zdNn6RZXXBJORpZWlhDOmk96A"
Шаг 4. Проверка распространения DNS
dig txt +short _acme-challenge.example.com
Дождитесь, пока обе записи появятся в ответе.
Шаг 5. Завершение выдачи сертификата
./acme.sh --renew -d example.com -d *.example.com --dns --force --yes-I-know-dns-manual-mode-enough-go-ahead-please
Сертификаты будут сохранены в папке:
/root/.acme.sh/example.com_ecc/
Шаг 6. Добавление сертификата в Hestia
Переименовать файлы для удобства:
cd /root/.acme.sh/example.com_ecc/
mv ca.cer example.com.ca
mv fullchain.cer example.com.crt
Добавить сертификат домену:
v-add-web-domain-ssl user example.com /root/.acme.sh/example.com_ecc/
Где user — имя пользователя в HestiaCP.
Если сертификат уже был установлен ранее, используйте команду обновления:
v-update-web-domain-ssl user example.com /root/.acme.sh/example.com_ecc/
Автоматическое продление сертификата
acme.sh уже добавил задание в cron. Для надёжности можно добавить ежедневную проверку:
0 3 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null 2>&1
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!