Параметры виртуальных узлов

Для настройки виртуальных узлов вы можете использовать программу Инструмент настройки Apache. Виртуальные узлы позволяют вам реализовывать разные сервера для разных IP адресов, имен узлов или портов на одном и том же компьютере. Например, используя виртуальные узлы, вы можете запустить сайты http://www.your_domain.com и http://www.your_second_domain.com на одном и том же сервере Apache. Этот параметр соответствует указанию <VirtualHost> для виртуального узла по умолчанию и узлов, определяемых по IP адресу. Он также соответствует указанию <NameVirtualHost> для виртуальных узлов, определяемых по доменному имени.

Указания Apache, определенные для конкретного виртуального узла, относятся только к нему одному. Если указание с помощью кнопки Edit Default Settings (Редактировать параметры по умолчанию) определено для всего сервера, и не определено в настройках виртуального узла, в результате будет использован параметр по умолчанию. Например, вы можете определить Webmaster email address (Электронный адрес веб-мастера) на вкладке Main (Основные), а не задавать его отдельно для каждого виртуального узла.

Инструмент настройки Apache содержит виртуальный узел по умолчанию, как показано на Рисунке 14-8. Обратитесь к разделу Виртуальный узел по умолчанию за подробной информацией о виртуальном узле по умолчанию.

Рисунок 14-8. Виртуальные узлы

Документация сервера Apache, расположенная на вашем компьютере или в Интернет по адресу: http://www.apache.org/docs/vhosts/, содержит дополнительную информацию о виртуальных узлах.

Добавление и редактирование виртуальных узлов

Чтобы добавить виртуальный узел, перейдите на вкладку Virtual Hosts (Виртуальные узлы) и нажмите кнопку Add. На экране появится окно, показанное на Рисунке 14-9. Вы также можете изменить настройки виртуального узла, выбрав его в списке и нажав кнопку Edit (Правка).

Рисунок 14-9. Настройка виртуальных узлов

Общие параметры

Настройки General Options (Общие параметры) применяются только к виртуальному узлу, который вы редактируете. Определите имя виртуального узла в текстовом поле Virtual Host Name (Имя виртуального узла). Это имя используется Инструментом настройки Apache для различения виртуальных узлов.

В поле Document Root Directory (Корневой каталог документов) введите имя каталога, содержащего корневой документ (например, index.html) виртуального узла. Этот параметр соответствует указанию DocumentRoot, размещённому внутри указания VirtualHost. До версии Red Hat Linux 7.0, Apache, включенный в Red Hat Linux, использовал каталог /home/httpd/html в качестве DocumentRoot. В версии Red Hat Linux 7.2, однако, каталогом DocumentRoot по умолчанию является /var/www/html.

Параметр Webmaster email address (Электронный адрес веб-мастера) соответствует указанию ServerAdmin, помещённому внутри указания VirtualHost. Этот электронный адрес будет отображаться в нижнем колонтитуле страниц об ошибках, если решите отображать этот колонтитул вместе с электронным адресом.

В разделе Host Information (Информация об узле) определите Default Virtual Host (Виртуальный сервер по умолчанию), IP based Virtual Host (Виртуальный сервер, определяемый по IP) или Name based Virtual Host (Виртуальный сервер, определяемый по имени).

Виртуальный узел по умолчанию

Если вы выберете Default Virtual Host (Виртуальный узел по умолчанию), на экране появится окно, показанное на Рисунке 14-10. Вы должны настроить только один виртуальный узел по умолчанию. Параметры виртуального узла по умолчанию используются, если запрашиваемый IP адрес не относится к другому виртуальному узлу. Если виртуальный узел по умолчанию не определён, будут использованы основные параметры сервера.

Рисунок 14-10. Виртуальные узлы по умолчанию

Виртуальный узел, определяемый по IP

