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 такая возможность, конечно-же, предусмотрена.

Но тут нужно понимать, как работает механизм обработки запросов к серверу. Представить это можно так:

apache2 dns

а) В соответствии со схемой, нам нужно настроить на DNS-записи на DNS-сервере.

б) Настроить Веб-сервер для работы с несколькими виртуальными хостами.

Допустим, что с первым пунктом мы разобрались, приступаем к следующему этапу:

1. Устанавливаем веб-сервер, если он еще не установлен:

apt-get install apache2

2. Для того, чтобы обезопасить работу на сервере, в директориях, которые будут созданы для размещения сайтов передадим права на директории пользователю (у меня это webuser, под которым будем работать с файлами сайта). Для этого установим модуль apache2-mpm-itk:

apt-get install apache2-mpm-itk

3. Создаем директорию для нашего сайта в /var/www/ и передаем права на нее нашему пользователю webuser :

mkdir /var/www/school.ru
chown webuser:webuser /var/www/school.ru

4. Создаем файл конфигурации виртуального хоста для school.ru:

touch /etc/apache2/sites-available/school.ru.conf

И прописываем в нем:

<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:

a2ensite school.ru
“Выключить” сайт можно командой:

a2dissite school.ru

6. Перезапускаем apache2:

service apache2 reload

7. Для того, чтобы проверить работу виртуального хоста school.ru создадим в директории /var/www/school.ru файл index.html c содержимым:

<body><h1>Hello!</h1></body>

touch /var/www/school.ru/index.html

8. Запускаем браузер и переходим по адресу http://school.ru

Источники: 



Интересная статья? Поделитесь ей с друзьями!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой:

Мы в соцсетях

  • RSS