Apache2 – настройка для работы с несколькими сайтами в Debian
В большинстве случаев, если вы имеете собственный веб-сервер с “белым” ip-адресом, то после установки Apache2 в Debian 8, сайт “заливается” в директорию /var/www/html – которая прописана в файле /etc/apache2/sites-available/000-default.conf
Однако, если мы хотим разместить несколько сайтов? Допустим, что у нас есть несколько приобретенных доменных имен. Например:
- school.ru
- moodle.school.ru
- школа.рф
- support.org
и один “белый” ip-адрес. Что нужно делать?
В Apache2 такая возможность, конечно-же, предусмотрена.
Но тут нужно понимать, как работает механизм обработки запросов к серверу. Представить это можно так:
а) В соответствии со схемой, нам нужно настроить на DNS-записи на DNS-сервере.
б) Настроить Веб-сервер для работы с несколькими виртуальными хостами.
Допустим, что с первым пунктом мы разобрались, приступаем к следующему этапу:
1. Устанавливаем веб-сервер, если он еще не установлен:
2. Для того, чтобы обезопасить работу на сервере, в директориях, которые будут созданы для размещения сайтов передадим права на директории пользователю (у меня это webuser, под которым будем работать с файлами сайта). Для этого установим модуль apache2-mpm-itk:
3. Создаем директорию для нашего сайта в /var/www/ и передаем права на нее нашему пользователю webuser :
chown webuser:webuser /var/www/school.ru
4. Создаем файл конфигурации виртуального хоста для school.ru:
И прописываем в нем:
<VirtualHost *:80>
ServerName school.ru
ServerAdmin mail@school.ru
ServerAlias www.school.ru
DocumentRoot /var/www/school.ru
CustomLog ${APACHE_LOG_DIR}/school.ru.access.log combined
ErrorLog ${APACHE_LOG_DIR}/school.ru.error.log
AssignUserID webuser webuser
<Directory /var/www/school.ru>
Options -Includes -Indexes -ExecCGI
</Directory>
</VirtualHost>
5. “Включаем” сайт. Это можно сделать путем создания символьной ссылки на конфигурационный файл виртуального хоста school.ru.conf в директорию /etc/apache2/sites-enabled, либо специальной утилитой apache2:
6. Перезапускаем apache2:
7. Для того, чтобы проверить работу виртуального хоста school.ru создадим в директории /var/www/school.ru файл index.html c содержимым:
<body><h1>Hello!</h1></body>
8. Запускаем браузер и переходим по адресу http://school.ru
Источники:
- http://httpd.apache.org/
- http://interface31.ru/tech_it/2015/06/nastraivaem-veb-server-na-baze-apache-v-debian-ubuntu-server.html
- https://habrahabr.ru/post/226971/