Установка Let’s Encrypt Wildcard SSL для ОС Ubuntu, Debian и панели управления Hestia CP

Руководство по установке сертификата SSL

Let’s Encrypt – некоммерческий удостоверяющий центр, который предоставляет бесплатные X.509 сертификаты для TLS шифрования с помощью автоматизированного процесса, направленного на замену сложного ручного создания, проверки, подписи, установки и обновления сертификатов для защищённых веб-сайтов.

Недавно Let’s Encrypt представил Wildcard-сертификат для вашего домена, теперь можно использовать SSL без подстановочных знаков для домена и нескольких поддоменов с одним сертификатом.

Это руководство работает с Linux-дистрибутивами, такими как CentOS, Ubuntu, Debian. Установка показана на примере Ubuntu. Для CentOS используйте пакетный менеджер yum вместо apt-get.


Устанавливаем скрипт acme.sh:

cd /root
sudo apt-get install socat git
git clone https://github.com/Neilpang/acme.sh.git
cd ./acme.sh
./acme.sh --install

После установки будет создано задание в cron для автоматического продления сертификата. Проверить можно командой:

crontab -l

Устанавливаем центр сертификации Let's Encrypt по умолчанию:

./acme.sh --set-default-ca --server letsencrypt

Подаем запрос на выпуск сертификата:

./acme.sh --issue -d testfrnx.ru -d *.testfrnx.ru --dns --force --yes-I-know-dns-manual-mode-enough-go-ahead-please

Примечание

Вместо testfrnx.ru укажите свой домен.

Скрипт сгенерирует 2 TXT записи, которые нужно добавить в панель DNS:

[Tue Jun  8 14:23:11 MSK 2021] Domain: '_acme-challenge.testfrnx.ru'
[Tue Jun  8 14:23:11 MSK 2021] TXT value: 'GCgAc4Q1Ur4Iv5A-SFhaZ6as-IyuIbfcm7FnUOq3Qxs'
[Tue Jun  8 14:23:12 MSK 2021] Domain: '_acme-challenge.testfrnx.ru'
[Tue Jun  8 14:23:12 MSK 2021] TXT value: 'dA6AcK4oR2VOIuD_i7zdNn6RZXXBJORpZWlhDOmk96A'

При добавлении записи в конце имени следует добавить точку, например:

TXT record _acme-challenge.testfrnx.ru.
value: "dA6AcK4oR2VOIuD_i7zdNn6RZXXBJORpZWlhDOmk96A"
TXT record _acme-challenge.testfrnx.ru.
value: "GCgAc4Q1Ur4Iv5A-SFhaZ6as-IyuIbfcm7FnUOq3Qxs"

file

Проверяем обновление записей в DNS:

dig txt +short _acme-challenge.testfrnx.ru
"GCgAc4Q1Ur4Iv5A-SFhaZ6as-IyuIbfcm7FnUOq3Qxs"
"dA6AcK4oR2VOIuD_i7zdNn6RZXXBJORpZWlhDOmk96A"

После обновления DNS возобновляем выдачу сертификата:

./acme.sh --renew -d testfrnx.ru -d *.testfrnx.ru --dns --force --yes-I-know-dns-manual-mode-enough-go-ahead-please
[Tue Jun  8 15:26:45 MSK 2021] Renew: 'testfrnx.ru'
[Tue Jun  8 15:26:46 MSK 2021] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Tue Jun  8 15:26:46 MSK 2021] Multi domain='DNS:testfrnx.ru,DNS:*.testfrnx.ru'
[Tue Jun  8 15:26:54 MSK 2021] Verify finished, start to sign.
[Tue Jun  8 15:26:55 MSK 2021] Downloading cert.
[Tue Jun  8 15:26:56 MSK 2021] Cert success.

Ваши сертификаты будут сохранены в:

/root/.acme.sh/testfrnx.ru/testfrnx.ru.cer
/root/.acme.sh/testfrnx.ru/testfrnx.ru.key
/root/.acme.sh/testfrnx.ru/ca.cer
/root/.acme.sh/testfrnx.ru/fullchain.cer

Добавление сертификатов в Hestia CP.

Примечание

Панель Hestia CP можно установить как самостоятельно, так и заказать её установку на наших VPS или выделенных серверах.

Переименовываем сертификаты:

mv /root/.acme.sh/testfrnx.ru_ecc/ca.cer /root/.acme.sh/testfrnx.ru_ecc/testfrnx.ru.ca
mv /root/.acme.sh/testfrnx.ru_ecc/fullchain.cer /root/.acme.sh/testfrnx.ru_ecc/testfrnx.ru.crt

Добавляем сертификаты домену:

v-add-web-domain-ssl USER testfrnx.ru /root/.acme.sh/testfrnx.ru_ecc/
  • USER — пользователь, которому принадлежит домен
  • testfrnx.ru — ваш домен
  • /root/.acme.sh/testfrnx.ru_ecc/ — путь к сертификатам

Внимание

Если домену ранее был добавлен сертификат, обновите его на новый:

v-update-web-domain-ssl USER testfrnx.ru /root/.acme.sh/testfrnx.ru_ecc/

Добавление Wildcard SSL-сертификата для поддомена.

Копируем сертификат:

cp /home/USER/conf/web/testfrnx.ru/ssl/testfrnx.ru.ca /home/USER/conf/web/testfrnx.ru/ssl/sub.testfrnx.ru.ca
cp /home/USER/conf/web/testfrnx.ru/ssl/testfrnx.ru.crt /home/USER/conf/web/testfrnx.ru/ssl/sub.testfrnx.ru.crt
cp /home/USER/conf/web/testfrnx.ru/ssl/testfrnx.ru.key /home/USER/conf/web/testfrnx.ru/ssl/sub.testfrnx.ru.key

Добавляем сертификаты поддомену:

v-add-web-domain-ssl USER sub.testfrnx.ru /home/USER/conf/web/testfrnx.ru/ssl/

Удаляем временные файлы:

rm /home/USER/conf/web/testfrnx.ru/ssl/sub.testfrnx.ru.ca
rm /home/USER/conf/web/testfrnx.ru/ssl/sub.testfrnx.ru.crt
rm /home/USER/conf/web/testfrnx.ru/ssl/sub.testfrnx.ru.key

Чтобы обновить сертификаты, вам нужно выполнить эту команду через 90 дней:

./acme.sh --issue -d testfrnx.ru -d *.testfrnx.ru --dns --force --yes-I-know-dns-manual-mode-enough-go-ahead-please

file


Настроить автоматическое обновление let’s encrypt certs можго с помощью задания Cron, добавьте этот ежедневный cron для проверки автообновления:

0 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

Примечание

Проверить корректность установки сертификата можно с помощью сервиса проверки SSL.

file


Помощь

Если у вас возникли трудности или необходима помощь, создайте запрос в службу поддержки через тикет-систему, и мы с радостью поможем.

Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам