Второй номер: web-сервер Microsoft IIS

Второй номер: web-сервер Microsoft IIS

Разработанный корпорацией Microsoft сервер Internet Information Services является, если можно так выразиться, серебряным призером в современной "Табели о рангах" средств развертывания и обеспечения работы web-проектов. Продвигаемый в качестве стандартного серверного средства для решений на базе операционных систем от Microsoft, данный продукт уверенно удерживает второе место в мире по общему количеству инсталляций, уступая по этому параметру, правда, достаточно серьезно, только web-серверу Apache. Если вы собираетесь изучать технологию Active Server Pages, языки программирования VBScript и JScript или же разрабатывать проект, который будет размещен на хостинге с Ms IIS, вам не обойтись без этого web-сервера.

Microsoft IIS входит в комплект операционных систем Win-dows семейства NT начиная с NT 4 Option Pack. В случае использования Windows версии Server Internet Information Services будет установлен при инсталляции системы. Если же вы используете версию Professional, то IIS надо будет установить отдельно.
Что касается различий между IIS, входящих в состав Win-dows Server и Windows Professional, то для нас имеет значение только одно, которое заключается в следующем: IIS из состава Windows 2000/XP Professional позволяет поддерживать только один сайт, во втором случае этого ограничения, как и некоторых других, нет. По правде говоря, следует признать, что для целей тестирования и отладки проектов собственного изготовления вполне достаточно возможностей IIS из комплекта Windows 2000/XP Professional — все равно вам вряд ли потребуется одновременная работа нескольких узлов. Да и другие ограничения — например, на количество рабочих соединений — также нельзя признать в этом случае критически важными.


Итак, запускаем Установка и удаление программ — Установка и удаление компонентов Windows, где отмечаем пункт IIS (рис.1). Стартуем установку IIS. Сразу же по завершении процесса копирования и настройки можно проверить работоспособность сервера. При обращении к адресу http// localhost/ должна появиться страница приветствия и страница документации. Обратите внимание на расширение открытых файлов — .asp. Дело в том, что IIS сразу же после установки способен работать с этой технологией. По умолчанию также доступна поддержка и двух языков программирования: VBScript и JScript.
Microsoft Internet Informa-tion Services можно считать установленным. Теперь перейдем к работам по настройке сервера, для чего нам понадобятся некоторые общие сведения о порядке его администрирования.

Наиболее общие принципы работы серверов Apache и Ms IIS во многом совпадают, так что некоторая информация, сообщенная ранее в статьях, посвященных серверу Apache, будет небесполезна и при работе с Ms IIS.
Здесь также присутствует иерархия уровней объектов и соответствующих им настроек. У Ms IIS их четыре: уровень сервера в целом, уровень сайта, уровень папки и уровень отдельного файла. Кроме этого, при использовании файловой системы NTFS добавляются и особенности ее использования, связанные с реализованным разграничением доступа к папкам и файлам. По умолчанию они таковы: полные права — операционная система и администратор; изменение и запись — учетная запись, под которой был создан файл; все остальные (учетная запись Everyone) — исполнение и чтение.
Свойства объектов более высокого уровня наследуются объектами, находящимися на более низких уровнях иерархии. Существует понятие переопределения свойств, позволяющее гибко подстроить свойства отдельных объектов в соответствии с требованиями решаемых задач. При этом настройки, явно присвоенные какому-либо объекту, перекрывают некоторые установки более высокого уровня, относящиеся к данному объекту.
Необходимо сказать несколько слов об архитектуре сервера IIS. Он реализован в качестве сервиса; основными его файлами являются inetinfo.exe и w3svc.dll. Для хранения основных настроек используется специальная метабаза. Некоторая часть настроек хранится в системном реестре. Работа с метабазой происходит с использованием сервиса IISAdmin. Именно к нему обращается консоль управления сервером при изменении настроек Ms IIS. Данная консоль, полное название которой звучит как Microsoft Management Console (MMC), — это основное наше средство, которое мы будем использовать для администрирования сервера, поэтому данный инструмент и станет главным объектом нашего дальнейшего внимания. Сама MMC не выполняет непосредственное администрирование системы, но она объединяет выполняющие эту работу средства, которые называются оснасткой.


