Администрирование информационных систем Администрирование веб-узлов. Службы IIS.
Службы IIS В IIS имеются основные службы, обеспечивающие публикацию данных, передачу файлов, поддержку пользовательских подключений и обновление хранилищ данных, от которых зависит работа этих служб.
Служба веб-публикации Служба веб-публикации Служба веб-публикации предоставляет конечным пользователям IIS средства веб-публикации, направляя HTTP-запросы клиентов на веб-узлы, размещенные на сервере IIS. Служба веб-публикации управляет основными компонентами IIS, которые обрабатывают HTTP-запросы, а также устанавливают параметры и управляют работой веб-приложений. Служба веб-публикации запускается в виде файла Iisw3adm.dll в программе Svchost.exe
Служба FTP Служба FTP обеспечивает полную функциональность IIS по управлению и обработке файлов. Cлужбы FTP поддерживает изоляцию пользователей на уровне узла, что помогает администраторам обеспечить безопасность веб-узлов и их использование на коммерческой основе. Служба FTP запускается как файл Ftpsvc.dll в программе Inetinfo.exe
Служба SMTP IIS позволяет отправлять и получать сообщения электронной почты с помощью службы SMTP. Службу SMTP также можно использовать для получения сообщений с отзывами от клиентов веб-узла. Служба SMTP не обеспечивает полной функциональности служб электронной почты. Служба SMTP запускается как файл Smtpsvc.dll в программе Inetinfo.exe
Служба NNTP Для обслуживания локальных дискуcсионных групп на одном компьютере можно использовать службы NNTP. Поскольку данное средство полностью совместимо с протоколом NNTP, для участия в обсуждениях группы новостей пользователи могут воспользоваться любым клиентом для просмотра новостей. Сценарий Rfeed, находящийся в папке inetsrv, обеспечивает поддержку службой NNTP IIS загрузки новостей. Поддержка службой NNTP репликации отсутствует. Для загрузки новостей или репликации групп новостей для нескольких компьютеров следует использовать сервер Exchange. Служба NNTP запускается как файл Nntpsvc.dll в программе Inetinfo.exe
Служба IIS Admin Служба IIS Admin управляет метабазой IIS и производит обновление системного реестра Microsoft Windows для службы веб-публикации, а также служб FTP, SMTP и NNTP. Метабаза является хранилищем данных конфигурации IIS. Служба IIS Admin предоставляет доступ к данным метабазы другим приложениям, включая основные компоненты IIS, встроенные в IIS приложения и приложения сторонних производителей, не входящие в комплект IIS, такие как средства управления и наблюдения. Служба IIS Admin запускается как файл Iisadmin.dll в программе Inetinfo.exe
Режимы изоляции IIS В IIS 6.0 имеются два различных режима работы, которые называются режимами изоляции приложений (режимами изоляции): режим изоляции рабочих процессов и режим изоляции IIS 5.0. В обоих режимах в качестве средства прослушивания протокола HTTP используется файл HTTP.sys, внутренние процессы работы в этих двух режимах принципиально отличаются. Режим изоляции рабочих процессов позволяет воспользоваться всеми преимуществами усовершенствованной архитектуры IIS 6.0 и использует основной компонент рабочих процессов. Режим изоляции IIS 5.0 предназначен для запуска приложений, рассчитанных для работы со специальными средствами и возможностями IIS 5.0.
Режим изоляции IIS Выбор режима изоляции приложений IIS влияет на производительность, надежность, безопасность и доступность различных средств. Режим изоляции рабочих процессов является наиболее предпочтительным для IIS 6.0, так как он предоставляет более надежную платформу для работы приложений. Режим изоляции рабочих процессов также обеспечивает повышенный уровень безопасности благодаря тому, что по умолчанию приложениям, работающим в рабочих процессах, назначаются учетные записи NetworkService. Приложениям, работающим в режиме изоляции IIS 5.0, назначаются учетные записи LocalSystem, что предоставляет доступ и возможность вмешательства практически во все ресурсы компьютера.
Режим изоляции рабочих процессов Использование режима изоляции рабочих процессов открывает такие возможности, как объединение приложений в группы, а также использование средств перезапуска и определения работоспособности. На рисунке видно, что код приложения загружается только в рабочий процесс. Примерами кодов приложений являются приложения ASP и ASP.NET. Модули выполнения для этих программных платформ реализованы как расширения интерфейса ISAPI.
Режим изоляции рабочих процессов Пошаговая процедура обработки запроса в режиме изоляции рабочих процессов выглядит следующим образом. Запрос поступает в программу HTTP.sys. Программа HTTP.sys определяет допустимость запроса. Если запрос является недопустимым, то клиенту возвращается код для недопустимого запроса. Если запрос является допустимым, то программой HTTP.sys проверяется наличие соответствующего ответа в кэше режима ядра. При наличии ответа в кэше он отправляется программой HTTP.sys немедленно. При отсутствии ответа в кэше программа HTTP.sys определяет нужную очередь запросов, и данный запрос помещается в эту очередь. Если этой очереди не назначен ни один рабочий процесс, то программа HTTP.sys отправляет службе веб-публикации запрос на запуск рабочего процесса. Запрос извлекается рабочим процессом из очереди запросов и обрабатывается. Ответ возвращается рабочим процессом программе HTTP.sys. Программа HTTP.sys отправляет ответ клиенту и заносит запрос в журнал, если заданы соответствующие настройки
Что такое метабаза IIS Метабаза является иерархически организованным хранилищем данных о конфигурации IIS и схем, используемых при настройке. Конфигурация метабазы и схемы для IIS 4.0 и IIS 5.0 хранились в файле двоичного формата, что затрудняло его чтение и редактирование. В IIS 6.0 вместо одного двоичного файла (MetaBase.bin) используются текстовые XML-файлы MetaBase.xml и MBSchema.xml. Файлы конфигурации хранятся на компьютере в папке systemroot\System32\Inetsrv. Только Администраторы могут просматривать и изменять эти файлы. Сведения о конфигурации IIS хранятся в файле MetaBase.xml, а схема метабазы хранится в файле MBSchema.xml. При запуске IIS эти файлы считываются уровнем хранилища и затем записываются в метабазу в памяти с помощью объектов ABO (Admin Base Objects).
Преимущества текстовых XML-файлов Обычные текстовые XML-файлы метабазы обладают следующими преимуществами. Файлы метабазы могут быть отредактированы с помощью обычного текстового редактора. Файл конфигурации, MetaBase.xml, может быть прочитан и отредактирован с помощью обычного текстового редактора. Редактирование файла конфигурации напрямую позволяет администраторам избегать использования сценариев или программных кодов для управления IIS. Улучшенное восстановление метабазы после повреждения и более эффективное устранение неполадок. Диагностика возможных повреждений метабазы выполняется легче, так как метабаза хранится в виде обычного текстового файла, который может быть проанализирован с помощью такой программы из Windows Resource Kit, как Windiff. Улучшенные возможности архивации и восстановления для компьютеров, подверженных серьезным сбоям. Используя возможности архивации и восстановления, администраторы могут архивировать метабазу и шифровать ее любым паролем. При сбое в системе, метабаза может быть восстановлена на другом компьютере или в другой установке операционной системы семейства Microsoft Windows Server 2003.
Сравнение метабазы IIS 6.0 с предыдущей версией Схема метабазы может быть изменена администратором. Схема метабазы определяет, какие свойства могут быть записаны в конкретный раздел метабазы. Схема определяет также типы данных, которые могут быть использованы для конкретного атрибута свойства. Могут быть использованы интерфейсы ADSI, чтобы настроить эти параметры схемы или разрешить запись свойств в метабазу. Метабаза является абсолютно совместимой с интерфейсами API и ADSI метабазы IIS 5.0. Улучшенные производительность и масштабируемость метабазы. Размер метабазы не превышает размер метабазы в IIS 5.0. Более быстрое чтение при запуске веб-сервера по сравнению с двоичной метабазой в IIS 5.0. Скорость записи равна скорости записи двоичной метабазы в IIS 5.0. Богатые функциональные возможности. Наследование свойств. Определение типов данных для значений свойств. Отправка уведомления об изменении при изменении свойства в метабазе. Обеспечение безопасности Облегченные архивация и восстановление конфигурации IIS. Облегченный импорт и экспорт отдельных узлов на другие компьютеры.
Сведения о настройке метабазы Предусмотрено несколько способов для изменения значений, хранящихся в метабазе. Значения в метабазе можно записывать и считывать с помощью следующих ресурсов: Диспетчер IIS. Приложение, предоставляющее интерфейс пользователя; позволяет изменять метабазу, находящуюся в памяти (наиболее безопасный способ обновления метабазы). Интерфейсы ADSI (Active Directory Service Interfaces). Набор интерфейсов программирования, которые можно использовать в командной строке или в сценарии. Интерфейсы WMI (Windows Management Instrumentation). Набор интерфейсов программирования, которые можно использовать в командной строке или в сценарии. COM-библиотека или исполняемая программа. Библиотека динамической компоновки COM-объектов (.dll) или исполняемая программа (.exe), такая как MetaEdit, которую можно использовать для настройки метабазы в памяти. MetaEdit — инструментальное средство Майкрософт для редактирования метабазы. Изменения параметров конфигурации, выполненные с помощью указанных средств, заносятся в метабазу, находящуюся в памяти, посредством объектов ABO (Admin Base Objects). Метабаза в памяти представляет собой копию файлов MetaBase.xml и MBSchema.xml в файловом кэше IIS.
Сведения об объектах IIS ADSI Каждому объекту IIS ADSI соответствует раздел в схеме метабазы. Например, объект IIsWebServer (ADSI) соответствует разделу семейства IIsWebServer, задаваемому в файле схемы метабазы MBSchema.xml следующим образом: <Collection InternalName="IIsWebServer" MetaFlagsEx="NOTABLESCHEMAHEAPENTRY | CONTAINERCLASS" MetaFlags="HASUNKNOWNSIZES" ContainerClassList="IIsObject,IIsCertMapper,IIsFilters,IIsWebVirtualDir" InheritsPropertiesFrom="MetabaseBaseClass">
Методы IIS ADSI Некоторые объекты IIS ADSI содержат три набора методов: один служит для создания и удаления новых методов, другой — для изменения свойств объектов ADSI, третий — соответствует назначению того объекта ADSI, в котором эти методы находятся. Метод Create — один из пяти методов объекта-контейнера Windows ADSI, содержащихся во всех объектах ADSI. С их помощью можно создавать и удалять новые экземпляры объектов ADSI, получать ссылки на дочерние объекты, а также переходить от одного объекта к другому. Следующий код VBScript создает новый экземпляр объекта IIsWebVirtualDir, содержащегося в другом объекте IIsWebVirtualDir; в результате на узле «Веб-узел по умолчанию» появляется новый виртуальный каталог NewVDir: Set IIsWebVDirRootObj = GetObject("IIS://имя_компьютера/W3SVC/1/Root") Set IIsWebVDirObj = IIsWebVDirRootObj.Create("IIsWebVirtualDir", "NewVDir")
Методы IIS ADSI Методы Get, Put и SetInfo — три из восьми методов объекта Windows ADSI, содержащихся во всех объектах ADSI. С их помощью можно получать и задавать значения свойств, а также сохранять сведения в метабазе. Следующий код VBScript является продолжением предыдущего и задает необходимые свойства вновь созданного виртуального каталога: IIsWebVDirObj.Put "Path", "C:\NewContent” IIsWebVDirObj.Put "AccessRead", True IIsWebVDirObj.Put "AccessScript", True
Создание резервных копий Методы объекта IsComputer, относятся исключительно к объекту, в котором они содержатся. Такие методы, как IIsComputer.Backup и IIsComputer.Restore, используются для защиты метабазы от потенциально небезопасных изменений. Следующий код VBScript копирует файл конфигурации метабазы в файл BeforeChanges.MD0, а файл схемы метабазы — в файл BeforeChanges.SC0. Эти файлы хранятся в папке корневой_каталог_системы\system32\inetsrv\MetaBack.
Код создания резервных копий Dim IIsComputerObj, iFlags ' Создание экземпляра объекта IIsComputer Set IIsComputerObj = GetObject("IIS://LocalHost") ' Задание флагов для сохранения метабазы перед архивацией и проведения архивации даже в случае сбоя при сохранении. iFlags = (MD_BACKUP_SAVE_FIRST) ComputerObj.Backup "MyBackups", MD_BACKUP_NEXT_VERSION, iFlags
Команды Adsutil.vbs Adsutil.vbs — служебная программа администрирования IIS, использующая язык VBScript и интерфейсы ADSI для управления конфигурацией IIS. Сценарий следует запускать с помощью программы CScript, компонента сервера сценариев Windows (Windows Script Host). Использование команды Cscript.exe adsutil.vbs КОМАНДА <путь> [<параметр>...]
Команды adsutil.vbs
Использование сценариев администрирования, запускаемых из командной строки Синтаксис iisweb /create путь имя_узла [/b порт] [/i IP-адрес] [/d заголовок_узла] [/dontstart] [/s компьютер [/u [домен\]пользователь/p пароль]] Пример: iisweb /create C:\WWWFolder "My Web-site" /d www.mysite.ru /dontstart
Удаление веб-узлов Синтаксис iisweb /delete веб_узел [веб_узел...] [/s компьютер [/u [домен\]пользователь/p пароль]] Пример iisweb /delete W3SVC/1000 /s SRV01 /u Alice /p p@##word
Перепись веб-узлов Для проверки статуса узла используется сценарий для командной строки iisweb.vbs, хранящийся в папке корневой_каталог_системы\system32. Синтаксис Iisweb /query [веб_узел [веб_узел...]] [/s компьютер [/u [домен\]пользователь/p пароль]]
Создание виртуальных каталогов Сценарий для командной строки iisvdir.vbs, хранящийся в папке корневой_каталог_системы\system32, используется для создания виртуальных веб-каталогов на локальных и удаленных компьютерах. Синтаксис iisvdir /create веб_узел[/виртуальный_путь] имя физический_путь [/s компьютер [/u [домен\]пользователь/p пароль]] Пример iisvdir /create Finance Insurance c:\projects\insurance\html
Удаление виртуальных веб-каталогов Синтаксис iisvdir /delete веб_узел[/виртуальный_путь] имя [/s компьютер [/u [домен\]пользователь/p пароль]] Пример iisvdir /delete Finance/Insurance
Перепись виртуальных веб-каталогов Синтаксис iisvdir /query веб_узел[виртуальный_путь][/s компьютер [/u [домен\]пользователь/p пароль]] Пример iisvdir /query Finance
Архивирование конфигураций IIS Для создания резервных копий конфигурации IIS (метабазы и схемы) и управления ими на локальном или удаленном компьютере используется сценарий iisback.vbs. При каждой операции архивирования (/backup) создается два файла: файл .MDx для хранения метабазы и файл .SCx для хранения схемы, где x является номером версии резервной копии. Служба IIS и сценарий iisback.vbs сохраняют файлы резервных копий в папке корневой_каталог_системы\System32\inetsrv\MetaBack. Метабаза и схема конфигурации IIS включают свойства системы и свойства сеанса. Для полного или частичного копирования конфигурации метабазы с одного сервера на другой используйте сценарий iiscnfg.vbs.
Команды создания и восстановления резервных копий Синтаксис создания iisback /backup [/b имя_резервной_копии] [/v {Integer | HIGHEST_VERSION | NEXT_VERSION}] [/overwrite] [/e пароль_шифрования] [/s компьютер [/u [домен\]пользователь/p пароль]] Синтаксис восстановления iisback /restore/b имя_резервной_копии [/v {целое | HIGHEST_VERSION}] [/e пароль_шифрования] [/s компьютер [/u [домен\]пользователь/p пароль]]
Экспорт/импорт конфигураций Сценарий конфигурации IIS iiscnfg.vbs импортирует и экспортирует все или выбранные элементы метабазы служб IIS на локальном или удаленном компьютере, или копирует всю конфигурацию IIS (метабазу и схему) на другой компьютер, чтобы реплицировать конфигурацию. iiscnfg /export – копирует метабазу IIS или ее часть в файл XML, в зашифрованном или незашифрованном формате. iiscnfg /import – добавляет параметры конфигурации из файла XML данных экспорта метабазы в метабазу сервера IIS iiscnfg /copy – копирует метабазу и схему IIS с одного компьютера на другой iiscnfg /save – сохраняет метабазу и схему IIS на диск.