В этой статье покажу, как установить и настроить Certbot для автоматического получения и продления SSL-сертификатов Let’s Encrypt на веб-сервере Apache.
Сегодня Certbot практически полностью автоматизирует выпуск и продление сертификатов. После первоначальной настройки сертификаты будут обновляться автоматически без остановки веб-сервера и без вашего участия.
Инструкция подойдет как для Raspberry Pi, так и для обычных серверов под управлением Debian или Ubuntu, независимо от того, где они размещены — дома или в дата-центре.
Что понадобится
- сервер с установленным Apache;
- домен, уже указывающий на IP-адрес сервера;
- открытые порты 80 (HTTP) и 443 (HTTPS);
- доступ по SSH.
Подключитесь к серверу по SSH и обновите систему:
sudo apt update
sudo apt full-upgrade -yУстанавливаем Certbot и модуль для Apache:
sudo apt install certbot python3-certbot-apache -yТеперь запустим автоматическую настройку Apache:
sudo certbot --apacheВо время настройки Certbot предложит:
- указать адрес электронной почты;
- согласиться с лицензионным соглашением Let’s Encrypt;
- при желании подписаться на информационные рассылки Electronic Frontier Foundation;
- выбрать домены, для которых необходимо выпустить сертификат.


После успешного завершения настройки Certbot автоматически внесет необходимые изменения в конфигурацию Apache, выпустит сертификат и при необходимости предложит перенаправлять весь HTTP-трафик на HTTPS. Рекомендую согласиться с этим предложением.
Проверяем автоматическое продление сертификата
Сертификаты Let’s Encrypt действуют 90 дней. Современные версии Certbot автоматически создают системный таймер, который регулярно проверяет срок действия сертификатов и продлевает их при необходимости.
Проверить работу автоматического продления можно командой:
sudo certbot renew --dry-runЕсли команда завершается без ошибок, значит автоматическое продление настроено корректно.
При желании можно убедиться, что системный таймер действительно активен:
systemctl status certbot.timerЕсли служба находится в состоянии active (waiting), дополнительных действий выполнять не нужно.
Важно. В большинстве современных дистрибутивов Linux больше не требуется создавать задания в cron для продления сертификатов. Эту задачу автоматически выполняет systemd timer, установленный вместе с Certbot.
На этом настройка завершена. Теперь Apache автоматически использует сертификаты Let’s Encrypt, а их продление будет выполняться без вашего участия.