Открыть MMC для целей администрирования IIS можно несколькими способами. Это может быть Панель управления — Администрирование — Internet Information Services. Аналогичного результата можно добиться и с помощью консоли Computer Manage-ment, которую можно открыть правым щелчком по значку Мой компьютер — Управление. Там есть секция Службы и приложения, где и находится пункт Internet Information Services. Наконец, можно выполнить команду Выполнить — mmc. В последнем случае есть возможность открыть любую доступную в системе консоль, а необходимые нам в данный момент средства администрирования Ms IIS находятся по адресу C:\WINDOWS\system32\ inetsrv\iis.msc.
Как можно заметить, в левой части окна открытой консоли располагается дерево компонентов системы — в частности, основных служб сервера, обеспечивающих работу Web, FTP и SMTP, в правой части представлено содержание выбранного пункта. На верхней линейке находятся кнопки запуска, приостановки и остановки web-сервера. В списке, расположенном справа, находится и наиболее интересующий нас пункт с именем Default Web Site. Давайте откроем его свойства (правый щелчок — Свойства) и попробуем его настроить в соответствии с нашими требованиями.
В открывшемся окне находится несколько закладок, отвечающих за определенные наборы настроек свойств web-сервера. Первой откроем закладку Веб-узел, где можно заполнить поле Описание веб-узла, а также указать адрес, относящийся к данному серверу. Нам в этом случае вполне логично будет указать локальный адрес — 127.0.0.1 (рис.2).

Теперь надо определиться с местонахождением файлов будущих проектов. Для этого обратимся к вкладке Домашний каталог (рис.3). Здесь определяется тип источника данных (локальный каталог, доступная папка на другой машине или постоянный URL), локальный путь к нему, который по умолчанию определен как c:\inetpub\wwwroot, а также права доступа к содержащимся в данном источнике объектам. Подраздел Параметры приложения предназначен для настройки соответствий между различными типами файлов и обрабатывающими их модулями-интерпретаторами. Подробней о данной возможности будет рассказано ниже. Кроме этого, здесь задаются разрешения на исполнение программ и сценариев.
Теперь откроем вкладку Документы, на которой можно задать имена стартовых файлов, автоматически выдаваемых при обращении к каталогу сайта (рис.4). Изначально там присутствуют Default.htm и Default.asp. Список можно легко дополнить, а также определить порядок приоритетов. Как видите, эти операции аналогичны действию директивы Apache DirectoryIndex, с которой мы уже встречались раньше.
На этом, в принципе, можно и остановиться — тестовый сервер будет работать, хотя никто вам, конечно, не запрещает заняться дальнейшей настройкой, которая может понадобиться в некоторых случаях. В частности, с помощью закладки Фильтры ISAPI можно улучшить защищенность сервера, назначив предварительных обработчиков HTTP-запроса. Фильтры представляют собой динамически загружаемые библиотеки, которые после вызова IIS находятся в состоянии ожидания определенных заданных заранее событий, при наступлении которых с помощью специальной функции сообщают серверу указания по дальнейшим действиям: продолжить обработку, вызвать следующий фильтр или прекратить обработку запроса. Как хорошо видно, перечисленные варианты позволяют составлять цепочки следующих друг за другом фильтров. Кстати, именно таким образом в Ms IIS реализовывалась поддержка Secure Sockets Layer (SSL) протокола. Можно поработать и с другими закладками. Так, Специальные ошибки отвечают за выдаваемые в случае ошибок сообщения, Заголовки HTTP позволяют определить специальные заголовки и настроить MIME-типы.

Несколько особняком стоит закладка Server Extensions, которая управляет работой расширений FrontPage Extensions, если вы их устанавливали при инсталляции Ms IIS, а также производительностью и некоторыми вопросами безопасности. Опция Enable Authoring включает авторизацию для желающих получить доступ к изменению контента web-узла. Поскольку у FrontPage есть функция, позволяющая изменять содержание файлов проекта, находящихся на сервере, то Enable Authoring по умолчанию включено. Опция Performance предлагает несколько фиксированных значений количества страниц, входящих в состав сайта, и управляет размером кэша исходя из выбранного значения. Client Scripting определяет язык автоматической генерации кода FrontPage Server Extensions. Особый интерес представляет подраздел Options, содержащий сведения о почтовых возможностях, необходимых во многих случаях работы с web-проектами.

