Як встановити SSL-сертифікат Let's Encrypt на Ubuntu
Як встановити SSL-сертифікат Let's Encrypt на Ubuntu

SSL (Secure Sockets Layer) — це технологія шифрування, яка захищає дані, що передаються між сервером і клієнтом. Встановити SSL-сертифікат на сервер варто, тому що цей підхід дає має кілька ключових переваг:

  • Безпека: захищає дані користувачів, такі як паролі, платіжні реквізити та особисту інформацію, від перехоплення.
  • Довіра користувачів: браузери відображають значок “замка” біля URL-адреси, що свідчить про безпечне з’єднання.
  • SEO-переваги: пошукові системи, такі як Google, надають перевагу сайтам із HTTPS у результатах пошуку.
  • Відповідність вимогам: багато сервісів і законодавчих норм вимагають використання HTTPS для забезпечення безпеки.

Let’s Encrypt – це безкоштовний, автоматизований та відкритий центр сертифікації (CA), який дозволяє отримувати SSL-сертифікати для забезпечення шифрування HTTPS. У цій статті розглянемо, як встановити Let’s Encrypt на Ubuntu, налаштувати автоматичне продовження сертифіката та інтегрувати його з веб-сервером Apache.

Установка Certbot

Якщо ви використовуєте Debian Buster або Debian testing/Sid, ви можете просто встановити Certbot командами:

sudo apt-get update
sudo apt-get install certbot

Створення сертифіката

Зупиняємо Apache:

sudo service apache2 stop

Зупиняти Apache під час створення або продовження сертифіката потрібно тому, що Certbot у режимі standalone працює як веб-сервер (прослуховує порт 80). Щоб уникнути конфліктів, веб-сервер потрібно зупинити, інакше побачите повідомлення про помилку.

Запускаємо Certbot (замість YOUR_DOMAIN введіть ваш домен):

sudo certbot certonly --standalone -d YOUR_DOMAIN

Під час виконання команди вам буде запропоновано ввести email, прийняти умови використання Let’s Encrypt та (опційно) погодитися на отримання новин від EFF.

Процес отримає сертифікат і згенерує файли у /etc/letsencrypt/live/YOUR_DOMAIN/.

Налаштування SSL у Apache

У файлі /etc/apache2/sites-enabled/YOUR_DOMAIN.conf чи іншому, що відповідає за налаштування вашого сайту, додайте рядки:

SSLCertificateFile /etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem

Запускаємо Apache:

sudo service apache2 start

Тепер можна відкрити сайт у браузері та перевірити, чи вважає його браузер безпечним.

Налаштування автоматичного продовження сертифіката

Certbot автоматично додає задачу в cron або systemd для перевірки та продовження сертифіката. Переконайтеся, що вона є, наступною командою:

systemctl list-timers --all | grep certbot

Як встановити SSL-сертифікат Let's Encrypt на Ubuntu

Щоб уникнути збоїв, потрібно налаштувати хук, який зупинятиме Apache перед продовженням сертифіката та запускатиме його після. Також в ці хуки ви можете додати інші скрипти, які б ви хотіли синхронізувати з оновленням сертифікату:

sudo sh -c 'printf "#!/bin/sh\nservice apache2 stop\n" > /etc/letsencrypt/renewal-hooks/pre/apache.sh'
sudo sh -c 'printf "#!/bin/sh\nservice apache2 start\n" > /etc/letsencrypt/renewal-hooks/post/apache.sh'
sudo chmod 755 /etc/letsencrypt/renewal-hooks/pre/apache.sh
sudo chmod 755 /etc/letsencrypt/renewal-hooks/post/apache.sh

На цьому встановлення та налаштування SSL-сертифіката завершено!

Джерело

Від Тетяна

IT-спеціалістка, викладачка, фанатка сучасних технологій. З 2009 року занурена у світ цифрового дизайну, веб-розробки та адміністрування систем. Ділюсь знаннями про веб-технології, IT-інструменти та корисні лайфхаки, викладаю студентам, навчаюсь сама.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *