Установка SSL-сертификата Let's Encrypt на сервер без панели управления

Выпуск SSL-сертификата является одной из важных частей администрирования веб-сайта. Обычно он устанавливается с целью защиты от перехвата данных пользователей, например, логинов и паролей, email-адресов или банковских карт. Для многих начинающих проектов нет необходимости или целесообразности использовать сертификат выпускаемый платными удостоверяющими центрами, для таких проектов есть альтернативный вариант — использование сертификатов Let’s Encrypt. 

Let's Encrypt — это центр сертификации, который предоставляет бесплатные криптографические сертификаты X.509 в автоматизированном процессе.

Данная статья поможет вам выпустить на любом сервере подобный сертификат без панели управления ISPmanager и других.

Установка Certbot

Для выпуска бесплатного сертификата от Let’s Encrypt требуется выполнить следующие шаги:

  1. Подключитесь к терминалу сервера, например, через SSH.
  2. Установите Certbot

Centos

yum install -y certbot

Debian/Ubuntu

apt install -y certbot

Выпуск сертификата на основной домен и поддомен с WWW

Для начала проверим корректно ли проходит запрос на выпуск сертификата, запускаем команду на получение сертификата в режиме dry-run

certbot certonly --expand -d lamp.fvds.ru -d www.lamp.fvds.ru -w /var/www/html --webroot --email webmaster@lamp.fvds.ru --agree-tos --dry-run

Если исходная команда не сообщила о каких-либо ошибках, можем приступить к фактическому выпуску SSL-сертификата.

Вывод об успешной проверке в режиме: dry-run

IMPORTANT NOTES:

 - The dry run was successful.

Приступаем к процедуре выпуска SSL-сертификата:

certbot certonly --expand -d lamp.fvds.ru -d www.lamp.fvds.ru -w /var/www/html --webroot --email webmaster@lamp.fvds.ru --agree-tos -n

Значения lamp.fvds.ru и www.lamp.fvds.ru замените на свои.

Пример: domain.ru и www.domain.ru.

По завершении выпуска сертификата в терминале будет выведена следующая информация со сроком действия выпущенного сертификата:

IMPORTANT NOTES:

 - Congratulations! Your certificate and chain have been saved at:

   /etc/letsencrypt/live/lamp.fvds.ru-0001/fullchain.pem

   Your key file has been saved at:

   /etc/letsencrypt/live/lamp.fvds.ru-0001/privkey.pem

   Your certificate will expire on 2022-04-15. To obtain a new or

   tweaked version of this certificate in the future, simply run

   certbot again. To non-interactively renew *all* of your

   certificates, run "certbot renew"

 - If you like Certbot, please consider supporting our work by:

 

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate

   Donating to EFF:                https://eff.org/donate-le

Сам сертификат сохраняется в указанной директории: /etc/letsencrypt/live

Выпуск Wildcard сертификата

Сейчас рассмотрим выпуск Wildcard сертификата, данный тип сертификатов позволяет защищать не только домен второго уровня, но и все поддомены, связанные с ним. К примеру, если на сервере установлено несколько сайтов и все необходимо подключить к SSL, то необязательно выпускать на каждый домен по одному сертификату: lamp.fvds.ru, www.lamp.fvds.ru, shop.lamp.fvds.ru, forum.lamp.fvds.ru — можно обойтись только одним Wildcard.

Стоит обратить внимание на то, что данный тип сертификата Wildcard требует обязательную проверку по DNS записи TXT. При запуске процедуры выпуска сертификата Certbot запросит два раза добавить TXT-запись с разными значениями.

Запускаем команду:

certbot --manual --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns certonly --server https://acme-v02.api.letsencrypt.org/directory -d *.lamp.fvds.ru -d lamp.fvds.ru

Замените значения на свои: *.lamp.fvds.ru и lamp.fvds.ru

Пример: *.domain.ru и domain.ru.

После запуска команды вывод будет следующим:

Please deploy a DNS TXT record under the name

_acme-challenge.lamp.fvds.ru with the following value:

RYHdWpSmMuVjdJFZT9JGBs7zuQOFgN78f1Azt1fwNcc

Before continuing, verify the record is deployed.

Это означает, что сейчас требуется создать TXT ресурсную запись для доменного имени в DNS.

Имя: _acme-challenge.lamp.fvds.ru

Значение: RYHdWpSmMuVjdJFZT9JGBs7zuQOFgN78f1Azt1fwNcc

Если домен делегирован на сервера имён FirstVDS, можете перейти в DNSmanager и создать ресурсную запись, ориентируясь по прикреплённым скриншотам:

После сохранения записи результат должен быть таким:

Как только создадим запись, возвращаемся в терминал и нажимаем «Enter» для того, чтобы продолжить выпуск. Обязательно обратите внимание на то, что Certbot запросит создание второй TXT записи — нужно создать её аналогичным образом и завершить выпуск.

Сертификат также сохранится в указанной директории: /etc/letsencrypt/live

По завершении выпуска сертификата рекомендуем изучить наши статьи по его установке на домен и для почты.

Если ваш сервер работает с панелью управления ISPmanager, можете выпустить такой же сертификат по инструкции.

Этот материал был полезен?