Как включить протокол HTTPS в AlmaLinux 10

В этой статье блога вы узнаете, как включить протокол HTTPS в AlmaLinux 10. HTTPS — это защищённый протокол передачи гипертекста, который является безопасной версией протокола HTTP. Для повышения безопасности протокол HTTPS отправляет зашифрованные данные между веб-браузерами и веб-сайтами. Это крайне важно, когда пользователь передаёт конфиденциальные данные, например при входе в систему, хранении информации о кредитной карте, оплате онлайн и т. д. HTTPS использует SSL (уровень защищённых сокетов) для шифрования передаваемых данных и проверки подлинности сервера.
В следующих нескольких абзацах мы более подробно объясним, как включить протокол HTTPS. Давайте начнём!
Предварительные условия
- Сервер под управлением AlmaLinux 10
- Действительный домен указывал на IP-адрес сервера
- Права пользователя: root или пользователь без прав root с правами sudo
Что такое протокол HTTPS и как его включить?
Протокол HTTPS — это безопасный способ доступа к веб-сайтам и передачи зашифрованных данных. Протокол HTTPS использует протокол SSL, и для включения HTTPS в AlmaLinux 10 нам нужно установить SSL-сертификат. SSL-сертификаты позволяют веб-сайтам использовать HTTPS. SSL-сертификат — это файл данных, размещённый на исходном сервере веб-сайта. Таким образом, в данном случае для включения HTTPS в AlmaLinux 10 нам нужен веб-сайт, доменное имя, SSL-сертификат для этого домена и основные файлы конфигурации веб-сервера. В качестве веб-серверов мы можем использовать Apache, Nginx и LiteSpeed. В этой статье мы будем использовать веб-сервер Apache, поэтому в следующих разделах мы покажем вам, как включить HTTPS на вашем сайте.
Шаг 1. Обновите систему
Прежде чем выполнять какую-либо команду на сервере, рекомендуется обновить системные пакеты до последней доступной версии. Для этого выполните в командной строке следующую команду:
sudo dnf update -y && sudo dnf upgrade -y
Шаг 2. Установите веб-сервер Apache
Чтобы установить веб-сервер Apache, выполните следующую команду:
sudo dnf install httpd -y
После установки запустите и включите службу для автоматического запуска при загрузке системы:
sudo systemctl start httpd && sudo systemctl enable httpd
Проверьте состояние сервиса:
sudo systemctl status httpd
Вы должны получить следующий результат:
root@host ~]# sudo systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled) Active: active (running) since Mon 2025-04-07 15:22:35 CDT; 7min ago Invocation: 0d69cef33f884d6d9f8179803a955931 Docs: man:httpd.service(8) Main PID: 97965 (httpd) Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec" Tasks: 177 (limit: 23175) Memory: 13.8M (peak: 14.1M) CPU: 685ms CGroup: /system.slice/httpd.service ├─97965 /usr/sbin/httpd -DFOREGROUND ├─97966 /usr/sbin/httpd -DFOREGROUND ├─97967 /usr/sbin/httpd -DFOREGROUND ├─97968 /usr/sbin/httpd -DFOREGROUND └─97969 /usr/sbin/httpd -DFOREGROUND Apr 07 15:22:34 host.test.vps systemd[1]: Starting httpd.service - The Apache HTTP Server..
Шаг 3. Установите Socat и Acme
Нам нужно установить некоторые предварительные требования на нашем сервере для поддержки функций поддельного веб-сервера и клиента:
sudo dnf install socat -y && sudo curl https://get.acme.sh | sh && source ~/.bashrc
Шаг 4. Установите бесплатный сертификат ZeroSSL
ZeroSSL — это бесплатный центр сертификации SSL, созданный компанией CodeNotary, известной своими решениями в области неизменности и блокчейна для обеспечения целостности данных. Чтобы установить ZeroSSL, сначала необходимо создать учетную запись ZeroSSL:
acme.sh --register-account -m admin@your_domain.com --server zerossl
Вы должны получить следующий результат:
[root@host conf.d]# acme.sh --register-account -m admin@yourdomain.ru --server zerossl [Mon Apr 7 16:19:37 CDT 2025] Account key creation OK. [Mon Apr 7 16:19:37 CDT 2025] No EAB credentials found for ZeroSSL, let's obtain them [Mon Apr 7 16:19:37 CDT 2025] Registering account: https://acme.zerossl.com/v2/DV90 [Mon Apr 7 16:19:40 CDT 2025] Registered [Mon Apr 7 16:19:40 CDT 2025] ACCOUNT_THUMBPRINT='ZmR7AOpN7-zg72TcIUXIzFftKyidkjA6oF-fvf9pXoc'
Далее нам нужно остановить службу HTTPD, поскольку для создания ZeroSSL с помощью скрипта acme.sh требуется свободный порт 80.
sudo systemctl stop httpd
После остановки службы httpd мы можем сгенерировать ZeroSSL с помощью acme.sh:
acme.sh --issue --standalone -d your_domain.com --server zerossl
Вы должны получить следующий результат:
[Mon Apr 7 16:24:29 CDT 2025] Your cert is in: /root/.acme.sh/yourdomain.ru_ecc/yourdomain.ru.cer [Mon Apr 7 16:24:29 CDT 2025] Your cert key is in: /root/.acme.sh/yourdomain.ru_ecc/yourdomain.ru.key [Mon Apr 7 16:24:29 CDT 2025] The intermediate CA cert is in: /root/.acme.sh/yourdomain.ru_ecc/ca.cer [Mon Apr 7 16:24:29 CDT 2025] And the full-chain cert is in: /root/.acme.sh/yourdomain.ru_ecc/fullchain.cer
Шаг 5. Создайте файл конфигурации Apache
Если вы откроете IP-адрес вашего сервера в браузере, он отобразит страницу приветствия Apache по умолчанию. Однако установить SSL-сертификат на IP-адрес невозможно. Поэтому нам нужно настроить файл конфигурации Apache так, чтобы сайт был доступен по доменному имени. Для этого создайте следующий файл:
touch /etc/httpd/conf.d/website.conf
Откройте его в вашем любимом текстовом редакторе и вставьте следующие строки кода:
<VirtualHost *:80> ServerName yourdomain.ru DocumentRoot /var/www/html <Directory /var/www/html/> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog /var/log/httpd/yourdomain.ru_error.log CustomLog /var/log/httpd/yourdomain.ru.log combined Redirect permanent / https://yourdomain.ru </VirtualHost> <VirtualHost *:443> ServerName yourdomain.ru DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /root/.acme.sh/yourdomain.ru_ecc/fullchain.cer SSLCertificateKeyFile /root/.acme.sh/yourdomain.ru_ecc/yourdomain.ru.key </VirtualHost>
Пожалуйста, сохраните файл, закройте его и проверьте синтаксис файла конфигурации Apache.
httpd -t
Вы должны получить следующий результат
[root@host conf.d]# httpd -t Syntax OK
Перезапустите httpd.service.
sudo systemctl restart httpd
Теперь вы можете безопасно получить доступ к своему веб-сайту через домен по протоколу HTTPS по адресу https://yourdomain.ru
Вот и всё. Вы успешно включили протокол HTTPS в ОС AlmaLinux 10.
Если вам понравился этот пост о включении HTTPS в AlmaLinux 10, пожалуйста, поделитесь им с друзьями или оставьте комментарий ниже.