Установка ACME (Certbot) для Apache и NGINX.
ПечатьУстановка Certbot может отличаться в зависимости от используемой операционной системы. Важно учитывать, что Certbot требует актуальной версии ОС с поддержкой всех необходимых зависимостей и пакетов. Использование устаревшей операционной системы может привести к ошибкам установки или невозможности получения SSL-сертификата.
Для установки Certbot также необходим полный доступ к системе (root-права).
Семейство систем Debian
Debian OS
Существует три основных способа установки Certbot в системах на базе Debian:
- через менеджер пакетов apt
- через пакет snap
- через Python (pip)
Каждый метод имеет свои преимущества:
- apt – простой в использовании и интегрирован в систему, но версии могут быть устаревшими
- snap – официально рекомендуемый способ, поддерживает автоматические обновления
- pip – подходит для опытных пользователей и кастомных конфигураций
1. Установка Certbot через apt
Обновите список пакетов:
sudo apt update
Установите Certbot:
Для Apache:
sudo apt install certbot python3-certbot-apache
Для NGINX:
sudo apt install certbot python3-certbot-nginx
2. Установка Certbot через snap
Обновите snapd:
sudo snap install core
sudo snap refresh
Установка Certbot:
sudo snap install --classic certbot
Создайте символическую ссылку:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Семейство систем Red Hat
Red Hat OS
В системах Red Hat существует три основных способа установки:
- dnf/yum + репозиторий EPEL
- snap
- pip
1. Установка Certbot через dnf / yum
Подключите репозиторий EPEL:
sudo dnf install epel-release
sudo yum install epel-release
Обновите систему:
sudo dnf clean all
sudo dnf update
sudo yum clean all
sudo yum update
Установите Certbot:
Для Apache:
sudo dnf install certbot python3-certbot-apache
sudo yum install certbot python-certbot-apache
Для NGINX:
sudo dnf install certbot python3-certbot-nginx
sudo yum install certbot python-certbot-nginx
2. Установка Certbot через snap
Обновите snap core:
sudo snap install core
sudo snap refresh core
Установка Certbot:
sudo snap install --classic certbot
Создайте символическую ссылку:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Конфигурация Certbot
Certbot может использоваться в двух режимах:
- автоматический режим – автоматически настраивает Apache/NGINX
- ручной режим – пользователь настраивает сервер самостоятельно
Автоматическая установка SSL-сертификата (ACME)
Пример команды автоматической установки с HTTP-валидацией и ACME-интеграцией:
sudo certbot --nginx --non-interactive --agree-tos \
--server <acme-directory> \
--email <your-email> \
--eab-kid <your-eab-kid> \
--eab-hmac-key <your-hmac-key> \
--domain your-domain \
--cert-name <your-certificate-name>
Важные параметры
- --nginx или --apache – указывает веб-сервер
- --non-interactive – режим автоматизации (CI/CD или cron)
- --agree-tos – автоматическое принятие условий использования
- --server – URL ACME сервера (зависит от провайдера)
- --email – email для уведомлений об истечении сертификата
- --eab-kid и --eab-hmac-key – ключи аккаунта ACME
- --domain – домен для сертификата
- --cert-name – имя сертификата в системе
Пример Sectigo ACME NGINX
sudo certbot --nginx --non-interactive --agree-tos \
--email admin@example.com \
--server https://acme.sectigo.com/v2/DV \
--eab-kid <your-eab-kid> \
--eab-hmac-key <your-hmac-key> \
--domain example.com \
--domain www.example.com \
--domain api.example.com \
--cert-name my-example-certificate
Пример Sectigo ACME Apache
sudo certbot --apache --non-interactive --agree-tos \
--email admin@example.com \
--server https://acme.sectigo.com/v2/DV \
--eab-kid <your-eab-kid> \
--eab-hmac-key <your-hmac-key> \
--domain example.com \
--domain www.example.com \
--domain api.example.com \
--cert-name my-example-certificate