Перейти до змісту

mod_ssl на Rocky Linux у середовищі веб-сервера Apache

Веб-сервер Apache існує вже багато років. mod_ssl забезпечує більшу безпеку для веб-сервера та його можна встановити майже на будь-якій версії Linux.

Ця процедура допоможе вам почати працювати з Rocky Linux і mod_ssl у середовищі веб-сервера Apache.

Передумови

  • Робоча станція або сервер, бажано з уже встановленим Rocky Linux.
  • Можливість запускати команди як root або sudo для підвищення привілеїв.

Встановлення Rocky Linux Minimal

Під час встановлення Rocky Linux ми використовували наступні набори пакетів:

  • Minimal
  • Standard

Запуск оновлення системи

Спочатку запустіть команду системного оновлення, щоб дозволити серверу перебудувати кеш сховища для розпізнавання доступних пакетів.

dnf update

Увімкнення репозиторіїв

Усі необхідні репозиторії будуть на місці зі звичайним встановленням сервера Rocky Linux.

Перевірка доступних репозиторіїв

Щоб бути впевненим, перевірте свій список сховища за допомогою:

dnf repolist

Ви отримаєте наступне:

appstream                                                        Rocky Linux 8 - AppStream
baseos                                                           Rocky Linux 8 - BaseOS
extras                                                           Rocky Linux 8 - Extras
powertools                                                       Rocky Linux 8 - PowerTools

Встановлення пакетів

Щоб встановити mod_ssl, запустіть:

dnf install mod_ssl

Щоб увімкнути модуль mod_ssl, виконайте:

apachectl restart httpd apachectl -M | grep ssl

Ви побачите:

ssl_module (shared)

Відкриття порту TCP 443

Щоб дозволити вхідний трафік через HTTPS, виконайте:

firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

Переконайтеся, що ви прагнете відкрити веб-сайт для світу, додаючи це правило! Якщо ні, змініть зону або налаштуйте брандмауер, щоб це виправити.

Ви повинні мати доступ до веб-сервера Apache через HTTPS. Введіть https://your-server-ip або https://your-server-hostname, щоб підтвердити конфігурацію mod_ssl.

Створення SSL/TLS сертифікату

Щоб створити самопідписаний сертифікат для хосту rocky8 із терміном дії 365 днів, виконайте:

openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/httpd.key -x509 -days 365 -out /etc/pki/tls/certs/httpd.crt

Ви побачите такий результат:

Generating a RSA private key
................+++++
..........+++++
writing new private key to '/etc/pki/tls/private/httpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:AU
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:LinuxConfig.org
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:rocky8
Email Address []:

Після виконання цієї команди з’являться наступні два файли SSL/TLS:

ls -l /etc/pki/tls/private/httpd.key /etc/pki/tls/certs/httpd.crt

-rw-r--r--. 1 root root 1269 Jan 29 16:05 /etc/pki/tls/certs/httpd.crt
-rw-------. 1 root root 1704 Jan 29 16:05 /etc/pki/tls/private/httpd.key

Налаштування веб-сервер Apache із новими сертифікатами SSL/TLS

Щоб включити щойно створений сертифікат SSL/TLS до конфігурації веб-сервера Apache, відкрийте файл ssl.conf, виконавши:

nano /etc/httpd/conf.d/ssl.conf

Змініть наступні рядки:

З:

SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

НА:

SSLCertificateFile /etc/pki/tls/certs/httpd.crt
SSLCertificateKeyFile /etc/pki/tls/private/httpd.key

Перезавантажте веб-сервер Apache, виконавши:

systemctl reload httpd

Перевірка конфігурації mod_ssl

У веб-браузері введіть наступне:

https://your-server-ip або https://your-server-hostname

Щоб перенаправити весь HTTP-трафік на HTTPS

Створіть новий файл, виконавши:

nano /etc/httpd/conf.d/redirect_http.conf

Вставте наведений нижче вміст і збережіть файл, замінивши «ім’я хоста-вашого-сервера» на ім’я хосту.

<VirtualHost _default_:80>

        Servername rocky8
        Redirect permanent / https://your-server-hostname/

</VirtualHost>

Застосуйте зміни, виконавши:

systemctl reload httpd

Веб-сервер Apache перенаправлятиме будь-який вхідний трафік із URL-адреси http://hostname-вашого-сервера на URL-адресу https://ім’я-хоста-вашого-сервера.

Останні кроки

Ви бачили, як встановити та налаштувати mod_ssl, а також створити новий сертифікат SSL/TLS для запуску веб-сервера під послугою HTTPS.

Висновок

У цьому підручнику показано базове встановлення та використання mod_ssl.

Author: Garthus

Contributors: Steven Spencer, David Hensley, Ganna Zhyrnova