Настройка виртуальных хостов Apache на CentOS 8

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

Обычно на одном сервере работает несколько веб-сайтов. Каждый из них нуждается в особой конфигурации, так как потребности каждого из них могут отличаться. Именно поэтому необходимо создавать виртуальные хосты.

Виртуальные хосты позволяют иметь множество веб-сайтов, работающих на одном сервере. Кроме того, это лучший способ их конфигурирования.

Именно это и является целью данной статьи — показать вам, как это сделать и наилучшим образом. Давайте приступим к настройке виртуальных хостов Apache на CentOS 8.

Установка веб-сервера Apache на CentOS 8 / Rocky Linux 8

Давайте начнем с основ. Сначала мы установим веб-сервер Apache.

sudo dnf update

sudo dnf install httpd

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

sudo systemctl start httpd

Обычно он запускается вместе с системой.

sudo systemctl status httpd

Не забудьте проверить статус на наличие ошибок Apache.

sudo systemctl status httpd

Скорее всего, у вас работает брандмауэр (firewall). В этом случае для корректной работы требуется открыть порты 80 и 443.

sudo firewall-cmd --add-port=80/tcp

sudo firewall-cmd --add-port=443/tcp

Перезапустите брандмауэр (firewall), для того чтобы применить сделанные изменения.

sudo firewall-cmd --reload

Создание виртуальных хостов Apache на CentOS 8

Рекомендуемый способ создания виртуальных хостов в CentOS 8 — это создание отдельной папки для каждого из них. Название папки не имеет значения, но удобно использовать имя, которое можно быстро идентифицировать.

В данном случае мы будем использовать в качестве домена test.linuxwin.ru. Конечно же мой домен это для примера, вы используйте свой.

Сначала создайте папку:

sudo mkdir /var/www/test.linuxwin.ru

После этого сделайте Apache владельцем папки, чтобы все работало нормально.

sudo chown apache:apache /var/www/test.linuxwin.ru

Если необходимо, то вы можете назначить папке специальные разрешения.

sudo chmod -R 755 /var/www/test.linuxwin.ru

Теперь необходимо создать новый файл конфигурации. Этот файл должен находиться в папке /etc/httpd/conf.d/. Название также не имеет большого значения, но оно должно быть понятным для вас.

Например:

sudo nano /etc/httpd/conf.d/test.linuxwin.ru.conf

В этот файл нужно добавить всю конфигурацию Apache для этого сайта. Просто добавьте следующие строки.

<virtualhost *:80>
ServerName test.linuxwin.ru
DocumentRoot /var/www/test.linuxwin.ru

ErrorLog /var/log/httpd/test.linuxwin.ru-error.log
CustomLog /var/log/httpd/test.linuxwin.ru-access.log combined
</virtualhost>

ServerName определяет имя домена;

DocumentRoot определяет путь, где находится наш сайт; если вы хотите, чтобы несколько доменов указывали на сайт, вы можете сделать это с помощью директивы ServerAlias, разделяя запятыми каждый из них.

Сохраните изменения и закройте редактор.

Чтобы изменения вступили в силу требуется перезагрузка веб-сервера.

sudo systemctl restart httpd

Доступ к новому виртуальному хосту

Теперь создайте HTML документ для тестирования. Например,

sudo nano /var/www/test.linuxwin.ru/index.html

И добавьте немного контента, например:

<html>
<body>
Привет, добро пожаловать на SETIWIK
</body>
</html>

Сохраните изменения и закройте редактор.

Теперь откройте веб-браузер и посетите сайт http://test.linuxwin.ru. Если ваш сайт работает, то вы все сделали правильно.

Настройка виртуальных хостов Apache на CentOS 8
Настройка виртуальных хостов Apache на CentOS 8

Заключение

В этой статье вы узнали, как легко настроить виртуальные хосты Apache на CentOS 8 / Rocky Linux 8. Также мы показали вам, как сделать это очень простым способом.

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

Отправляя комментарий, вы даете согласие на обработку ваших данных в соответствии с политикой конфиденциальности и даёте согласие на их использование.