Генерация Let's Encrypt SSL для сайтов через Certbot



Этот метод был прекращен с начала 2021 года.

[root@my letsencrypt]# ./letsencrypt-auto --authenticator standalone --installer nginx -d epic.abcvg.ovh --pre-hook "service nginx stop" --post-hook "service nginx start"
Skipping bootstrap because certbot-auto is deprecated on this system.
Your system is not supported by certbot-auto anymore.
Certbot cannot be installed.
Please visit https://certbot.eff.org/ to check for other alternatives.


На текущий момент Let's Encrypt SSL создается через Certbot.

Надо сначала установить самого Certbot'а.

Для Debian/Ubuntu:

apt-get update

apt-get install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface


Далее разница в установке в зависимости от веб-сервера.
Если у вас Nginx как веб-сервер тогда:

apt-get install python3-certbot-nginx


Если Apache:

apt-get install python3-certbot-apache


Для CentOS:

yum install epel-release

yum install certbot


Если у вас Nginx как веб-сервер тогда:

yum install certbot-nginx


Для Apache:

yum install certbot-apache


Я делаю SSL в основном для Nginx так как это самый лучший веб-сервер.

Сертификат надо создавать на уже готовую конфигурацию домена.
Для продуктов ISP (Bill Manager и все другое) делаем такой конфиг файлов как в этой статье: клик.

Команда на создание сертификата для Nginx(для Apache также только --apache в параметре):

certbot --nginx -d epic.abcvg.ovh


Далее надо ввести email и подтвердить 2 раза Y. Если все хорошо то создастся сертификат и пропишется в конфигурации веб-сервера. Все готово!

Можно также поддомены вписывать для сертификата, где -d каждый новый домен:
certbot --nginx -d epic.abcvg.ovh -d omg.abcvg.ovh -d wow.abcvg.ovh


Чтобы обновить сертификат надо ввести:

certbot renew


И перезагрузить веб-сервер в конце работы:

service nginx restart

Генерация Let's Encrypt SSL для сайтов

Краткая инструкция как это делать.

Ставим GIT:

apt-get install git


Клонируем GIT:

git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt


Заходим в папку:

cd /opt/letsencrypt


Берем например домен или поддомен, направляем А запись на него.

Теперь если генерировать старым методом какой описан в статье будет ошибка: Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA. Пример когда разработчики вместо работы меняют стиль написания команд. И опять кучу материалов переписывать надо и скриптов тоже.

Пишем такое:

./letsencrypt-auto --nginx -d epic.abcvg.ovh

./letsencrypt-auto --authenticator standalone --installer nginx -d epic.abcvg.ovh --pre-hook "service nginx stop" --post-hook "service nginx start"


Там нам будет меню, в него пишем свою рабочую почту. Все готово!

Что бы пересоздать SSL добавляем в планировщик задач cron такое:

cd /opt/letsencrypt && ./letsencrypt-auto certonly --nginx --renew-by-default -d epic.abcvg.ovh

./letsencrypt-auto --authenticator standalone --installer nginx -d epic.abcvg.ovh --force-renewal --pre-hook "service nginx stop" --post-hook "service nginx start"


Писать точно такие же параметры, иначе создаться новый сертификат.