Выпуск SSL-сертификата является одной из важных частей администрирования веб-сайта. Обычно он устанавливается с целью защиты от перехвата данных пользователей, например, логинов и паролей, email-адресов или банковских карт. Для многих начинающих проектов нет необходимости или целесообразности использовать сертификат выпускаемый платными удостоверяющими центрами, для таких проектов есть альтернативный вариант — использование сертификатов Let’s Encrypt.
Let's Encrypt — это центр сертификации, который предоставляет бесплатные криптографические сертификаты X.509 в автоматизированном процессе.
Данная статья поможет вам выпустить на любом сервере подобный сертификат без панели управления ISPmanager и других.
Установка Certbot
Для выпуска бесплатного сертификата от Let’s Encrypt требуется выполнить следующие шаги:
- Подключитесь к терминалу сервера, например, через SSH.
- Установите 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, можете выпустить такой же сертификат по инструкции.