Если вы выберете IP based Virtual Host (Виртуальный узел, определяемый по IP), на экране появится окно, показанное на Рисунке 14-11, в котором определяется указание <VirtualHost>, в зависимости от IP адреса сервера. Укажите этот IP адрес в поле IP address (IP адрес). Задать несколько IP адресов можно, разделите их пробелами. Указать порт можно, используя следующую запись IP Address:Port. Используйте знак *, чтобы обозначить все порты заданного IP адреса. Введите имя сервера для виртуального узла в поле Server Host Name (Имя сервера узла).

Рисунок 14-11. Виртуальные узлы, определяемые по IP

Виртуальный узел, определяемый по имени

Если вы выберете Name based Virtual Host (Виртуальный узел, определяемый по имени), на экране появится окно, показанное на Рисунке 14-12, в котором определяется указание NameVirtualHost, в зависимости от имени узла. Укажите IP адрес в поле IP address (IP адрес). Задать несколько IP адресов можно, разделите их пробелами. Указать порт можно, используя следующую запись IP Address:Port. Используйте знак *, чтобы обозначить все порты заданного IP адреса. Введите имя сервера для виртуального узла в поле Server Host Name (Имя сервера узла). В разделе Aliases (Псевдонимы) нажмите Add, чтобы добавить псевдоним имени узла. Добавление псевдонима определяет указание ServerAlias, помещённое внутри указания NameVirtualHost.

Рисунок 14-12. Виртуальные узлы, определяемые по имени

SSL

ЗамечаниеЗамечание
 

Вы не сможете использовать виртуальные узлы, определяемые по имени, с SSL, так как SSL-рукопожатие (когда обозреватель принимает защищенный сертификат Web сервера) происходит до получения HTTP запроса, определяющего имя соответствующего виртуального узла. Если вы хотите использовать виртуальные узлы, определяемые по имени, они будут работать только с беззащитным Web сервером.

Если ваш сервер Apache не настроен поддерживать SSL, соединения между ним и его клиентами не будут шифроваться. Это подходит для Web-сайтов, не содержащих личной или конфиденциальной информации. Например, Web-сайт, распространяющий открытые исходные тексты программного обеспечения и документацию, очевидно, не нуждается в защите соединений. Напротив, коммерческие Web-сайты, получающие информацию о кредитных картах, должны использовать поддержку SSL в Apache, чтобы шифровать соединения. Включение поддержки SSL в Apache означает, что будет использоваться модуль безопасности mod_ssl. Чтобы включить его в Инструменте настройки Apache, вы должны разрешить доступ к порту 443 на вкладке Main (Общие) в поле Available Addresses (Допустимые адреса). Обратитесь к разделу Основные параметры для получения более подробной информации. Затем, на вкладке Virtual Hosts выделите имя виртуального узла, нажмите кнопку Edit (Правка), выберите в расположенном слева меню SSL, а затем установите флажок Enable SSL Support (Разрешить поддержку SSL) как показано на Рисунке 14-13. В разделе SSL Configuration (Конфигурация SSL) отображаются настройки с фиктивным цифровым сертификатом. Цифровой сертификат подтверждает подлинность вашего защищенного Web-сервера и идентифицирует сервер для Web-обозревателей клиентов. Вы должны приобрести свой собственный цифровой сертификат. Не используйте для своего сайта фиктивный сертификат, поставляемый вместе с Red Hat Linux. Информацию о приобретении CA цифрового сертификата вы можете найти в Главе 15.

Рисунок 14-13. Поддержка SSL

Дополнительные параметры виртуальных узлов

Параметры Site Configuration (Конфигурация сайта), Environment Variables (Переменные окружения) и Directories (Каталоги) для виртуальных узлов аналогичны параметрам, которые вы задавали, нажимая кнопку Edit Default Settings (Изменить настройки по умолчанию), за исключением того, что текущие параметры определяются только для отдельных виртуальных узлов. Обратитесь к разделу Параметры по умолчанию за информацией об этих параметрах.