Здравствуйте, друзья. В этой статье мы покажем вам, как настроить виртуальные хосты 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 / Rocky Linux 8. Также мы показали вам, как сделать это очень простым способом.