ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Пятница, 23 мая, 2025

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

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

В этой статье блога вы узнаете, как включить протокол HTTPS в AlmaLinux 10. HTTPS — это защищённый протокол передачи гипертекста, который является безопасной версией протокола HTTP. Для повышения безопасности протокол HTTPS отправляет зашифрованные данные между веб-браузерами и веб-сайтами. Это крайне важно, когда пользователь передаёт конфиденциальные данные, например при входе в систему, хранении информации о кредитной карте, оплате онлайн и т. д. HTTPS использует SSL (уровень защищённых сокетов) для шифрования передаваемых данных и проверки подлинности сервера.

В следующих нескольких абзацах мы более подробно объясним, как включить протокол HTTPS. Давайте начнём!

 

Предварительные условия

 

Что такое протокол 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, пожалуйста, поделитесь им с друзьями или оставьте комментарий ниже.

Exit mobile version