RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


linux:letsencrypt_centos

Let's Encrypt + nginx в CentOS 7

В заголовке заметки указаны CentOS/nginx, но ниже будут примеры для CentOS 8 и Apache, чтобы не создавать отдельные страницы в wiki.

CentOS 7

Подключаем EPEL

# yum install epel-release

Устанавливаем certbot для nginx

# yum install python2-certbot-nginx

Для apache

# yum install python2-certbot-apache

Видимо в скором времени придется перейти на более легковесное решение acme.sh, потому-что уж больно много пакетов устанавливается. А сайт certbot чересчур активно продвигает установку через snapd.

Не сликом ли много?! 🙉/🙈

Получаем сертификат для nginx

# certbot certonly --nginx

Получаем сертификат для apache

# certbot certonly --apache

Опция certonly подразумевает, что certbot только получит сертификат, но не будет автоматически менять конфигурационный файл веб-сервера.

При первом запуске certbot необходимо будет указать email и принять ToS.

Вот так это выглядит 🙉/🙈

CentOS 8

Подключаем EPEL

# dnf install epel-release

Устанавливаем certbot для nginx

# dnf install python3-certbot-nginx

Для apache

# dnf install python3-certbot-apache

Проверка автоматического обновления сертификатов

# certbot renew --dry-run

Вот так это выглядит 🙉/🙈

Автоматическое обновление

Никаких /etc/crontab или /etc/cron.d. В сети много вредных советов.

Для автоматического обновления существует systemd timer.

systemd service файл

# cat /usr/lib/systemd/system/certbot-renew.service
[Unit]
Description=This service automatically renews any certbot certificates found

[Service]
EnvironmentFile=/etc/sysconfig/certbot
Type=oneshot
ExecStart=/usr/bin/certbot renew --noninteractive --no-random-sleep-on-renew $PRE_HOOK $POST_HOOK $RENEW_HOOK $DEPLOY_HOOK $CERTBOT_ARGS

systemd таймер

# cat /usr/lib/systemd/system/certbot-renew.timer  
[Unit]
Description=This is the timer to set the schedule for automated renewals

[Timer]
OnCalendar=*-*-* 00/12:00:00
RandomizedDelaySec=12hours
Persistent=true

[Install]
WantedBy=timers.target

Нужно только запустить их и добавить в автозагрузку

# systemctl enable certbot-renew.service
# systemctl start certbot-renew.service
# systemctl enable certbot-renew.timer
# systemctl start certbot-renew.timer

EOM

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
linux/letsencrypt_centos.txt · Последнее изменение: 2021/06/23 15:33 — dx