Главная страница » Linux » Let's Encrypt + Apache

Let’s Encrypt + Apache: установка и настройка Certbot на Raspberry Pi

В этой статье покажу, как установить и настроить 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
Получение сертификата Let's Encrypt

После успешного завершения настройки 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, а их продление будет выполняться без вашего участия.