Ревнивый муж подобен турку (К. Прутков).

Как настроить в Apache виртуальные хосты на Debian 8

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 24 марта 2017

Как настроить Apache виртуальные хосты на Debian 8
Веб-сервер Apache является один из наиболее популярных способов обработке веб-контента в Интернете. На его долю приходится более половины всех активных веб-сайтов в интернете и является чрезвычайно мощным и гибким.

Apache разбивает его функциональные возможности и компоненты в отдельные единицы, которые можно настроить независимо друг от друга. Базовый блок, который описывает отдельный сайт или домен называется виртуальный хост.

При использовании виртуальных хостов, вы можете использовать один сервер для размещения нескольких доменов или сайтов из одного интерфейса или IP с помощью механизма согласования. Настроить запрос на домен, чтобы направить посетителя к конкретному каталогу, содержащего информацию об сайте. Другими словами, вы можете разместить более одного веб-сайта на одном сервере. Эта схема может быть расширена без каких-либо ограничений программного обеспечения до тех пор, пока ваш сервер может справиться с нагрузкой.

На этом уроке мы создадим два виртуальных хоста Apache на сервере Debian 8, с разным содержанием для посетителей на основе домена, которые они посещают.

Предпосылки

Для завершения этого урока вам понадобятся:

В этом руководстве мы создадим виртуальные хосты для example.ru и test.ru, но вы можете заменить на свои собственные домены или значения, следуя далее.

Если вы не имеете в наличии домены, вы можете использовать example.ru и test.ru и следовать Шагу 5 из этого учебника, чтобы настроить файл локальные хосты, чтобы сопоставить эти домены IP – адресу вашего сервера. Это позволит вам проверить вашу конфигурацию с локального компьютера.

Шаг 1 – Создание структуры каталогов

Первый шаг, который мы собираемся принять, это сделать структуру каталогов, которая будет содержать данные сайта, которые мы будет выкладывать для посетителей.

Наш корневой документ, каталог верхнего уровня, который указывает на Apache, будут установлены в отдельных каталогах в каталоге /var/www. Мы создадим каталог для каждого из виртуальных хостов, которые мы настроим.

В каждом из этих каталогов, мы создадим папку public_html, которая будет содержать веб – страницы. Это дает нам немного больше гибкости в том, как мы применяем более сложные веб – приложения в будущем; папка public_html будет держать веб – контент и родительская папка, может содержать сценарии или код приложения для поддержки веб – контента.

Создание каталогов с помощью следующих команд:

 

Так как мы создали каталоги с sudo, они принадлежат нашим суперпользователю. Если мы хотим, чтобы наш обычный пользователь имел возможность изменять файлы в наших веб – каталогах, мы изменим права собственности, примерно так:

 

Переменная $USER использует значение пользователя, при помощи которого вы вошли в систему при нажатии кнопки ENTER. Делая это, наш обычный пользователь в настоящее время владеет подкаталогом public_html, где мы будем хранящие наше содержание.

Мы также должны изменить наши разрешения, чтобы гарантировать, что доступ на чтение разрешен к общему веб – каталогу и все файлы и папки, которые она содержит. Выполните эту команду, чтобы изменить права доступа к папке /var/www и ее подпапок:

 

Теперь Ваш веб-сервер должен иметь разрешения, необходимые для предоставления контента, а пользователь должен иметь возможность создавать контент в нужные папки. Давайте создадим файл HTML для каждого сайта.

Мы создали нашу структуру каталогов. Давайте создадим некоторое содержание.

Шаг 2 – Создание страниц по умолчанию для каждого виртуального хоста

Давайте создадим простую страницу index.html для каждого сайта. Это поможет нам гарантировать, что наши виртуальные хосты настроены должным образом.

Давайте начнем с страницы для example.ru. Отредактируем новый файл index.html с помощью следующей команды:

 

В этом файле, создадим простой HTML – документ, который указывает на главную страницу, когда посетитель попадает на example.ru:

/var/www/example.ru/public_html/index.html
 

Сохраните и закройте файл, когда вы закончите.

Теперь скопируйте этот файл на сайт test.ru:

 

Затем откройте файл в редакторе:

 

Изменить файл так, чтобы он ссылался на test.ru вместо example.ru:

/var/www/test.ru/public_html/index.html
 

Сохраните и закройте этот файл. Теперь у вас есть страницы, необходимые для проверки конфигурации виртуального хоста. Далее, давайте настроим виртуальные хосты.

Шаг 3 – Создайте новый файл виртуальных хостов

Файл виртуальных хостов указывает на фактическую конфигурацию наших виртуальных хостов и диктует, как веб-серверу Apache будет реагировать на различные запросы домена.

Apache поставляется с файлом виртуальных хостов по умолчанию под названием 000-default.conf, которое можно использовать в качестве отправной точки. Скопируйте этот файл для первого домена:

 

Примечание : Конфигурация Apache по умолчанию в Debian 8 требует, чтобы каждый файл виртуальных хостов заканчивался расширением .conf.

Откройте новый файл в редакторе:

 

Файл будет выглядеть как на следующем примере, с некоторыми дополнительными комментариями:

/etc/apache2/sites-available/example.ru.conf
 

Этот виртуальный хост обрабатывает любые запросы, сделанные на порт 80, порт HTTP по умолчанию. Давайте сделаем несколько изменений в этой конфигурации, и добавим несколько новых директив.

Во- первых, изменим директиву ServerAdmin по электронной почте о том, что администратор сайта может получать сообщения через электронной почты.

/etc/apache2/sites-available/example.ru.conf
 