На этом, пожалуй, приостановим нашу деятельность, хотя список возможных настроек можно продолжать еще довольно долго. Поэтому постарайтесь заранее определиться насчет объемов необходимых наладочных работ, приведя их в соответствие с теми задачами, которые вы собираетесь решать с помощью своего Ms IIS.
Теперь самое время рассказать о размещении файлов будущих проектов. Как мы уже знаем, корневым каталогом системы по умолчанию является c:\inetpub\wwwroot, поэтому их можно поместить напрямую в эту папку, после чего они станут доступны для обращений через локальный адрес. Есть и другой способ, называемый механизмом виртуальных каталогов. В этом случае структура сайта организовывается построением системы логических связей между папками проекта, при этом сами папки физически могут находиться в разных местах.
Создается виртуальная папка при помощи контекстного меню Создать — Виртуальный каталог. Запустится мастер создания виртуальных каталогов, который попросит задать каталогу псевдоним, а также путь к нему и параметры доступа к содержащимся там ресурсам. Впоследствии их можно будет изменить с помощью контекстного меню Свойства созданного виртуального каталога. Они отвечают за такие параметры, как разрешение на запуск исполняемых файлов и сценариев, права на чтение, запись и просмотр содержимого каталога.

Как уже упоминалось выше, сразу после установки Ms IIS поддерживает два языка программирования: VBScript и JScript. Это, конечно, не предел. Поддержка дополнительных возможностей осуществляется путем добавления к системе новых программных модулей, расширяющих функциональность сервера. В этой роли могут выступать как исполняемые .exe-файлы, так и .dll-библиотеки. Руководствуясь заданными настройками, web-сервер направляет поступивший запрос на обработку соответствующему интерпретатору и, получив от него результат обработки, отсылает ответ клиенту.
В качестве примера установки такого модуля рассмотрим процесс подключения к Ms IIS уже известного нам по предыдущим публикациям интерпретатора языка PHP. Данный вариант позволит уловить суть технологии добавления компонентов, которую можно будет потом перенести и на другие необходимые вам модули. PHP избран по той причине, что он, если вы работали с Apache для Windows, скорее всего, у вас уже имеется.
Как уже упоминалось, выполнять функции интерпретатора могут .exe- и .dll-файлы. В данном случае это входящие в комплект поставки php.exe и php4isapi.dll. Рекомендуется следующий порядок действий: открываем Microsoft Mana-gement Console и выбираем закладку Фильтры ISAPI. Добавляем новый фильтр с каким-нибудь толковым названием, хотя бы просто "PHP", и указываем путь к файлу php4isapi.dll, который находится в подкаталоге isapi каталога, в который был установлен PHP. Теперь на закладке Домашний каталог открываем настройку приложений, где на очередной вкладке Сопоставления добавляем новое приложение, указав путь к исполняемому файлу — в нашем случае все к тому же php4isapi.dll — и сопоставленное ему расширение.

Если вы не хотите по каким-либо причинам использовать ISAPI, то можно воспользоваться альтернативным решением — файлом php.exe, повторив перечисленные шаги, указывая пути уже к нему. В этом случае вы получите в свое распоряжение CGI-решение. В любом случае процесс завершается перезапуском web-сервера Ms IIS. Теперь для того, чтобы убедиться в работоспособности нового модуля, стоит написать и открыть браузером какой-нибудь простейший тестовый скрипт, скажем, выводящий информацию о вашем PHP с помощью phpinfo().
Теперь можно с чистой совестью принимать поздравления — вы стали обладателем собственного тестового web-сервера от Microsoft, познакомились с некоторыми его настройками и научились подключать к нему дополнительные модули.

Алексей Кутовенко, alteridem@tut.by


Компьютерная газета. Статья была опубликована в номере 35 за 2003 год в рубрике soft :: интернет

©1997-2024 Компьютерная газета