Перейти к основному содержанию

Let's Encrypt — настройка certbot в Ubuntu 20 для Apache

let's encrypt

Установим и настроим certbot для получения и обновления SSL сертификатов Let's Encrypt. Операционная система Ubuntu 20.04.6, веб-сервер Apache.

Let’s Encrypt — центр сертификации, начавший работу в бета-режиме с 3 декабря 2015 года, предоставляющий бесплатные криптографические сертификаты X.509 для TLS-шифрования (HTTPS). Процесс выдачи сертификатов полностью автоматизирован. https://letsencrypt.org/

Веб сервер работает, сайт, для которого требуется выпустить SSL сертификат, открывается по HTTPS. С HTTP настроен редирект на HTTPS. На сайте установлен платный сертификат, нужно заменить его на сертификат Let's Encrypt.

Работаем в sudo.

Установка certbot

Устанавливаем пакет для certbot:

apt-get update
apt-get install certbot
ssl

Устанавливаем пакет для apache:

apt-get install python3-certbot-apache
ssl

Запускаем:

certbot run --apache

Указываем e-mail администратора сертификатов Let's Encrypt. Принимаем лицензионное соглашение и отвечаем на вопросы.

ssl

Скрипт выводит список доменов, которые он нашёл в Apache. У меня примеры доменов. Указываем номер домена, для которого требуется сертификат. В данном случае пишем "1". Enter.

Если домены не нашлись, то ваш Apache, скорее всего, настроен на обслуживание любых доменов. В этом случае название домена нужно указать вручную.

ssl

Нас спрашивают, требуется ли вернуть редирект с HTTP на HTTPS. Соглашаюсь, пишу "2".

ssl

Скрипт отработал, сгенерировал сертификаты (сроком на 3 месяца) и изменил конфигурационные файлы сайта в Apache.

Перезапускаем Apache:

service apache2 restart

Проверяем работу сайта по HTTPS. Всё работает, сертификат новый.

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

Срок действия SSL сертификатов Let's Encrypt — 3 месяца. Настроим автоматическое обновление.

certbot renew
ssl

Ошибок нет, наш сертификат не требует обновления. Проверим принудительное обновление:

certbot renew --force-renewal
ssl

Сертификат успешно обновляется. Certbot разрешает обновлять сертификат не чаще 5 раз в неделю. Если превысите лимит, то нужно ждать неделю.

Создаём сервис:

cd /etc/systemd/system/
vim certbot-renewal.service

Содержимое:

[Unit]
Description=Certbot Renewal

[Service]
ExecStart=/usr/bin/certbot renew --force-renewal --post-hook "systemctl reload apache2.service"

Обращаю внимание на опцию --post-hook, с помощью этой опции мы будем обновлять конфигурационный файл Apache после перевыпуска сертификата.

ssl

Создаём таймер.

vim certbot-renewal.timer

Содержимое:

[Unit]
Description=Timer for Certbot Renewal

[Timer]
OnBootSec=300
OnUnitActiveSec=1w

[Install]
WantedBy=multi-user.target
ssl

Включим таймер:

systemctl start certbot-renewal.timer

Автоматическое включение таймера:

systemctl enable certbot-renewal.timer

Статус таймера:

systemctl status certbot-renewal.timer
ssl

Последний запуск 19 секунд назад. Следующий через неделю.

Мы установили и настроили certbot для получения и обновления SSL сертификатов Let's Encrypt в операционной системе Ubuntu 20.04.6, веб-сервер Apache. Применили к одному из существующих доменов. Дополнительно настроили автоматическое еженедельное обновление сертификата.

Теги

 

Похожие материалы

Nginx — включаем постквантовую криптографию в Ubuntu 22

Постквантовая криптография (Post-Quantum Cryptography) — 'новые математические алгоритмы шифрования, которые останутся устойчивыми даже когда появятся достаточно мощные квантовые компьютеры.

Let's Encrypt — настройка certbot в Ubuntu 22

Установим и настроим certbot для получения и обновления SSL сертификатов Let's Encrypt. Операционная система Ubuntu 22.04.4, веб-сервер Nginx. Настраивать будем на примере развёрнутого SeaFile.

Теги

Zabbix — срок действия SSL сертификата (2)

Сегодня напишем скрипт для мониторинга срока действия SSL сертификатов наших сайтов. Этот мониторинг пригодится многим. Системным администраторам в крупных компаниях, чтобы не пропустить момент перевыпуска сертификатов. Особенно, если количество сайтов — сотни. Владельцам собственных сайтов. Многие пользуются сервисом Let's Encrypt, особенностью сертификатов которого является короткий срок жизни. Если автоматика обновления сертификатов выйдет из строя, то мониторинг SSL сертификатов поможет выявить проблему до того, как она себя проявит.

Теги