Site icon Мой компьютер

Установка Apache в CentOS 8

CentOS 8 — в настоящий момент последняя версия CentOS Linux, основанная на исходных кодах Red Hat Enterprise Linux 8. Apache HTTP-сервер — свободный кроссплатформенный веб-сервер, поддерживающий такие операционные системы, как Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами веб-сервера Apache считаются его надёжность и гибкость конфигурации, позволяющие подключать к нему внешние модули предоставления данных, использовать СУБД, производящие аутентификацию пользователей, анализировать сообщения об ошибках и многое другое. В Apache HTTP-сервер реализована поддержка протокола IPv6. В нашей статье мы  расскажем вам как выполнить Apache на CentOS 8 или RHEL 8 с дополнительной конфигурацией и настройкой SSL.

Установка Apache на CentOS 8

Для выполнения команд в инструкции вам потребуются привилегии sudo, требуемые для установки необходимых пакетов. Получить их можно, сменив пользователя на пользователя sudo командой:

sudo su

Шаг 1. Установка пакетов

Установка Apache CentOS 8 выполняется с помощью команды приведенной ниже. Она позволит установить не только сам сервер, но и дополнительные пакеты, необходимые для его работы в вашей системе:

dnf install httpd

Шаг 2. Настройка службы Apache

 Управление службой Apache выполняется при помощи команды systemctl. По окончании установки используйте команду systemctl для добавления службы Apache в автозагрузку и её запуска:

sudo systemctl enable httpd.service

sudo systemctl start httpd.service

Если вы хотите перезапустить apache CentOS 8, то можете использовать команду:

systemctl restart httpd.service

Перезапуск Apache без завершения активных соединений можно выполнить командой reload:

systemctl reload httpd.service

Шаг 3. Настройка фаервола

Для корректной работы установленного веб сервера необходимо открыть порты, используемые по умолчанию в файрволе, следующими командами:

firewall-cmd --zone=public --permanent --add-service=http

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

firewall-cmd --reload

Шаг 4. Проверка работы Apache

Теперь вы можете получить информацию об установленной версии Apache на вашем сервере, используя следующую команду:

httpd -v

Вывод результатов выполнения команды представлен на рисунке ниже:

Создайте тестовую html-страницу в корневом каталоге веб-сервера по умолчанию (/var/www/html).

echo "Hello Losst.ru" > /var/www/html/index.html

Теперь откройте ваш любимый браузер и, используя IP-адрес сервера или домен, указывающий на IP-адрес вашего сервера, перейдите на только что созданную тестовую страницу:

Если вы видите текст, который ранее записали в тестовый файл, значит установка apache centos прошла успешно.

Шаг 5. Создание виртуальных хостов

Виртуальный хост — специальный раздел, используемый в конфигурации веб-сервера, выполняющий сопоставление доступных на сервере IP-адресов, доменов и директорий сервера, а также управляющий сайтами, созданными на веб-сервере. Давайте разберемся как создать виртуальный хост Apache Apache CentOS на примере сайта example.com. Создайте пример индексного файла в каталоге /var/www/example.com:

mkdir -p /var/www/example.com

echo "hello example.com" | sudo tee /var/www/example.com/index.html

Далее создайте файл конфигурации виртуального хоста и отредактируйте его, добавив следующее содержимое: можно изменить доменное имя в соответствии с вашим доменом:

sudo nano /etc/httpd/conf.d/example.com.conf

<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/example.com
ServerName example.com
ServerAlias www.example.com
<Directory /var/www/example.com>
AllowOverride all
</Directory>
ErrorLog logs/example.com_error.log
CustomLog logs/example.com_access.log combined
</VirtualHost>

Рассмотрим структуру файла example.com.conf. Вот основные директивы, которые там используются:

Чтобы изменения вступили в силу надо перезапустить службу. Перезагрузка Apache выполняется командой:

systemctl reload httpd.service

Настройка виртуальных хостов Apache CentOS завершена.

Шаг 4. Настройка SSL

Если вы не собираетесь использовать  SSL в работе вашего сайта, то можете смело пропускать этот шаг. Однако, безопасность всегда является главной задачей для любого веб-сайта. Для того, чтобы использовать SSL в связке с Apache, требуется  установить пакет mod_ssl в вашей системе. Для этого выполните команду:

dnf install mod_ssl

По окончании установки пакета создайте директорию, в которой будет хранится наш
SSL-сертификат:

mkdir -p /etc/pki/tls/certs

Перейдите в него, выполнив команду:

cd /etc/pki/tls/certs

Теперь создайте SSL-сертификат, который будет использоваться при настройке виртуального хоста. Для этого выполните команду:

openssl req -x509 -nodes -newkey rsa:2048 -keyout example.com.key -out example.com.crt

Эта команда создаст закрытый ключ и сертификат в необходимой директории.

Вы можете использовать файл конфигурации /etc/httpd/conf/ssl.conf для настройки SSL вашего виртуального хоста или же можете создать отдельный файл конфигурации виртуального хоста для вашего домена, например, /etc/httpd/conf.d/example.com.conf. Добавьте в него следующее содержимое:

nano /etc/httpd/conf.d/example.com.conf

<VirtualHost *:443>
ServerAdmin admin@example.com
DocumentRoot /var/www/example.com
ServerName example.com
ServerAlias www.example.com
<Directory /var/www/example.com>
#AllowOverride all
</Directory>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/example.com.crt
SSLCertificateKeyFile /etc/pki/tls/certs/example.com.key
ErrorLog logs/example.com_ssl-error.log
CustomLog logs/example.com_ssl-access.log combined
</VirtualHost>

В файле example.com.conf используются три директивы для включения поддержки ssl apache centos виртуальным хостом. Давайте рассмотрим их подробнее.

Закрытый ключ также может быть объединён с сертификатом в файле, предоставленном SSLCertificateFile, но эта практика крайне нежелательна. Если он используется, то файлы сертификатов, использующие такой встроенный ключ, должны быть настроены после сертификатов, использующих отдельный файл ключей.

Теперь, создав и настроив конфигурационный файл, сохраните изменения в файле виртуального хоста и перезагрузите службу Apache, используя следующую команду:

systemctl reload httpd.service

Выводы

В этой статье мы разобрали как выполняется установка Apache в CentOS 8. Выполнив указанные в нашей статье действия, вы сможете установить и настроить веб сервер Apache на вашем сервере CentOS 8.

Источник

Exit mobile version