6.21 Випуск SSL-сертифікатів за допомогою Certbot

The Host Certbot Banner

SSL-сертифікат потрібен для захисту сайту за протоколом HTTPS. Він шифрує трафік між користувачем і сервером, підвищує довіру до сайту та сприяє SEO-просуванню. Один із найпростіших способів отримати безкоштовний сертифікат — скористатися Certbot від Let’s Encrypt.

У цій інструкції ми покажемо, як випустити та підключити SSL-сертифікат на VPS або виділеному сервері за допомогою Certbot.

Важливо: якщо ваш сайт розміщено на послузі хостингу або на сервері з панеллю ISPManager4, ця інструкція для вас неактуальна. Випуск SSL Let’s Encrypt там уже реалізовано швидше і зручніше. Актуальна інструкція — за посиланням.

Вимоги

Перед початком переконайтесь, що:

  • Ви маєте доменне ім’я, яке вказує на ваш сервер (через A-запис).
  • Сервер працює на актуальній версії ОС з родини Linux.
  • На сервері встановлено вебсервер, наприклад Nginx або Apache.
  • Порти 80 і 443 відкриті.

Зверніть увагу: Сертифікати Let’s Encrypt дійсні протягом 90 днів. Проте Certbot дозволяє автоматизувати їх подовження.

Покрокове встановлення Certbot

Зверніть увагу: Інструкція наведена для Ubuntu 22.04. У CentOS замість sudo apt потрібно використовувати sudo yum.

1. Оновлюємо пакети:

sudo apt update

update system

2. Встановлюємо Certbot та плагін для потрібного вебсерверу:

Для Nginx
sudo apt install -y certbot python3-certbot-nginx

install for nginx

Для Apache
sudo apt install -y certbot python3-certbot-apache

install for apache

3. Перевіряємо версію Certbot:

certbot --version

certbot version

Якщо бачимо актуальну версію (наприклад, certbot 1.32.0) — значить, все встановлено успішно.


Випуск сертифіката

1. Переконайтесь, що сайт доступний по HTTP. Відкрийте домен (наприклад, example.com) у браузері. Certbot перевіряє власність домену через порт 80.

2. Запускаємо Certbot:

Для Nginx
sudo certbot --nginx

install cert nginx

Для Apache
sudo certbot --apache

install cert apache

У процесі Certbot:

  • знайде віртуальні хости;
  • запропонує обрати домен;
  • автоматично налаштує HTTPS.

Порада: Certbot оновить конфігурацію Nginx/Apache та додасть редирект на HTTPS.

3. Перевірка результату. Відкрийте сайт у браузері. Якщо все налаштовано правильно — побачите замок у адресному рядку та протокол https://.

Можна перевірити через:

curl -I https://example.com

Автоматичне подовження

Certbot автоматично налаштовує cron або systemd-timer для подовження сертифікатів.

Перевірити вручну:

sudo certbot renew --dry-run

Якщо бачите Congratulations, all renewals succeeded — все працює.


Підсумок

Ваш сайт тепер захищено безкоштовним SSL-сертифікатом від Let’s Encrypt, а Certbot подовжуватиме його автоматично.

Що можна зробити далі: