воскресенье, 18 марта 2018 г.

Apache на CentOS 7. Добавление виртуального хоста.

Apache на CentOS 7. Добавление виртуального хоста.

Есть установленный WEB-сервер на ip 10.10.49.162, порт 80
Сервер настроен по умолчанию. Имя сервера www.kos.domain.ru.
Сервер смотрит папку /var/www/html.
В ней один файл index.php:
<!DOCTYPE html>
<html>
<head>
  <title>1</title>
</head>
  <body>
    Сервер www.kos.domain.ru
  </body>
</html>
Задача: поднять виртуальный сервер www.purga.domain.ru, документы которого будут в папке /mnt/purga.

Для тестирования работы двух виртуальных серверов установим браузер links
# yum install links
Так мы сможем смотреть ответы сервера в консоли, а не по сети в отсутствии настроек DNS сервера.
Смотрим существующий сервер из консоли так:
# links www.kos.domain.ru

Для добавления нового виртуального хоста необходимо:
1) Прописать новое имя сервера в файл hosts
# nano /etc/hosts
Добавляем строку в конец
127.0.0.1 www.purga.domain.ru purga.domain.ru
Теперь с локальной машины данный адрес успешно пингуется по доменного имени.
# ping www.purga.domain.ru
2) Создаем корневую папку для WEB-сервера и даем ей права
# mkdir /mnt/purga
# chown apache:apache /mnt/purga
Делаем ссылку на эту папку в каталог /var/www:
# ln -s /mnt/purga/ /var/www/purga
3) В папку /mnt/purga кладем файл index.php:
# touch /mnt/purga/index.php
# chown apache:apache /mnt/purga/index.php
# chmod -R 755 /mnt/purga/
# nano /mnt/purga/index.php
Содержимое файла:
<!DOCTYPE html>
<html>
<head>
<title>2</title>
</head>
<body>
Сервер www.purga.domain.ru
</body>
</html>
4) Создаем файл описания виртуального сервера
# touch /etc/httpd/conf.d/purga.conf
Содержимое файла:
<VirtualHost purga.domain.ru:80>

    ServerName purga.domain.ru
    ServerAlias www.purga.domain.ru

    DocumentRoot "/var/www/purga"

    <Directory /var/www/purga >
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    LogLevel warn

    ErrorLog /var/log/httpd/error_log

    CustomLog /var/log/httpd/access_log combined

</VirtualHost>
5) Перезагружаем сервер apache
# systemctl restart httpd.service
6) Проверяем:
# links www.purga.domain.ru
# links www.kos.domain.ru

Все великолепно!