Apache или Internet Information Services
Apache или Internet Information Services
Последующие разделы главы посвящены процессу установки двух наиболее популярных Web-серверов: Apache Web Server и Microsoft Internet Information Services. Согласно данным большинства Internet-обозрений, Apache -мировой лидер. Ни один другой Web-сервер не используется таким количеством сайтов. Это свободно распространяемая система, безопасная и надежная в своем исполнении. Обновления и исправления сервера разрабатываются и публикуются без задержек. Microsoft Internet Information Server (версия 5.0 называется Microsoft Internet Information Services) - еще одна известная система, используемая миллионами серверов. Как и Apache, эта система распространяется свободно, а точнее - сервер включен в стандартную поставку ОС Windows 2000 Server. Прежде уже упоминалось о том, что Apache работает на большом количестве различных платформ. В этом отношении IIS проигрывает, так как может быть установлен только на платформу Windows 2000 Server или Windows NT.
В табл. 3.4 представлено сравнение возможностей и функциональности этих двух серверов. Эти данные помогут вам принять взвешенное решение относительно выбора какой-либо системы. Мы не приводим своих рекомендаций - вы должны сами решить, какой сервер является наиболее подходящим.
Установка сервера
Необходимым условием создания сайта является правильная установка и конфигурирование Web-сервера. Здесь очень важно отметить, что эти работы должны быть спланированы заблаговременно, до установки. Для того чтобы не допустить досадной ошибки в конфигурации сервера при его установке, прежде всего необходимо ознакомиться с документацией. Кроме того, нужно позаботиться о выделении времени, которое потребуется для установки, конфигурирования и испытания сервера.
Будет лучше, если вы установите только те службы, которые необходимы в работе Web-сайта. Например, если не предполагается использовать новостной сервер, позволяющий пользователям обмениваться сообщениями и файлами, то эта служба должна быть исключена при установке или во время конфигурации. Помните, что любая дополнительная служба несет с собой дополнительный риск и возможности компрометации всей системы или сети. Кроме того, присутствие дополнительной службы может отразиться на работе других необходимых сервисов. Правило простое: если вы не используете функцию, то ее нужно отключить.
После установки сервера позаботьтесь о том, чтобы были удалены все файлы примеров, которые могут быть инсталлированы вместе с серверным приложением. Эти файлы могут предоставить хакеру нежелательную информацию о версии сервера или о типах используемых технологий генерации страниц и обработки форм. Кроме того, как показывает практика, злоумышленник может использовать файлы для проникновения в систему. Все эти риски исчезают вместе с удаленными файлами примеров.
Давайте подробнее изучим специфику установки и конфигурации серверов Apache и IIS. Эти два сервера используют разные подходы в управлении.
Установка и конфигурация сервера Apache
Рекомендуемые материалы
Установка Apache происходит в несколько этапов: «приобретение» сервера, сборка и непосредственная установка. Скачать файлы Apache можно с официального сайта компании www.apache.org. На этом сайте находятся как исходные файлы сервера, так и бинарные программы, собранные для разных платформ. Если вы скачаете компилированную версию, то, естественно, это позволит избежать сборки. Тем не менее можно самостоятельно собрать сервер, что позволит контролировать изменения, вносимые в настройки операционной системы, и установить ограниченный набор модулей.
Выбрать необходимые модули можно, изменив скрипт Configuration, который поставляется вместе с исходными текстами. Этот тестовый файл расположен в директории SRC и содержит список модулей (раздел AddModule), включаемых в сборку и установку. Дополнительные модули закомментированы тегом ## и расположены в конце этого списка. Некоторые модули в списке обязательны и необходимы для работы сервера, так что перед тем, как закомментировать одну из строк, изучите ресурсы сайта Apache.
Этот скрипт позволяет настроить Apache в соответствии с используемой ОС. На самом деле для этой цели необязательно изменять скрипт. Это полезно только в том случае, если вы добавляете модули, требующие подключения дополнительных библиотек. Отработка скрипта приводит к созданию файла MAKEFILE. Наберите МАКЕ, и исходные тексты программы будут собраны - в директории SRC появится исполняемый файл HTTPD.
Файл HTTPD поставляется в бинарном (готовом к установке) комплекте. Загрузка собранной версии с сайта Apache позволяет обойти сборку.
Процесс установки сервера различается и зависит от платформы, на которой размещается Apache. Здесь мы будем обсуждать установку на платформе Windows.
Установка Web-сервера Apache на платформе Windows 2000
После загрузки бинарных файлов с сервера Apache необходимо запустить установочную программу. Она распакует архив и инициализирует мастер установки (Setup Wizard):
1. Первое окно мастера предупреждает о том, что необходимо выйти из других запущенных приложений. Для прекращения установки в этом или любом другом окне достаточно нажать кнопку Cancel, для продолжения работы мастера - кнопку Next.
2. В следующем окне показано лицензионное соглашение. Для продолжения нажмите Yes. Если вы не согласны с условиями соглашения, нажмите No.
3. Теперь необходимо выбрать директорию, в которую будет установлен сервер. Назначив директорию, нажмите Next.
4. Следующее окно позволяет выбрать тип инсталляции: Typical, Compact или Custom. Режим Typical устанавливает сервер с обычным на бором компонентов, режим Compact - с минимальным набором компонентов, необходимых для работы сервера. И наконец, в режиме Custom вы можете сами выбрать, какие компоненты устанавливать.
5. Если вы укажете Custom и нажмете кнопку Next, появится окно выбора устанавливаемых компонентов (см. рис. 3.1):
- Web Server Application Files. Набор файлов, необходимый для работы сервера.
- Web Server Source Code. Исходные тексты сервера Apache и необходимые для сборки инструменты. Если в процессе разработки вам не понадобятся исходные тексты, вы можете исключить этот компонент.
- Web Server Manual. Документация, полезная для администратора сервера.
- Web Server Additional Modules. Дополнительные модули, расширяющее стандартную функциональность сервера.
- Web Server Icons. Графические файлы, используемые при просмотре дерева каталога.
6. Следующее окно - выбор названия каталога, в котором будут размещены ссылки на исполняемые файлы сервера и сопутствующие.
Рис. 3.1. Мастер установки сервера Apache Выбор устанавливаемых компонентов
программы. Нажмите Next для установки выбранных компонентов и конфигурации системы.
7. По завершении конфигурации вы увидите окно, показывающее, что установка окончена. Нажмите Finish. После установки в стартовом меню Windows появится закладка Apache, где расположены различные ссылки на исполняемые файлы, конфигурационные файлы и документацию.
8. Теперь сервер необходимо настроить. Конфигурационные файлы расположены в директории CONF. Один из файлов называется httpd.conf и содержит директивы сервера. Это основной файл, содержащий главные рычаги управления сервером. Все настройки сгруппированы по трем разделам:
- Global Environment. Здесь собраны переменные окружения сервера и задаются основные параметры.
- 'Main' Server Configuration. Здесь устанавливаются параметры сервера по умолчанию.
- Virtual Hosts. В этом разделе определены настройки виртуальных серверов.
Все эти настройки перечислены в табл. 3.5.
Например, найдите параметр ServerAdmin и замените его значение на адрес электронной почты администратора. Этот адрес будет отображаться на стандартных страницах, описывающих ошибки при обращении к серверу. Или найдите параметр ServerName и замените его значение на DNS-имя вашего сервера. Найдите параметр HostNameLookups и вместо
Таблица 3.5. Список директив, конфигурирующих Web-сервер Apache
Параметр Раздел HTTP.CONF Описание
ServerType Global Environment Определяет режим работы (выделенный или
metd) Режим Inetd возможен только на платформах UNIX
ServerRoot '<путь>~ Global Environment Корень файлового дерева В этой
директории расположены основные конфигурационные файлы, файлы ошибок и log-файлы
PidFile Global Environment Используется для определения файла,
в котором сервер при старте будет записывать идентификационный номер своего процесса
ScoreBoardFile Global Environment Определяет имя файла, в котором будет
сохранена информация о внутренней работе сервера
ResourceConfig Global Environment Определяет обработку конфигурационного
файла По умолчанию эта директива закомментирована и имеет значение conf/srm conf
AccessConfig Global Environment Определяет обработку конфигурационного
файла контроля доступа По умолчанию эта директива закомментирована и имеет значение conf /access conf
Timeout Global Environment Время (в секундах), определяющее time out
запроса По умолчанию 300
KeepAlive Global Environment Возможность приема нескольких запросов
в рамках одной установленной сессии По умолчанию Оп
MaxKeepAliveRequests Global Environment Максимальное количество запросов в
рамках соединения По умолчанию 100 Для снятия ограничения необходимо установить значение 0
Бесплатная лекция: "2.1. Предложение HAVING" также доступна.
KeepAhveTimeout Global Environment Количество секунд ожидания следующего
запроса клиента По умолчанию 15
MaxRequestsPerChild Global Environment Количество запросов, обрабатываемых
дочерним процессом По умолчанию 0 (не ограничено)
ThreadsPerChild Global Environment Максимальное количество одновременных
запросов к серверу По умолчанию 50