22 ноября, 2017
2мин. чтения
Elena B.
Если вы хотите разместить более одного домена на своём сервере, вам нужно создать соответствующие хосты на веб-сервере, так чтоб сервер мог знать, какой контент должен быть обслужен по входящему запросу. В этом руководстве вы изучите как создавать виртуальные хосты или Apache virtualhost на CentOS 7.
Прежде, чем приступить к действиям из руководства, проверьте наличие:
Первым делом, вам нужно установить Apache на вашей CentOS7-машине (пропустите этот шаг, если вы его уже установили). Apache может быть легко установлен со стандартных репозиториев CentOS следующей командой:
sudo yum -y install httpd
Как только установка завершена, включите Apache как сервис CentOS:
sudo systemctl enable httpd.service
Теперь Apache будет автоматически стартовать после перезагрузки сервера.
Теперь вам надо создать дерево каталогов, которое будет использоваться для хранения данных веб-сайтов. Установите рабочую директорию на /var/www запуском этой команды:
cd /var/www/
Вам нужно использовать уникальный корневой каталог документов для каждого создаваемого виртуального хоста Apache virtualhost. В этом руководстве yourdomain.com будет использоваться как пример домена, пожалуйста, замените его на свой домен. Запустите эту команду для создания директории для нового хоста:
mkdir -p yourdomain.com/public_html
Теперь, запустите chown для изменения прав владения директорией и chmod для установки правильных разрешений для всей веб-директории, для того, чтобы они были доступны должным образом для Apache:
chown -R apache:apache /var/www/yourdomain.com/public_html
chmod -R 755 /var/www
У Apache теперь есть необходимый доступ для обслуживания контента входящих запросов и создания дополнительных директорий.
Вам нужно создать файл index.html в директории yourdomain.com/public_html:
nano yourdomain.com/public_html/index.html
Введите это содержимое в файл:
<html> <head> <title>Это тестовая страница</title> </head> <body> <h1>Он работает!</h1> </body> </html>
Сохраните файл по завершению.
Создайте .conf файл нового Apache virtualhost в конфигурационной директории:
nano /etc/httpd/conf.d/yourdomain.com.conf
Структура файла yourdomain.com.conf должна быть похожа на:
<VirtualHost *:80> ServerName www.yourdomain.com ServerAlias yourdomain.com DocumentRoot /var/www/yourdomain.com/public_html ErrorLog /var/www/yourdomain.com/error.log CustomLog /var/www/yourdomain.com/requests.log combined </VirtualHost>
В общем, мы сообщаем Apache, что мы будем использовать порт 80 для взаимодействия и что yourdomain.com — это имя виртуального хоста. Кроме этого, мы определяем директории для файлов веб-сайта (корневой каталог документов) и журналы ошибок (error logs).
Чтобы эти изменения вступили в силу, перезапустите Apache, используя эту команду:
systemctl restart httpd.service
Это всё, вы только что создали виртуальный хост Apache virtualhost для вашего домена, попробуйте открыть его в своём браузере. Вы должны увидеть страницу “Он работает!”.
Теперь вы знаете как создавать Apache virtualhost на CentOS7-машине. И теперь каждый хост может обслуживать разный контент. Более того, вы знакомы с конфигурацией файла Apache virtualhost.
22 ноября 2017
В тексте ошибка nano /etc/httpd/yourdomain.com.conf надо заменить на nano /etc/httpd/conf.d/yourdomain.com.conf
Elena Babarika
Отвечено 22 ноября 2017
Большое спасибо, исправили!