Далее, нам необходимо добавить две новые директивы. Первая из них , называется ServerName, устанавливает базовый домен для данного виртуального хоста. Вторая называется ServerAlias, определяет дальнейшие имена, которые должны соответствовать, как если бы они были базовым именем. Это полезно для сопоставления дополнительных узлов, которые вы определили, так как example.ru и www.example.ru оба работают, при условии, если оба этих хоста указывают на IP – адрес этого сервера.

Добавьте эти две директивы в файл конфигурации, сразу после строки ServerAdmin:

/etc/apache2/sites-available/example.ru.conf
 

Далее, измените местоположение корневого каталога документов для этого домена, изменив директиву DocumentRoot, чтобы указать на каталог, созданный для этого хоста:

 

После того, как вы сделали эти изменения, ваш файл должен выглядеть следующим образом:

/etc/apache2/sites-available/example.ru.conf
 

Сохраните и закройте файл.

Затем создайте второй файл конфигурации, создав копию этого файла:

 

Откройте новый файл в редакторе:

 

Затем измените соответствующие настройки для ссылки на свой второй домен. Когда вы закончите, ваш файл будет выглядеть следующим образом:

/etc/apache2/sites-available/test.ru.conf
 

Сохраните и закройте файл.

Теперь, когда мы создали файлы виртуальных хостов, мы можем включить их.

Шаг 4 – Включение новых файлов виртуальных хостов

Вы создали папки и файлы конфигурации виртуальных хостов, но Apache не будет использовать их , пока вы не включите их. Вы можете использовать инструмент a2ensite для того, чтобы каждый из ваших сайтов заработал.

Активируйте первый сайт:

 

Вы увидите следующий вывод, если не было никаких ошибок синтаксиса или опечатки в вашем файле:

Вывод
 

Для того, чтобы ваши изменения вступили в силу, вы должны перезагрузить Apache. Но прежде чем сделать, включите другой сайт:

 

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

Вывод
 

Затем отключите узел по умолчанию, определенный в 000-default.conf с помощью команды a2dissite:

 

Теперь перезапустите Apache:

 

Сайты теперь настроены. Давайте проверим их. Если вы используете реальные домены, настроенные, указывающие на IP-адрес вашего сервера, вы можете пропустить следующий шаг. Но если ваши домены еще не настроены, или если вы просто сделали тестирование, читайте дальше, чтобы узнать, как проверить нашу установку с помощью локального компьютера.

Шаг 5 – Настройка локального файла Hosts (Необязательно)

Если вы не использовали фактические доменные имена, которыми вы владеете, чтобы проверить эту процедуру, используя некоторые примеры доменов вместо реальных, вы можете по крайней мере проверить функциональность этого процесса, временно изменив файл hosts на локальном компьютере.

Это позволит перехватывать любые запросы для доменов, настроить и направить их на свой VPS сервер, так же, как это делает система DNS, если бы вы использовали зарегистрированные доменов. Это будет работать только с вашего компьютера, хотя, и это полезно только для целей тестирования.

Убедитесь, что вы выполнили следующие действия на локальном компьютере, а не сервере VPS. Вам также необходимо знать пароль администратора локального компьютера или быть членом группы администраторов.

Если вы на компьютере Mac или Linux, редактировать локальный файл с правами администратора, набрав:

 

Если вы на Windows, откройте командную строку с правами администратора и введите:

 

После того, как у вы откроете файл, добавьте строку, которая отображает публичный IP-адрес вашего сервера для каждого доменного имени, как показано в следующем примере:

/etc/hosts
 

Это позволит направлять любые запросы на example.ru и test.ru на вашем компьютере и отправить их на сервер в 111.111.111.111.

Сохраните и закройте файл. Теперь вы можете проверить вашу установку. Когда вы уверены, что все работает, удалите две строки из файла.

Шаг 6 – тестирование ваших результатов

Теперь, когда у вас настроены ваши виртуальные хосты, вы можете протестировать установку легко, перейдя в домены, настроенные в веб – браузере. Посетите первый сайт по адресу http://example.ru и вы увидите страницу, которая выглядит следующим образом :

Успех! Виртуальный хост example.ru работает!

Точно так же, если вы посетите ваш второй хост по адресу http://test.ru, вы увидите файл, который вы создали для своего второго сайта:

Успех! Виртуальный хост test.ru работает!

Если оба из этих сайта работают, вы успешно настроили два виртуальных хостов на одном сервере.

Примечание:
Если вы настроили файл хостов на вашем домашнем компьютере, как показано на шаге 5,  то теперь вы можете удалить эти строки, которые добавили, так как вы уже проверили работоспособность вашей конфигурации. Это позволит предотвратить ваши хосты файл от заполнения записей, которые на самом деле не нужны.

Вывод

Теперь у вас есть один сервер с двумя отдельными доменными именами. Вы можете расширить этот процесс, выполнив следующие действия, чтобы добавить дополнительные виртуальные хосты.

Там нет ограничения программного обеспечения по количеству доменных имен, которые Apache может обрабатывать, так что не стесняйтесь, сделайте столько, сколько ваш сервер способен обрабатывать.

Чтобы использовать Apache для обслуживания защищенного контента, следуйте учебнику, как установить сертификат SSL и SPDY на Ubuntu с помощью «Let’s Encrypt». Чтобы использовать Apache в передней части вашего веб – приложения, прочитайте гид как использовать Apache в качестве обратного прокси сервера с mod_proxy на Debian 8.

Как настроить Apache виртуальные хосты на Debian 8


Читайте также

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

    Войти с помощью: 

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

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close