TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 9.02K subscribers
Post #4537 2.97K
​​Используем Certbot для получения сертификатов Let’s Encrypt вместе с плагинами Apache и Nginx


Сертификаты Let’s Encrypt прочно вошли в нашу повседневную деятельность. Как и утилита для их получения и продления – Certbot.

Для работы с сертификатами у Certbot есть различные плагины, самый известный из которых webroot, но он требует предварительного созданий структуры данных и настройки веб-сервера.

Но если вы используете Apache или Nginx, то есть способ проще – использовать одноименные плагины, работу с которыми мы сейчас разберем.

Прежде всего следует получить последнюю версию Certbot, которые теперь распространяются в виде snap-пакетов.

Если Certbot был уже установлен, то его следует удалить:

apt remove certbot

Теперь добавим поддержку Snap (в Ubuntu уже присутствует):

apt install snapd

И сразу обновите ядро snap для получения последней версии оснастки:

snap install core

Теперь можно установить Certbot:

snap install --classic certbot

После установки сделайте символьную ссылку на обычное расположение бинарника:

ln -s /snap/bin/certbot /usr/bin/certbot

Теперь можно воспользоваться предоставляемыми Certbot возможностями.

Самый простой режим – автоматический, в нем утилита не только получит сертификаты, но и сама настроит веб-сервер:

certbot --apache|nginx

Но это подходит только для «самых маленьких», более-менее опытный администратор предпочтет сам настроить конфигурацию веб-сервера, в этом случае можно только получить сертификаты:

certbot certonly --apache|nginx

При запуске в этом режиме Certbot выведет вам список всех обнаруженных в конфигурации веб-сервера доменов и предложит указать те, для которых вы хотите получить сертификат.

Вы можете как получить один сертификат для всех, так и отдельные для каждого домена, в этом случае вам придется запустить Certbot несколько раз и каждый раз указать нужные домены.

Также можно пропустить этот этап явно указав их при запуске утилиты:

certbot certonly --apache|nginx -d example.com -d www.example.com

В остальном работа с сертификатами ничем не отличается от привычного webroot, только сам процесс получения становится проще, вам не нужно ничего предварительно настраивать.

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

certbot renew --dry-run

Самим процессом продления занимается планировщик вашего дистритбутива, в современных дистрибутивах это systemd.

Получим список таймеров:

systemctl list-timers

И найдем в списке таймер связанный с certbot, в Ubuntu он называется snap.certbot.renew.timer

И проверим его статус командой:

systemctl status snap.certbot.renew.timer

Таймер должен находиться в состоянии Активен (Ожидание) и будет указано время до следующего запуска.

Напоследок не забудьте добавить в настройки продления в файле /etc/letsencrypt/renewal/example.com.conf (имя файла настройки соответствует первому указанному домену из списка доменов сертификата) в секцию [renewalparams] строку:

renew_hook = systemctl reload apache2|nginx

Для перезапуска веб-сервера после продления сертификата.
  • 👍 34
  • 🍌 4
  • ❤ 2
  • 🤡 1
  • 🤣 1
More from @interface31
  1. Oct 13, 2026Post #6873
  2. Oct 12, 2026Реальное положение дел в диапазоне 5 ГГц С этой проблемой сталкивается каждый, кто хоть не…
  3. Oct 12, 2026Post #6871
  4. Oct 12, 2026Использование Routing Rules в роутерах Mikrotik На днях один коллега спросил, как эффектив…
  5. Oct 12, 2026Post #6869
  6. Oct 11, 2026Базовая настройка роутера MikroTik с RouterOS 7 Роутеры Mikrotik имеют давнюю славу сложны…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →