Jaa


Использование Administration Pack for IIS7 для провижининга

Итак, в предыдущем посте, посвященном провижинингу сайтов под управлением IIS7, я упомянул о таком интересном расширении к консоли управления IIS7, как Administration Pack for IIS7. Здесь я хочу продолжить эту тематику, и рассказать о том, какие новые возможности по управлению предоставляет AdminPack администраторам IIS7 и при чем зедсь провижининг и моя лень (о которой упоминалось в прошлый раз).

Итак, возможности AdminPack весьма и весьма интересны. Если вкратце, то AdminPack – это набор расширений оснастки Internet Information Services (IIS) Manager, среди которых:

Консоль управления HTTP Request Filtering. По умолчанию настройки Request Filtering в IIS7 (модуль, который заменил базовую функциональность URLScan, хотя в настоящий момент для IIS7 существует версия URLScan 3.0) не доступны из оснастки IIS Manager, возможность их модификации существует только путем правки конфигурационных файлов XML. Консоль из комплекта AdminPack позволяет модифицировать Request Filtering через диалоговые окна в оснастке IIS Manager.

Консоль управления FastCGI. Если вы используете возможности IIS7 по исполнению CGI приложений, например, PHP, в режиме FastCGI, то консоль управления FastCGI Setting из комплекта AdminPack будет отличным подспорьем для визуального редактирования «тонкими» настройками модуля FastCGI в IIS7, такими, как количество запросов к экземплярам процессов, количество самих процессов в FastCGI, длина очереди, различные таймауты и протоколы взаимодействия процессов внутри FastCGI.

iis_IISRep Консоль отчетов по статистике сайтов IIS Reports, которая позволяет администратору или делегированным пользователям просматривать разнообразные типы предопределенных отчетов по каждому из сайтов. В принципе, IIS Reports – это всего лишь встроенный в IIS Manager интерфейс пользователя поверх набора вызовов библиотеки LogParser, что дает возможность администратору просматривать статистику как локально, так и удаленно. А также позволяет расширять список и возможности отчетов своим кодом, который будет доступен через консоль. В принципе – очень удобно, особенно, если вы для делегирования удаленного управления IIS7 планируете использовать штатные средства Remote Management Service в IIS7. Но в своем примере, как я уже писал, я отказался от применения средств управления сайтом пользователями через консоль и, как результат, использовал свои “домашние” наработки для «чистого» LogParser для создания и предоставления отчетов пользователям по их сайтам.

Ну и самым интересной, и особо полезной для ленивых, из всего набора консолей AdminPack for IIS7 является консоль Configuration Editor. Фактически, это достаточно мощный редактор многочисленных XML-файлов конфигурации IIS7, извлекающий из XML конфигурацию и представляющий ее в виде вложенных друг в друга коллекций таблиц со значениями. Так, например, выбрав точку входа в конфигурацию (Section) в виде system.applicationHost/sites – мы получаем доступ к коллекции сайтов на сервере со всеми их конфигурациями и конфигурациями их приложений, виртуальных каталогов и т.п. Здесь администратор может изменять параметры уже существующих сайтов или добавлять новые сайты, описывая согласно правилам конфигурационных файлов IIS7 необходимые секции. В принципе, даже для не знакомых с правилами описания конфигурации администраторов это не составит проблемы, поскольку можно все сделать «по образу и подобию» сайта по умолчанию Default Web Site, а число необходимых к вводу параметров будет исчисляться максимум десятком несложных строк типа файлового пути корневого сайта, имени пула приложения, привязки к протоколу, доменному имени и порту... Все это отлично видно на скриншотах :)

iis_ConfEd iis_ConfEd_deep

И при чем здесь лень? Работы, как многие заметили, даже несколько больше, чем если заполнять все это из самой оснастки IIS Manager при создании нового сайта. Но, во-первых, нельзя сказать, что намного больше, да и требуется не сколько работа, сколько – внимательность, во-вторых – для тонкой настройки параметров вновь созданного сайта из оснастки IIS Manager все равно придется открывать все его расширенные свойства и прочая, что будет соответствова ть объему работы, проделанной через Configuration Editor сразу. Но самое главное, свои действия в IIS Manager мы не «заскриптуем», а вот Configuration Editor сразу генерирует скрипты, в точности повторяющие все наши настройки через наиболее удобный для нас вариант скрипта – код C# для использования в своем ПО или при написании каких-то дополнительных консолей к IIS Manager, код JavaScript для скриптов повышенной сложности, и, конечно же – для ленивых – командные строки AppCmd для простых и эффективных скриптов. Таким вот образом, через Configuaration Editor, буквально за 5 минут и без предварительного тестирования и разбора многочисленных опций командной строки AppCmd и были сгенерированы все команды для скрипта провижининга IIS7 в предыдущем посте.

iis_scCsharp iis_scJS iis_scCMD

Кто еще сомнивается в своих силах насчет скриптового управления IIS7 или хочет «покопаться глубже» - рекомендую начать c Administration Pack for IIS7.

Да, еще я согласен с коллегами, что PowerShell тоже рулит для управления IIS7, но пока, увы, Configuration Editor не генерирует скрипты под PowerShell, поэтому я и обошел PS своим вниманием в этом посте...

Comments

  • Anonymous
    January 01, 2003
    Как я и обещал в посте несколько дней назад , начинаю писать серию постов типа инструкций шаг за шагом