Как настроить virtual hosts в Apache на Ubuntu 16.04

Веб сервер Apache наиболее популярный веб сервер для размещения сайтов в интернете. Хорошо, когда на одном сервере или VPS всего один сайт, а когда их несколько? Для этого нужно настроить virtual hosts Apache.

Настройка virtual hosts Apache наиболее востребована в случае если вы решили перейти с shared-hosting на свой, например VPS.

Виртуальные хосты (virtual hosts) позволяют администратору использовать один сервер для размещения нескольких сайтов (в рамках одного интерфейса или IP-адреса). Каждый домен, настроенный таким образом, будет направлять посетителя на соответствующий сайт. Количество виртуальных хостов на одном сервере ограничивается исключительно ресурсами этого сервера.

Данное руководство поможет настроить виртуальные хосты (virtual hosts Apache) на VPS с  Ubuntu 16.04, что позволит размещать любое количество своих сайтов.

 Условия

 

Инструкция по настройке virtual hosts (виртуальных хостов) на Apache в Ubuntu 16.04 server

В данном примере будем настраивать virtual hosts для двух вымышленных доменов test.com и virtual.com (Не забудьте поменять их на свои домены).

Шаг № 1 Установка веб сервера Apache

Для установки выполним следующие команды:

Шаг № 2 Настройка директорий для виртульнных хостов (virtual hosts)

По умолчанию веб сервере apache настроен на просмотр основной директории для размещения сайтов /var/www В ней будем создавать новые директории для наших сайтов

Контент сайтов будем размещать в папку /html

Настроим права доступа для всех папок и подпапок в директории /var/www командой:

Структура для будущих сайтов test.com и virtual.com — готовы.

Шаг № 3 Создаем тестовую страницу для каждого из сайтов (virtual hosts)

Для каждого из сайтов создадим простую страниц вида index.html

Выполним следующую команду:

В созданный файл добавим следующий текст:

Сохраняем файл и выходим.

Создаем такой же файл для сайт virtual.com

И добавляем такой же текст. Меня только название домена

 

Шаг № 4 Создаем virtual hosts файлов

Virtual hosts Apache файл содержит все настройки для каждого из сайтов.

В Apache есть файл по умолчания для virtual hosts он называется 000-default.conf

Возьмем его за основу для настройки наших сайтов. По умолчанию каждый файл для virtual hosts должен заканчиваться на .conf

Создание директив для сайта test.com

Копируем файл по умолчанию и редактируем его для сайт test.com

Открываем новый файл для редактирования

Пример файла виртуального хоста с убранными комментариями для удобства восприятия

Первым делом меняем директиву ServerAdmin, указав в нем электронный адрес администратора этого сайта, например:

После этого добавим две директивы. Первая будет называться ServerName, где мы указываем реальный домен своего сайта и вторую  ServerAlias, где так же указываем свой домен но добавляем в начале www, в итоге они буду выглядеть:

Теперь настроим путь к нашему новому виртуальному хосту (virtual hosts). Это путь где будет размещен наш новый сайт

В итоге файл настройки virtual hosts для для домена test.com будет выглядеть:

Сохраняем и закрываем файл. (В редакторе nano это комбинация клавиш ctrl + x)

Создание директив для сайта virtual.com

Копируем настройки уже готового сайта test.com

Открываем файл virtual.com.conf

И приводим его к виду:

Сохраняем и закрываем файл.

 

Шаг № 5 Активируем virtual hosts наших сайтов

Для активации воспользуемся утилитой Apache a2ensite

Отключаем стандартный файл конфигурации

Когда мы закончили, для применения изменений перезапустим веб сервер Apache

 

Шаг № 6 Настройка файлов host (опционально)

Данный шаг, нужен если вы экспериментируете с настройками apache на своем компьютере, на котором веб сервер Apache развернут например в VirtualBox. Если вы настраиваете виртуальные хосты на своем VPS сервере, данный шаг можно пропустить.

Если на рабочем компьютере установлен  Mac или Linux (например на моем рабочем компьютере установлена Ubuntu 16.04), то для работы с виртуальными хостами вносим изменения в файл /etc/hosts

Если у тестового сервера ip адрес 192.168.0.110 то на основном компьютере, на котором установлен VirtualBox настройки файла /etc/hosts будут выглядеть следующим образом

 

Шаг № 7 Проверяем результат

Если вы работаете с VPS не забудьте в панели управления доменов, добавить A-запись для каждого из доменов  с ip адресом VPS сервера.

Вводим в браузере:

Если все сделано правильно, увидим результат:

virtual hosts server blocks nginx

Вывод

Поздравляю! Мы настроили virtual hosts на веб сервере Apache в Ubuntu 16.04 server. Теперь можно размещать любое количество веб сайтов, но с учетом допустимых ресурсов сервера.

Удачи !

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

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