Iis об административных сценариях


Содержание

IIS 7.0: краткая инструкция для системного администратора. Часть 1 – установка.

Как я и обещал в посте несколько дней назад, начинаю писать серию постов типа инструкций шаг за шагом «как это установить и настроить» для тех админов, у которых действительно мало времени «на найти и разобраться», да еще если все это на английском языке. Кстати, кому таки не лениво – вот здесь очень хорошая подборка англоязычных документов под общим названием «Windows Server 2008 Step-by-Step Guides» — очень полезно в работе. Надеюсь, найдутся время и ресурсы, чтобы их тоже «отфильтровать» и сделать на их базе русские версии.

Если вам не интересны мои мысли «почему я пишу про IIS 7.0», можете смело пропустить пару абзацев.

В ближайший месяц я буду писать о веб-платформе от Microsoft, и в основном это будет касаться администрирования Internet Information Services 7.0 (IIS 7.0), входящего в состав Windows Server 2008. Это не значит, что я не буду писать ни о чем другом – конечно буду, у меня масса планов и тем с барселонского TechEd IT Forum 2008, в основном по направлению Windows Server 2008 R2, просто про администрирование IIS7 буду писать в этот месяц намного чаще и более последовательно, чем я это делал ранее. Поэтому даже те, для кого тема IIS7 не интересна, смогут как минимум раз в неделю находить у меня на блоге что-то интересное по другим тематикам.

Почему именно IIS 7.0? Здесь несколько причин. Во-первых, в уже упомянутом сборнике документов «шаг за шагом» «Windows Server 2008 Step-by-Step Guides» по странному стечению обстоятельств документа по IIS 7.0 почему-то нет. Во-вторых, как показывает опыт семинаров TechNet в Украине – знания, и даже можно сказать – представления многих админов о технологиях Microsoft для веб базируются на «сказках-страшилках» конца прошлого века, и хотелось бы показать всем желающим простой путь попробовать все технологии самостоятельно, без каких-то предрассудков и прочих ОБС. В-третьих – мне самому, человеку, который достаточно долгий период своей жизни занимался вебом вообще и IIS в частности – а я помню и IIS 2.0, и 3.0, и 4.0 и, конечно же, 5.0 – эта тема близка и интересна, и могу сказать, что за 10 лет в этом направлении Microsoft сделал существенные, даже можно сказать – эпохальные шаги вперед. Потому хотелось бы поделиться и опытом, и знаниями в этой прогрессирующей области с коллегами. В-четвертых – небольшой сюрприз в рамках проводимой в Украине акции для тех, кто разворачивает и управляет веб-серверами под управлением продуктов Microsoft – украинский офис Microsoft проводит акцию, по которой вы можете получить лицензионный Windows Server 2008 Web Edition (коробочная версия) бесплатно для хостинга ваших проектов и сайтов в Интернете. Так что торопитесь получить такой легальный продукт – пишите через блог на почту. И, наконец, в-пятых – в Киеве проводится полигон по веб-технологиям Microsoft, в том числе и IIS 7.0, так что мои статьи послужат хорошим фоном для такого мероприятия.

Ну, вроде это вcе наиболее веские причины писать в ближайший месяц о IIS 7.0. Кроме одной – зачем вообще админу знание IIS 7.0, который, в принципе, больше является платформой для разработчиков, на которой они делают свои веб-проекты? Проблема в том, что, как показывает опыт, разработчики не очень «напрягаются» созданием архитектуры и проработкой деталей веб-проекта, таких, как безопасность, администрирование, масштабирование и т.п. будущего работаеющего решения. И все это становится головной болью админа. Другая головная боль – это работодатели, которые часто под словом «компьютерщик» понимают, что человек может и спаять сгоревшую плату, и сетку настроить, и программку бухгалтерскую написать. И конечно же – веб сайт родной фирмы «Рога и Ко» сделать – как же без него. А то, что в ИТ отрасли есть глубокая специализация – никого не волнует. И вот потом и пишет мне в Live Messenger такой админ – «Игорь, а что делать?! За что хвататься?!», или если такого «Игоря», который бы подсказал, нет рядом – начинается такое.

Вроде, мотивы мои всем понятны. получилось довольно длинно, обещаю, сами технические части будут куда короче. Итак.

Часть 1. Установка IIS 7.0

Первый вопрос, который мне задают – что такое веб сервер под Windows, что нужно установить? Ответ – вебсервер под Windows – это служба IIS 7.0. Следующий вопрос – где взять IIS 7.0, откуда скачать? Ответ очень простой – IIS 7.0 (как и предыдущие версии, начиная с IIS 5.0) интегрирован в саму серверную ОС Microsoft Windows Server 2008 (а предыдущие версии IIS – соответственно в Windows Server 2003 и Windows 2000) и устанавливается как роль Windows Server. Тогда более тривиальный вопрос – где взять «настоящий» Windows Server 2008? Пробную версию Windows Server 2008 для всех экспериментов и тестирования рекомендую брать только с сайта Microsoft http://www.microsoft.com/windowsserver2008 — проверенная и гарантированно правильная версия (только не забудьте установить все обновления). Серийный номер для Windows Server 2008 не требуется – вы просто при установке в мастере установки оставляете его пустым и на вопрос, хотите ли вы все же его заполнить – гордо отвечаете НЕТ. Фактически, если вы при установке или в ходе эксплуатации таки введете настоящий продуктовый номер – вы получите «настоящую» версию. Версия без введенного серийного номера работает 60 дней, после чего требует активации. Мало кто любит читать иструкции при загрузке файлов, особенно те, которые написаны мелким шрифтом – на самом деле, на странице загрузке есть ссылка на инструкцию, какой скрипт надо запустить, чтобы сбросить счетчик активации Windows снова на 60 дней. Такую операцию надо не забыть сделать до истечения 60дневного срока (например, на 59й день эксплуатации). Всего вы можете посторить операцию сброса счетчика 3 раза – т.е. пробную версию можно эксплуатировать 240 дней, что вполне достаточно с тем, чтобы распробовать плюсы и минусы системы. Ну а для желающих уже сейчас эксплуатировать лицензионный Windows Server 2008 для своих веб-проектов – напоминаю про акцию, пишите.

Теперь о выборе редакции, которых доступно аж 4 – Datacenter, Enterprise, Standard, Web Edition. Пожалуйста, подходите более ответственно к их выбору. Зачем, ну зачем использовать Enterprise для запуска веб-сайтов – «шоб було?». Для таких задач есть оптимизированная редакция Web Edition. Сравнение возможностей разных редакций можно найти там же, на официальном сайте http://www.microsoft.com/windowsserver2008. Кроме того, некоторые соображения по использованию лицензионных соглашений и виртуализации в разных редакциях я написал на этом блоге ранее.

После установки экземпляра Windows Server 2008 и его конфигурации (если это также вызывает затруднения – смотрим видео с семинара по Windows Server 2008) переходим непосредственно к установке IIS 7.0. Что нового в IIS 7.0, какие модули включены в него и т.д. – я рассматривать не буду, все теоретические выкладки можно найти в электронной версии журнала TechNet Magazine, которая выходит в том числе и на русском. IIS 7.0 были посвящены 2 статьи в мартовском и июльском номерах журнала. Рекомендую ознакомиться с ними перед практическим применение – знание теории, пусть даже в сжатой форме весьма полезно.

Основным нововведением в направлении установки различных компонент и служб в Windows Server 2008 является понятие «роли». Роль представляет из себя набор всех необходимых компонент, настроек системы, безопасности и т.п., которые необходимы для выполнения определенной задачи. Кроме того, имеется также информация о взаимодействии ролей между собой – одна роль может работать как подмножество другой и, наоборот – роли могут конфликтовать между собой – об этом администратор будет уведомлен при установке такой роли поверх уже существующих. Установку и конфигурацию всего необходимого система выполняет автоматически при выборе конкретной роли. Такой подход гарантирует, что даже в случае ошибки администратора, связанной с установкой той или иной роли, не требуемой в текущий момент – система будет функционировать нормально и это не затронет работоспособность других ролей. Как впрочем, это также существенно упрощает и сам подход к управлению системой Windows Server 2008 в целом.

Управление ролями осуществляется через стандартную оснастку управления Windows Server 2008 – Server Manager или в процессе начальной конфигурации сервера через Initial Configuration Tasks.

IIS 7.0 устанавливается как роль Windows Server 2008. Для этого требуется:

1. Запустить оснастку Server Manager из меню Start или из панели Quick Launch. Server Manager по умолчанию стартует автоматически при входе администратора в систему. Server Manager является основным инструментом управления сервером Windows Server 2008.

2. В оснастке на стартовой странице убедиться, что сервер сконфигурирован правильно. Желательно проверить наличие статического IP адреса. Если он не установлен, его можно поменять тут же, из консоли Server Manager, открыв в правой панели по линку «View Network Connections» сетевые интерфейсы.

3. Выбираем в левой панели Server Manager пункт Roles, в правой панели видим список текущих ролей. В зависимости от редакции ОС и установленных ролей список может варьироваться. В данном примере ни одна роль не установлена.

4. Для установки новой роли используем в правой панели в разделе «Roles Summary» линк «Add Roles».

5. Запускается мастер установки ролей «Add Roles Wizard», пропускаем первую страницу «Before You Begin» мастера, нажав кнопку «Next >»

6. На странице «Select Server Roles» в списке ролей выбираем роль «Web Server (IIS)». Список ролей может отличаться в зависимости от редакции. Данный список соответствует редакции Windows Server 2008 Enterprise Edition x64.

7. При выборе роли «Web Server (IIS)» мастер автоматически предлагает установить сервисы, которые требуются для функционирования веб сервера. Это службы активации процессов, фактически, они обеспечивают среду исполнения процессов, обслуживающих вебсайты. Соглашаемся с установкой данных служб путем нажатия кнопки «Add Required Features» и нажимаем кнопку «Next >» в мастере.

8. На странице «Select Role Services» отображается список всех доступных модулей (сервисов), входящих в состав IIS 7.0, представляющих 3 большие группы – Web, Management и FTP – и внутри сгруппированых по назначению – общие модули для поддержки HTTP Common HTTP Features, модули для исполнения сценариев и приложений Application Development, модули управления журналированием и диагностикой Health and Diagnostics, модули обеспечения безопасности Security, производительности Performance, модули управления и совместимости с предыдущей версией IIS 6.0 Management Tools, и, наконец, модули FTP. По умолчанию роль веб сервера IIS 7.0 устанавливается и конфигурируется в минимальном наборе из 9 модулей:

a. только для работы со статическим HTML контентом (модули из Common HTTP Features),

b. только с подключением анонимных пользователей и с фильтрацией вредоносных запросов (Security),

c. с базовыми модулями для журналирования запросов к вебсайтам на сервере и просмотра очереди запросов (Health and Diagnostics),

d. с модулем сжатия статического контента при передаче страниц клиенту HTTP (Performance),

e. и консоли администрирования в режиме локального подключения к веб серверу IIS Management Console.

9. На этом шаге можно добавить дополнительные модули в конфигурацию согласно задачам будущих вебсайтов, которые будут работать на данном вебсервере. Не рекомендуется «просто так» добавлять модули, особенно, если вы не знаете их назначение. Краткое описание каждого модуля можно найти прямо на странице (в правом верхнем углу), которое отображается, когда вы выбираете модуль в списке. Не стоит торопиться (или, наоборот, переставлять всю систему, если установили лишнее) – вы всегда можете доустановить модули к уже установленной роли, или удалить уже установленные модули. Функции, выполняемые наиболее важными модулями, а также их настройку, мы рассмотрим отдельно.


10. При отметке отдельного модуля для добавления, также, как и при выборе роли, мастер автоматически проводит проверку всех связей и зависимостей и предлагает установить дополнительные модули, без которых функционирование выбраного невозможно. В данном примере для установки выбран модуль ASP.NET и мастер автоматически запрашивает разрешение на установку других модулей и служб, необходимых для его работы. Соглашаемся с установкой данных служб и модулей путем нажатия кнопки «Add Required Role Services». По окончанию выбора всех модулей нажимаем кнопку «Next >» в мастере.

11. На странице «Confirm Installation Selection» отображается для подтверждения информация о всех выбранных модулях, которые будут установлены. Также отображаются служебные и информационные сообщения рекомендательного характера. Например, рекомендация после установки роли IIS 7.0 выполнить обновления ОС или установить Windows System Resource Manager (WSRM), который позволяет обеспечить распределение ресурсов системы при выполнении веб-приложений. Нажатие кнопки «Next >» на этой странице устанавливает весь указанный перечень модулей.

12. По окончании процесса установки мастер отображает станицу с результатами установки, на которой, в зависимости от предыдущих настроек системы и выбранных модулей, может потребоваться перезагрузка сервера.

13. После закрытия окна мастера установки роли в левой панели консоли Server Manager в разделе «Roles» среди других ролей появляется подраздел «Web Server (IIS)». В правой панели отображается информация о состоянии всех установленных ролей.

14. Выбираем подраздел «Web Server (IIS)» в левой панели Server Manager, в правой панели отображается информация о работе роли веб сервера. Здесь представлены:

a. Events: агрегированный список записей из всех журналов событий ОС за последние 24 часа, имеющих отношение к работе веб служб,

b. System Services: список всех системных сервисов, обеспечивающих функционирование данной роли и с возможностями по управлению ими и мониторингу их состояний,

c. Role Services: в данном случае – список всех модулей IIS 7.0 с указанием установлен данный модуль или нет и с возможностями старта мастера установки/удаления модулей данной роли (о котором мы говорили выше),

d. Resources and Support: наиболее интересный раздел информации о каждой роли, который содержит в себе базу знаний с рекомендациями по дополнительной более тонкой настройке той или иной роли для отдельных сценариев использования. Рекомендуется к широкому использованию.

Илон Маск рекомендует:  Opengl полезные и бесполезные мелочи

Таким образом, если в п.14 вы видите, что ваша роль работает без ошибок в журналах, все требуемые сервисы работаю (не отображается информация о их аварийной остановке), все необходимые для ваших задач модули отображаются в списке как установленные – первый шаг к использованию веб сервера под управлением IIS 7.0 вы сделали – вы его установили.

PowerShell: Load WebAdministration в ps1 сценарий на обоих IIS 7 и IIS 7.5

У меня есть сценарий PowerShell, который настраивает веб-сайт и настройки веб-приложений в IIS. Поэтому я использую командлеты в WebAdministration защелкивания. Но этот сценарий должен работать на Windows 2008, Windows 7 и Windows 2008 R2. И мне нужно, чтобы работать с минимальными усилиями со стороны пользователя.

Проблема заключается в том, что Windows 7 и Windows 2008 R2 использование IIS 7.5, который поставляется с установленной WebAdministration как модуль. В Windows 2008 мы установили поставщик PowerShell IIS 7, который устанавливает WebAdministration как защелкивания.

Так в том числе импорт-модуль WebAdministration в сценарий взрывает на IIS 7 , но прекрасно работает на IIS 7.5 и включая надстройку PSSnapin WebAdministration взрывает на IIS 7.5 , но работает отлично на IIS 7.

Таким образом, наш обходной путь, чтобы сделать администратор WebAdministration нагрузки вручную с помощью соответствующей команды для окружающей среды перед запуском сценария. Но это не является оптимальным, поскольку это легко забыть, какая команда работает в какой среде. Мы могли бы создать два различных сценариев, но это создает проблему обслуживания для развития.

Кто-нибудь решить эту проблему? Кто-нибудь знает, как проверить окружающую среду, а затем вызвать соответствующий командлет из сценария PS?

— ОТВЕТ (для моей ситуации) —-

Решение представляет собой комбинацию кода и предварительно сконфигурированной консоли. IIS 7 Posh Provider включает в себя ярлык на рабочий стол, который запускает шикарную консоль с WebAdministration загруженным. Это в сочетании со следующей функцией сделать мой сценарий работать как шарм на всех трех системах.

Базовые сведения об IIS

Структура каталогов IIS

Основные компоненты IIS расположены в каталоге %systemroot%\System32\inetsrv . Структура каталогов inetsrv показана в следующей таблице.

Каталог Описание
ASP Compiled Templates Содержит используемый шаблон ASP.
History Содержит историю изменений метабазы, позволяющую выполнять откат изменений в метабазе.
iisadmpwd Содержит ASP-страницы, относящиеся к аутентификации IIS Admin.
MetaBack Каталог по умолчанию для резервных файлов метабазы.

Примечание. Более подробная информация о метабазе приведена в разделе «Метабаза» далее в лекции.

Веб-сайт администрирования

В IIS 6 веб-сайт администрирования позволяет управлять всем сервером Windows из локального или удаленного веб-браузера. Веб-сайт администрирования располагается в каталоге %systemroot%\System32\ServerAppliance . Он функционирует через SSL, используя порт 8098 по умолчанию. Для доступа к веб-сайту администрирования введите в строке адреса браузера https://имя_компьютера:8098 (где имя_компьютера представляет собой имя компьютера, который необходимо администрировать).

Файлы справки IIS

Все файлы справки IIS 6 перемещены в централизованное место расположения вместе с остальными файлами справки Windows. Это папка %systemroot%\help\iishelp . Самым простым способом вызова справки IIS является выбор команды Help/Help Topics (Справка/Вызов справки) в консоли MMC.


Каталог Inetpub

Каталог Inetpub является основным каталогом файлов IIS. В нем расположены каталоги с содержимым каждой установленной службы. Путь по умолчанию для каталога Inetpub – C:\Inetpub .

Каталог Inetpub содержит следующие подкаталоги.

Каталог Описание
AdminScripts Содержит сценарии Visual Basic, используемые для администрирования сервера IIS.
ftproot Каталог верхнего уровня службы FTP.
mailroot Каталог верхнего уровня службы SMTP.
nntpfile Каталог верхнего уровня службы NNTP.
wwwroot Каталог верхнего уровня веб-сайта по умолчанию.

Учетные записи, используемые в IIS

Поскольку функционирование всех компонентов WS03 рассматривается с точки зрения безопасности, и для доступа необходима учетная запись , IIS устанавливает две учетные записи и одну группу в базу данных учетных записей для использования их в работе. Эти элементы позволяют IIS выполнять программы и рабочие процессы, а пользователям – осуществлять доступ к сайту. Ниже приведена более подробная информация .

IUSR_COMPUTERNAME

Учетная запись обеспечивает анонимный доступ к веб-сайту при подключении пользователя к веб-странице без представления входных данных. Такой пользователь по умолчанию является членом группы Guest (Гость).

IWAM_COMPUTERNAME

Учетная запись используется для запуска рабочих процессов и является членом группы IIS_WPG.

IIS_WPG

Члены этой группы могут запускать рабочие процессы. Любая учетная запись, выполняющая рабочие процессы, должна быть членом данной группы. Это учетная запись с низким уровнем безопасности, обладающая правами сетевой службы. Процессы, использующие уровень прав Network Service (Сетевая служба), осуществляют доступ к серверу так, как если бы они находились вне сервера, и поэтому не имеют прямого доступа к операционной системе.

Эти процессы можно просмотреть в консоли MMC Computer Management (Управление компьютером) панели Administrative Tools (Администрирование). Для открытия списка Users and Groups (Пользователи и группы) выполните следующие действия.

  1. В меню Start (Пуск) выберите Administrative Tools\ Computer Management (Администрирование\Управление компьютером).
  2. Список пользователей и групп содержится в окне Local Users and Groups (Локальные пользователи и группы) консоли Computer Management (Управление компьютером).
  3. Если компьютер является контроллером домена, список пользователей и групп располагается в окне Active Directory Users And Computers (Компьютеры и пользователи Active Directory) панели Administrative Tools (Администрирование).

Для управления IIS служит оснастка MMC . MMC представляет собой универсальное средство, позволяющее сохранять единую структуру и внешний вид приложений. Для управления IIS 6 используется оснастка IIS . Консоль IIS MMC расположена в окне Start\Administrative Tools (Пуск\Администрирование).

Консоль Microsoft Management Console

С помощью оснастки IIS Manager (или MMC) (см. рис. 1.2) осуществляется управление FTP-сайтами, наборами приложений, веб-сайтами, виртуальными серверами SMTP и NNTP на данном компьютере или на той машине, с которой установлено соединение. По умолчанию соединение установлено с локальным компьютером. Для подключения другого компьютера щелкните правой кнопкой мыши на имени локального компьютера и выберите команду Connect (Подключить).

Управление сайтом с помощью MMC

В верхней части окна IIS Manager (Диспетчер IIS) находится панель инструментов, с помощью которой на сайте выполняются основные функции. Над панелью инструментов располагается строка меню, содержащая команды управления. Нужно помнить, что MMC представляет собой отдельную программу, и что не все опции в ней связаны с IIS. Некоторые опции предназначены для настройки компонентов MMC. Вид панели инструментов и меню изменяется в зависимости от выбора объекта в левой области окна IIS Manager.

Самым простым способом управления компонентом является использование всплывающего меню, появляющегося при щелчке на компоненте правой кнопкой мыши. В этом меню приведены команды администрирования, применимые к этому компоненту. Большая часть параметров настройки содержится в команде Properties (Свойства).

Свойства локального компьютера. Свойства локального компьютера позволяют изменять параметры, глобально влияющие на все компоненты IIS. Для открытия окна свойства локального компьютера щелкните правой кнопкой мыши на имени_компьютера (локального компьютера) в окне IIS MMC, затем выберите Properties (Свойства). Отобразится окно Properties (см. рис. 1.3).

Изменение любых параметров в этом окне требует последующего перезапуска IIS. На IIS в целом здесь влияют два параметра: Enable Direct Metabase Edit (Включить прямое изменение метабазы) и Encode Web Logs In UTF-8 (Использовать для веб-журналов кодировку UTF-8).

Параметр Enable Direct Metabase Edit (Включить прямое изменение метабазы) позволяет редактировать метабазу при работе IIS. В предыдущих версиях IIS метабаза представляла собой исполняемый файл, доступ к которому был возможен только при помощи специальной утилиты из пакета инструментальных средств. Теперь этот файл можно редактировать в программе Notepad (Блокнот), так как он представлен в формате XML (Расширяемый язык разметки). Можно помещать конфигурацию в буфер и вставлять ее из буфера, сохранять конфигурацию, причем изменения будут вступать в силу незамедлительно. Данный способ работы требует включения журнала метабазы, но так как это является установкой по умолчанию, то никаких вопросов возникать не должно.


Опция Encode Web Logs In UTF-8 (Использовать для веб-журналов кодировку UTF-8) указывает, что в журналах веб и/или FTP должна использоваться кодировка UTF-8, а не локальный набор символов. UTF-8 представляет собой стандарную кодировку текста с восьмибитным кодированием символов Unicode. Для представления каждого символа требуется от одного до шести октетов. UTF-8 использует универсальный набор символов и поддерживает ASCII-текст для совместимости с прежними версиями.

В IIS 7.5 улучшены опции администрирования и развертывания

Немногие из продуктов в портфеле Microsoft получили столь позитивное развитие, как веб-сервер Internet Information Services (IIS). Девять лет назад IIS с точки зрения безопасности представлял собой сплошной кошмар, то и дело открывая дорогу опасным “червям” и вирусам. Но начиная с версии 6 корпорация внесла существенные усовершенствования в защиту своего веб-сервера, которые помогли исправить его плохую репутацию. В седьмой версии Microsoft позаимствовала много идей из свободного веб-сервера Apache, сделав IIS более модульным в опциях развертывания и даже положившись на старые добрые файлы конфигурации в установке и администрировании.

Теперь, с выпуском Windows Server 2008 R2, мы видим обновление веб-платформы Microsoft в форме IIS 7.5. Как и сам R2, IIS 7.5 не имеет кардинальных отличий от предыдущих версий — на самом деле многие из новых функций уже предлагались как дополнения к IIS 7. Но в целом это полезное обновление, в котором улучшены опции администрирования и развертывания.

Кроме того, в Microsoft, похоже, признали, что IIS уж слишком уподобился серверу Apache с его лаконичными инструментами конфигурирования, в которых практически не используется графический интерфейс.

Реализованный в IIS новый подход проявился сразу, как только я вызвал административную консоль IIS в Windows Server 2008 R2 и начал конфигурировать фильтрацию запросов к серверу. Она позволяет создать более защищенную конфигурацию, которая оказывается стойкой к обычным методам атак, таким как межсайтовый скриптинг.

Фильтрация запросов была встроена в IIS и в прежних версиях сервера, но для ее настройки требовалось редактировать файлы конфигурации. Это не особенно трудно, но версия 7.5 упрощает процесс, позволяя настроить фильтрацию через стандартный графический интерфейс. Я нашел этот процесс относительно простым, и мне понравилось, что внесенные изменения вступают в силу немедленно, не требуя перезапуска служб.

Еще одним новшеством в IIS 7.5 является графический редактор конфигурации, что-то вроде regedit, но для IIS. Используя этот инструмент, я мог редактировать и видеть параметры конфигурации IIS, не открывая файл web.config.

Еще одна полезная перемена в IIS 7.5 заключается в том, что FTP поднят на уровень полноценной части сервера. В прежних версиях настройка и администрирование FTP-сервера в IIS в значительной степени были отделены от администрирования веб-сервера. В версии 7.5 администрирование FTP полностью интегрировано в административную консоль IIS.

На мой взгляд, это очень хорошая реализация FTP, которая позволяет быстро настроить защищенные FTP-серверы и привязать их к моим веб-сайтам. Особенно приятна возможность легко использовать имена виртуальных хостов в качестве FTP-сайтов. В общем, реализация FTP в IIS 7.5 — одна из лучших, какие я видел, даже в сравнении со специализированными FTP-серверами.

Хотя многие новшества в версии 7.5 направлены на улучшение администрирования через графический интерфейс, это было не единственной целью разработчиков. Системные администраторы, предпочитающие командную строку, могут воспользоваться опцией управления сервером IIS через интерфейс PowerShell. Используя модуль PowerShell для IIS 7.5, я с помощью команд мог полностью управлять сервером. Данный инструмент также упрощает использование административных сценариев, планирование заданий и дистанционное управление.

IIS 7.5 включает также ряд скрытых улучшений, в частности усиленную защиту пула приложений благодаря сужению привилегий. Наконец, сервер выигрывает еще и от того, что к нему предлагается большая библиотека расширений и дополнительных модулей, с помощью которых компании могут расширить функциональность сервера.

Сценарий для расшифровки сообщений ASP

Для административных задач на серверах с операционной системой Windows мне иногда приходится создавать небольшие странички на asp. Естественно, при тестировании и в работе возникают ошибки. К сожалению, выводятся они обычно «иероглифами» или «кракозябрами» — с использованием неправильной кодовой страницы. Чтобы перевести их на нормальный русский, я сделал небольшой сценарий на javascript, который разместил у себя на сайте: Конвертация сообщений об ошибках ASP. Может быть, он кому-нибудь пригодится.

Iis об административных сценариях

Эту статью не стоит рассматривать как полноценное руководство по безопасности при настройке Internet Information Services версии 7.x — для того уже существует несколько талмудов, которые описывают предмет нашего разговора во всей его красе. Но не у всякого администратора имеется возможность досконально изучить эти книги, а конфигурировать веб-сервер надо уже сейчас. Поэтому хочется опубликовать краткий обзор мер безопасности, которые необходимо иметь в виду, работая с IIS , некий чек- лист что ли, по которому можно быстро пробежаться, сравнить с требованиями своего проекта и корпоративными гайдами по информационной безопасности.

Обозначение 7.x означает, что здесь собран материал для обеих версий продукта: IIS 7 , поставляемый с Windows Server 2008 и Windows Vista , и IIS 7.5 , который Вы можете найти в «коробке» от Windows Server 2008 R2 и Windows 7 .

Все меры, представленные в данной подборке, ни в коем случае не являются ОБЯЗАТЕЛЬНЫМИ. Более того, они могут даже противоречить системным требованиям Ваших веб-приложений. Решение о принятии той или иной меры все таки необходимо выносить в условиях конкретной ситуации. Здесь меры будут носить лишь ОПИСАТЕЛЬНЫЙ характер, чтобы администратор знал — вот здесь еще можно подкрутить ;)

Все ответы

Основы безопасности IIS

Административные меры безопасности IIS

Максимальное усиление безопасности IIS

Кратко об Internet Information Services 7.x

Internet Information Services 7.x — компонент веб-сервиса компании Microsoft для операционной системы Windows Server 2008 (R2) .

На момент написания данного материала IIS 7.5 является последним в длинной линейке версий IIS . Начиная с версии 6.0, Microsoft в цикле разработки данного продукта решила сосредоточить особое внимание на безопасности и непрерывно следует этому подходу до сих пор. В результате IIS 7.x поставляется с большим количеством изменений по сравнению со своим предшественником и имеет огромное количество новых возможностей, которыми только надо умело пользоваться. IIS 7.x был полностью переработан и сейчас базируется на новой модульной архитектуре. Это означает, что вместо монолитного «черного ящика», который устанавливается по умолчанию и имеет лишь пару дополнительных возможностей, IIS 7.x теперь имеет около 40 отдельных компонентов — так называемых модулей. По умолчанию устанавливаются только самые основные модули; дополнительные же могут быть легко добавлены в случае необходимости. Это помогает значительно уменьшить площадь атаки на сервер, просто потому, что ненужные средства отсутствуют в системе. Модульная архитектура имеет множество преимуществ, и в части безопасности, и в администрировании, и в производительности веб-сервера. Кроме того, IIS 7.x не ограничивает Вас набором предразработанных модулей — пишите свои, если хотите заменить существующие, или есть требование расширить функциональность веб-сервера.

IIS: от Web-сервера к серверу Web-приложений

Поделитесь в соцсетях:


Втечение последнего года, в особенности летом, продукту Microsoft Internet Information
Services (IIS) перепала изрядная доля внимания компьютерной общественности. И,
скажем так, внимания в плохом смысле слова. Некоторые особенности архитектуры
и «дыры» в системе безопасности IIS позволили целому ряду Internet-вирусов
за считанные недели или даже дни заразить тысячи и тысячи Web-серверов, работающих
под его управлением.

Новая архитектура IIS 6.0

С одной стороны, такая ситуация вокруг IIS, пристальный интерес к нему вирусописателей
и прочих «деструктивных элементов» околокомпьютерного сообщества продемонстрировали
(и для многих — совершенно неожиданно) довольно высокую популярность Web-сервера
от Microsoft. С другой — сравнительно низкий уровень надежности и проблемы другого
характера, кажется, уже не могли обещать IIS дальнейших успехов в столь привлекательном
Internet-пространстве. Однако с учетом всевозрастающих темпов тотальной «web’изации»
всех и вся Web-сервер становится одним из ключевых элементов любой серверной платформы,
от которого в немалой степени зависит популярность и самой ОС.

Вне всякого сомнения, Microsoft, выпуская на рынок новую версию своей серверной операционной системы, отлично понимает текущую ситуацию и то, что Windows Server 2003 должен предложить какие-то веские аргументы и эффективные решения, дабы упрочить положение компании на Web-рынке. Кстати сказать, выделение в серверной линейке специализированной редакции Web Edition — лишнее тому подтверждение.

Поэтому IIS 6.0, входящий в состав Windows Server 2003, был, по заявлениям Microsoft, серьезно переработан, а некоторые его компоненты практически полностью переделаны. Сами разработчики выделяют три направления, в которых были произведены основные изменения, — это надежность и масштабируемость, безопасность и управляемость, а также удобство разработки Web-приложений и поддержка интернациональных особенностей. Как видите, данное перечисление покрывает практически все основные функции любого Web-сервера, поэтому давайте попробуем разобраться, что же действительно нового может предложить IIS 6.0.

Панель администрирования IIS
6.0 — ISAPI-расширения теперь называются Web Service Extensions

Начнем с того, что при инициализации всех
редакций Windows Server 2003, кроме Web Edition, по умолчанию IIS не инсталлируется
— это нужно выполнить отдельно. Довольно простое правило предосторожности, но,
по всей видимости, не лишнее — «непроизвольная» установка IIS без последующего
его администрирования и обновления почти гарантированно приводила к заражению
каким-нибудь вирусом (часто и не одним). Еще одна профилактическая мера — сразу
после установки IIS способен обслуживать только статические HTML-страницы. Поддержку
динамических Web-приложений (скажем, Active Server Pages) опять же нужно включать
вручную.

Очень важным усовершенствованием с точки зрения администрирования IIS стало изменение формата файла метаданных Web-сервера (где описываются конфигурация сервера, виртуальные каталоги и развернутые приложения). Во всех версиях до IIS 6.0 он был бинарным, теперь же хранится в формате XML. Примечательно, что внесенные изменения через некоторое время после закрытия файла автоматически вступают в силу. При этом если при редактировании конфигурации сервера допущена ошибка, например, синтаксическая, файл метаданных автоматически будет восстановлен до последней рабочей версии.

Способов администрирования IIS в новой версии осталось три: с помощью Microsoft Management Console, через Web-интерфейс и из командной строки — но в каждом из этих вариантов появились дополнительные удобства. Текстовый конфигурационный файл в сочетании с существенно расширившимся набором административных сценариев позволяют теперь полностью обслуживать IIS из командной строки.

Еще одним плюсом IIS 6.0 является возможность автоматического обновления — его можно настроить так, что он будет самостоятельно проверять наличие свежих «заплаток», загружать их и устанавливать. По утверждению Microsoft, такие операции практически всегда можно будет выполнить «на лету» без перезапуска Web-сервера.

Изменения механизма обработки запросов

Пожалуй, наиболее существенным отличием IIS 6.0 от предшественников является новый механизм обработки запросов. В предыдущей, пятой, версии IIS центральным процессом Web-сервера был inetinfo.exe. Он выполнял все основные функции: прослушивал порты, принимал HTTP-запросы, осуществлял их начальную обработку и направлял соответствующим Web-приложениям. В стандартной конфигурации все Web-приложения запускались в pooled-режиме — в отдельном от inetinfo.exe, но общем для всех процессе. Таким образом, сбой одного приложения нередко приводил к отказу и всех остальных. Можно было настроить приложение как isolated, чтобы оно выполнялось в собственном процессе, но при этом падала производительность из-за необходимости трансляции запросов.

Третьим вариантом был режим IIS Process — Web-приложение исполнялось в рамках того же inetinfo.exe. Несмотря на то что при этом обеспечивалась максимальная производительность, присутствовал и серьезный риск — сбой такого пользовательского приложения мог вывести из строя весь Web-сервер. Кроме того, поскольку сам inetinfo.exe запускался с системными полномочиями, аналогичные права получали и все пользовательские приложения, а следовательно, взлом любого из них потенциально давал злоумышленнику полный контроль над компьютером.

В IIS 6.0 механизм обработки запросов существенно изменен. Ключевым компонентом новой схемы является драйвер http.sys, который работает на уровне ядра ОС и реализует собственно HTTP-сервер, т. е. он прослушивает порты, принимает и анализирует HTTP-запросы, распределяет их между пользовательскими Web-приложениями. Кроме того, http.sys автоматически «отлавливает» некорректные HTTP-запросы, а также осуществляет кэширование. Поскольку весь этот процесс выполняется в режиме ядра операционной системы, на него никак не влияют установленные на Web-сервере приложения (ограниченные пользовательским режимом), т. е. по крайней мере теоретически его нельзя взломать через HTTP.

Все остальные архитектурные элементы IIS 6.0 и Web-приложения опираются на функциональность http.sys. Inetinfo.exe является менеджером рабочих процессов, в которых выполняются все пользовательские Web-приложения. Он умеет их запускать, следить за их «здоровьем», в случае проявления всякого рода проблем (например, утечки памяти) либо просто через заданное время или количество обработанных запросов — останавливать, перезапускать и т. п. Рабочих процессов (или пулов) может быть сколько угодно (они создаются через административный интерфейс), и приложения между ними распределяются произвольным образом — в одном пуле могут исполняться несколько Web-приложений, а при необходимости одно Web-приложение может задействовать несколько рабочих процессов (такая технология получила название «Web garden», по аналогии с «Web farm»).

Собственно, кроме дополнительной функциональности по управлению рабочими процессами, особой новизны в такой организации выполнения Web-приложений нет — как видите, это просто усовершенствование прежних режимов pooled и isolated. Однако в новом подходе сделаны два существенных изменения. Во-первых, оптимизирована передача HTTP-запросов — каждый процесс сам извлекает относящиеся к нему запросы из соответствующей очереди в http.sys. Во-вторых, каждый пул загружает собственную копию всех ISAPI-фильтров и ISAPI-расширений — в IIS 5 они существовали в единственном экземпляре и работали в рамках процесса inetinfo.exe. Таким образом, новый подход, конечно, увеличивает производительность и надежность, однако платой за это оказывается повышенный расход памяти при большом числе рабочих процессов.

Следует также отметить, что, хотя реализованный в IIS 6.0 новый механизм обработки запросов кажется органичным развитием технологий, используемых в предыдущих версиях, с ним будут корректно работать далеко не все уже существующие Web-приложения (скажем, написанные на том же ASP). Согласно документации, в некоторых случаях полная совместимость с IIS 6.0 потребует определенной доработки старого кода. А поскольку не всегда это осуществимо, в IIS 6.0 оставлен режим, обеспечивающий совместимость с IIS 5. Однако он может быть включен только для Web-сервера в целом, что, соответственно, исключает возможность использования нового, «родного» для IIS 6.0 механизма обработки запросов.

Администрирование POP3-сервера
— только необходимый минимум

До сих пор мы говорили об IIS 6.0 исключительно
как о Web-сервере, однако хотя данная функция и является для него основной, в
продукт Internet Information Services входит целый набор дополнительных компонентов,
в новых версиях которых также появились определенные усовершенствования.

Поскольку .NET Framework стал частью операционной системы, то, естественно, поддержка ASP.NET в IIS 6.0 встроена изначально. Правда, несмотря на свою ключевую роль как главного средства разработки Web-приложений и Web-служб, ASP.NET — это «просто» ISAPI-расширение IIS 6.0, которое можно при желании совершенно безболезненно отключить или деинсталлировать. Более тесно связывать между собой эти технологии разработчики не стали.

В ftp-сервере появилась долгожданная возможность ограничивать пользователей рамками их собственных домашних каталогов. Этой функции особенно не хватало при хостинге нескольких Web-сайтов на одном сервере. Улучшена также поддержка режима «пассивного» ftp-сервера. Полноценным компонентом IIS 6.0 стали сервисы BITS (Background Intelligent Transfer Service), которые позволяют клиентам загружать и передавать файлы в фоновом режиме, сохраняя соединение при отключении и даже перезагрузке как сервера, так и клиента, и продолжая при первой возможности этот процесс точно с того места, на котором он прервался. Данная технология применялась до сих пор в Windows Update, и при желании ею можно было воспользоваться еще в IIS 5, но в IIS 6.0 это стало базовой функциональностью, доступной всем разработчикам Web-приложений.

Вдобавок к SMTP-серверу, входящему в состав IIS с версии 4, в Windows Server 2003 наконец-то появился простой POP3-сервер. Функциональность его минимальна: он позволяет регистрировать почтовые домены, а в них — почтовые ящики. На жестком диске каждый почтовый ящик представлен отдельным каталогом (в котором хранятся .eml-файлы сообщений) — соответственно, для них можно назначать квоты. Никаких, даже самых скромных, дополнительных удобств, разве что утилита для администрирования POP3-сервера из командной строки. Однако, несмотря на такую «спартанскую» реализацию, встроенный в ОС почтовый сервер вполне удовлетворит нужды не особенно взыскательных пользователей, тем более что и системных ресурсов он требует небольших.

Отдельно хотелось бы упомянуть еще один новый компонент Windows Server 2003. Какое-то
время тому назад мы знакомили читателей с технологиями и продуктами SharePoint
(«Компьютерное Обозрение», #
32, 2001). Примерно тогда же было объявлено, что обновленная версия SharePoint
Team Services будет включена в новую ОС Microsoft. На сегодняшний день Windows
SharePoint Services (именно так теперь называется этот компонент) еще не готов
и, вероятнее всего, увидит свет лишь одновременно с новой версией Microsoft Office.
Тем не менее включение средств обеспечения групповой работы в стандартную поставку
серверной платформы может только приветствоваться.

Подводя итог, можно констатировать, что разработчики серьезно потрудились над IIS 6.0. Удалось ли им действительно решить принципиальные проблемы, мы, по всей видимости, узнаем довольно скоро, как только накопится критическая масса инсталляций ОС Windows Server 2003, и пользователи начнут ее (в первую очередь IIS) реально эксплуатировать, а хакеры — «проверять на прочность». Однако, на наш взгляд, не стоит ограничивать «поле зрения» только конкретными переменами, произошедшими внутри IIS, — не менее важным является изменение места и роли, отводимых этому компоненту в Windows Server 2003. Ведь IIS 6.0 и ASP.NET (плюс вспомогательные службы) формируют сервер Web-приложений и Web-служб, которые в недалеком будущем должны стать основным видом программного обеспечения.

Таким образом, решение о выборе того или иного Web-сервера будет приниматься не
столько системными администраторами (которым, вполне вероятно, IIS 6.0 также придется
по душе — благодаря рассмотренным нами усовершенствованиям), сколько Web-разработчиками.
А в качестве сервера приложений очень важным (стратегическим) достоинством IIS
становится его окружение — вся инфраструктура операционной системы, богатство
ее функциональных возможностей, интеграция компонентов. И в этом смысле Microsoft,
безусловно, создала весьма достойный продукт.

Установка и конфигурирование IIS

В большинстве случаев в реальных производственных проектах один или несколько серверов будут использоваться для обслуживания клиентских запросов веб-сайта. Эти серверы могут принадлежать и управляться непосредственно вами, специализированной командой или же сторонней компанией, предоставляющей услуги хостинга. В любом случае рано или поздно наступает момент, когда написание кода и его тестирование завершено, и работа должна быть представлена широкой публике — в этом и заключается развертывание веб-сайта.


В этой и следующих статьях мы рассмотрим различные варианты развертывания. Однако во всех случаях основные предпосылки остаются неизменными. На рабочей станции имеется готовый веб-сайт, который нужно развернуть на сервере, чтобы он был доступен клиентам. Для ASP.NET таким сервером является , а его текущей версией — IIS 8. Когда он был впервые реализован, IIS представлял собой базовый веб-сервер. С годами IIS развился в сложный сервер приложений, предоставляющий широкое множество функциональных средств, наиболее важным из которых является поддержка хостинга приложений ASP.NET.

В этой статье основное внимание уделяется IIS 8. Хотя машина, на которой запущен IIS 8, здесь называется сервером, IIS можно запускать под управлением версий Windows как для рабочей станции, так и для сервера. На рабочих станциях доступны не все, но большинство функциональных возможностей, что позволяет размещать сложные веб-сайты. По возможности мы рекомендуем использовать Windows Server, однако недорогой альтернативой могут послужить Windows 7 или Windows 8.

В Microsoft привязывают выпуски IIS с выпусками Windows. В состав Windows Server 2008 и Windows Vista входит версия IIS 7.0, в состав Windows Server 2008 R2 и Windows 7 — версия IIS 7.5, а в состав Windows Server 2012 и Windows 8 — IIS 8. Версии — 7.0 и 7.5 — в Microsoft обобщенно называют IIS 7, что может вносить путаницу. Версию IIS, поддерживаемую операционной системой, изменить нельзя — Windows Server 2008 будет использовать только IIS 7.0. Например, модернизировать ее до версии IIS 7.5, используемой в Windows Server 2008 R2, не получится.

Установка IIS

Компонент IIS включен как часть установки Windows (как для сервера, так и для рабочих станций) и требует активизации и конфигурирования. Далее представлены три способа активации IIS для различных операционных систем.

Установка IIS на настольных версиях Windows (Windows Vista, Windows 7 и Windows 8)

Каждая версия операционной системы Windows предлагает свою версию IIS — IIS 8 (в Windows 8), IIS 7.5 (в Windows 7) или IIS 7 (в Windows Vista). Во всех этих версиях Windows, IIS включен, но изначально не установлен. Чтобы установить его, необходимо выполнить следующие действия:

Откройте панель управления.

Нажмите кнопку «Включение или отключение компонентов Windows». Теперь вам нужно подождать, пока Windows исследует вашу систему.

Найдите элемент Internet Information Services (Службы IIS) в верхней части списка и нажмите на галочку чтобы включить его:

Обратите внимание, что Windows позволяет включить множество компонентов IIS: поддержка FTP-сервера, дополнительные инструменты управления, службы обратной совместимости с IIS 6 и т.д.

Убедитесь, что вы выбрали поддержку ASP.NET. Для этого раскройте узел Службы Интернета Компоненты разработки приложений ASP.NET (Internet Information Services World Wide Web Services Application Development Features ASP.NET):

Если вы хотите использовать поддержку IIS в Visual Studio, которая позволяет вам создавать виртуальные каталоги IIS непосредственно в диалоговом окне New Web Site, вам нужно выбрать пункт «Совместимость управления IIS 6» в разделе «Средства управления веб-сайтом» (Web Management Tools IIS 6 Management Compatibility).

Как только вы выбрали нужные параметры IIS, нажмите кнопку OK для завершения установки.

Установка IIS в Windows Server 2008

Установка и настройка IIS одинакова для Windows Server 2008 и Windows Server 2008 R2. Необходимые шаги описаны ниже:

Запустите диспетчер сервера. Чтобы сделать это, нажмите кнопку Start и выберите All Programs Administrative Tools Server Manager.

Выберите узел Roles в дереве слева.

В правой части окна нажмите на ссылке Add Roles. Это открывает мастер, позволяющий добавить новую роль сервера.

Выполните необходимые действия в мастере. Вас вероятно попросят установить дополнительные необходимые роли — если это так, нужно просто принять операции и продолжить.

После установки вам будет предложено настроить веб-сервер. Как в настольных версиях Windows, вы можете выбрать специфические особенности IIS 7, которые должны быть включены.

Если вы работаете в ASP.NET с версией .NET Framework 4.5, то эту версию .NET Framework необходимо будет установить (центр разработчиков .NET Framework)

Установка IIS в Windows Server 2012

Процесс установки IIS в Windows Server 2012, по существу, такой же, как и в Windows Server 2008. Основное различие заключается в том, что пользовательский интерфейс несколько отличается. Подробное описание вы можете найти перейдя по ссылке Installing IIS 8 on Windows Server 2012.

Управление IIS

При установке IIS, он автоматически создает каталог с именем C:\inetpub\wwwroot, который представляет ваш веб-сайт. Все файлы в этом каталоге будет отображаться, как будто они находятся в корневом каталоге вашего веб-сервера.

Чтобы добавить дополнительные страницы на ваш веб-сервер, можно скопировать файлы HTML, ASP или ASP.NET напрямую в каталог C:\Inetpub\wwwroot. Например если добавить файл TestFile.html в этот каталог, вы можете запросить его в браузере через URL-адрес http://localhost/TestFile.html. Вы даже можете создавать вложенные папки для группирования связанных ресурсов. Например, вы можете получить доступ к C:\inetpub\wwwroot\MySite\MyFile.html через браузер, используя URL-адрес http://localhost/MySite/MyFile.html.

Каталог wwwroot удобен для запуска простых примеров и статичных страниц. Для правильного использования ASP.NET вы должны сделать свой собственный виртуальный каталог для каждого веб-приложения, которое вы создаете. Например, вы можете создать папку с любым именем на любом диске вашего компьютера и поместить ее в виртуальный каталог IIS как будто она расположена в каталоге C:\inetpub\wwwroot.


Прежде чем начать работу, вам нужно запустить диспетчер служб IIS. Его можно найти в меню Start (Пуск). Конкретное расположение может зависеть от используемой версии Windows (IIS Диспетчер служб IIS). Ярлык программы будет располагаться в разделе Programs (Программы) или Administrative Tools (Администрирование). Начальная страница IIS Manager показана на рисунке ниже:

Теперь нужно ознакомиться с рядом терминов, используемых в IIS. В левой части окна IIS Manager отображается запись с именем используемого сервера. Наш сервер имеет имя PROFESSORWEB, сгенерированное по умолчанию Windows 8, которое будет использоваться в большинстве примеров. В центральной области отображается представление сервера. Это представление отображает набор значков, которые позволяют конфигурировать параметры сервера. В правой части экрана расположен список доступных действий. Например, в этом представлении можно запускать, останавливать и перезапускать сервер.

Если развернуть элемент сервера в древовидном представлении в левой части экрана, отобразится элемент Sites (Сайты), содержащий единственную запись Default Web Site (Веб-сайт по умолчанию). Сайт — это коллекция файлов и каталогов, образующих веб-сайт. На одном сервере IIS может поддерживать несколько сайтов, как правило, на различных портах TCP/IP (по умолчанию используется порт 80). Сочетание имени сервера и порта сайта образует первую часть URL-адреса. Например, при использовании сервера mywebserver с сайтом, подключенным к порту 80, URL-адрес выглядит следующим образом:

Каждый сайт может содержать множество файлов и каталогов. Каждый из них образует часть URL-адреса. Так, URL-адрес статической страницы mypage.html, расположенной в каталоге myfiles, будет следующим:

В некоторых ситуациях имя, под которым сервер известен вам, и имя, которое клиенты используют для получения содержимого, будут различаться. Мы оставим этот нюанс без внимания, но администратор сервера или компания, предоставляющая услуги хостинга, предоставят необходимые сведения, если это важно для конкретного сервера.

Чтобы проверить работоспособность IIS выберите Default Web Site и в правой области диспетчера служб IIS выберите пункт «Запустить». После этого нажмите кнопку «Обзор *.80 (http)» чтобы открыть страницу сайта в браузере:

Как видите, в моем случае я поменял порт используемый по умолчанию (с 80 на 8080). Я сделал это, т.к. на 80-м у меня запущен локальный Apache-сервер. Если у вас возникает такая же проблема, то изменить порт можно щелкнув правой кнопкой мыши по сайту (Default Web Site) и выбрав в контекстном меню «Изменить привязки» (Bindings). После этого в диалоговом окне можно изменить порт, используемый по умолчанию.

Итак, каждый сервер может поддерживать множество сайтов, каждый из которых работает на другом порту или с другим IP-адресом. Каждый сайт может иметь множество файлов и каталогов, и сочетание этих элементов предоставляет информацию о URL-адресе. Мы вернемся к URL-адресам и использованию IIS Manager при рассмотрении каждого из подходов к развертыванию.

IIS 8: Начинаем работать с IIS

Посетителей: 8683 | Просмотров: 10495 (сегодня 4) Шрифт:

В недрах вашего Microsoft Server (версии 2008, 2008 R2 и 2012) глубоко скрыт самый мощный веб-сервер. Он просто ждет, чтобы вы раскрыли весь его потенциал. Является ли вашей целью запуск сайта WordPress из дома или развертывание и управление крупномасштабной, высокодоступной веб-фермой для вашей компании, IIS справится с этой задачей.

Чтобы начать работу с IIS, необходимо иметь «практический» сервер. Он должен быть таким, чтобы вы могли снова и снова нагружать его, не заботясь о последствиях. Он должен располагаться в собственной сети, надежно изолированной от производственной среды. Вы можете использовать Windows 8 на ноутбуке, но учтите возможность использования виртуальной машины (virtual machine, VM) для тестирования. Используйте Hyper-V или даже простую VM на платформе Windows Azure.

В этой и последующих статьях я буду использовать Windows Server 2012 с IIS 8. Вы также можете использовать Windows 2008 или 2008 R2 (попутно я буду указывать на важные различия в них). Вы должны создать VM в качестве контроллера домена с DNS. Также на вашей VM должна быть установлена Windows PowerShell версии 3. Если вы еще не использовали Windows PowerShell, самое время заняться этим.

Быстрая установка

IIS прост в установке, если использовать графическое приложение Server Manager. Выберите роль Web Server и пока не добавляйте никакие дополнительные функции (я рассмотрю их позже). В производственной среде по соображениям безопасности вы не должны добавлять ничего сверх того, что вам нужно. Сейчас вам достаточно минимальной установки IIS.

Если вы хотите ускорить процесс и использовать Windows PowerShell, откройте административную консоль Windows PowerShell и введите:

Теперь обсудим изменения, которые произойдут с сервером после установки. Когда IIS установлен, появляется ряд дополнений к серверу. При работе с IIS необходимо знать пять основных изменений.

1. Первое, к чему обращается большинство пользователей, — IIS Manager. Это графический инструмент, устанавливаемый в каталог Administrative Tools. С ним вы проведете немало времени, поэтому полезно запустить его. После запуска в IIS Manager в его левой части отображается навигационная панель с выбранной начальной страницей, а также информационное окно (рис. 1).
The navigation pane with the Start Page selected Навигационная панель с выбранной начальной страницей
List of recently managed Web servers, local and remote. Список управляемых в данный момент веб-серверов, локальных и удаленных.
Different connection methods to connect and manage a Web server, site or application. Различные способы соединения для подключения и управления веб-сервером, сайтом или приложением.
Get the latest news from a variety of online resources. Получить последние новости из различных интернет-ресурсов.

Рис. 1. Начальная страница IIS Manager

При выборе другого узла навигации, такого как ваш сервер, пул приложений или контейнер сайтов, инструмент изменяет свое представление и разделяется на три панели. Левая панель предназначена для подключений (Connections), центральная панель — для просмотра свойств и контента (Features View и Content View), а правая панель содержит действия (Actions) (рис. 2). Подробно исследуйте IIS Manager, но пока не вносите никаких изменений.
The navigational location of your Default Web Site container plus additional Web sites you create in the future. Навигационное расположение вашего контейнера веб-сайтов по умолчанию плюс дополнительные веб-сайты, которые вы создадите в будущем.
Feature settings to manage your Web site and Web server. This list increases as new components are added. Настройки свойств для управления веб-сайтом и веб-сервером. Этот список растет по мере добавления новых компонентов.
The Actions pane contains quick access to many management tasks. Панель действий обеспечивает быстрый доступ ко многим задачам управления.

Рис. 2. Используйте Internet Information Services (IIS) Manager для управления сервером или веб-сайтом

2. В вашу файловую систему вносятся изменения для поддержки веб-сайта по умолчанию и других потребностей хранилищ IIS, например, файлов журналов и настраиваемых сообщений об ошибках. При установке создается новый путь на основном диске: C:\inetpub (рис. 3).
C:\inetpub is created during the installation. C:\inetpub создается во время установки.
Log files and customizable error pages are located here. Файлы журналов и настраиваемые страницы ошибок располагаются здесь.
This is the location of the Web site files for the Default Web Site. Здесь располагаются файлы для веб-сайта по умолчанию.

Рис. 3. После установки IIS в файловой системе появляется несколько дополнений


Добавляется три новые службы, которые работают под управлением IIS. Вы найдете их в Services Manager в разделе Administrative Tools или с помощью командлета Windows PowerShell Get-Service:

  • AppHostSvc: Application Host Helper Service (служба поддержки узла приложений)
  • W3SVC: World Wide Web Publishing Service (служба веб-публикаций)
  • WAS: Windows Process Activation Service (служба активации Windows)

Эти службы играют огромную роль в понимании того, как работает IIS. Пока вам достаточно убедиться, что они работают. Для этого используйте следующую команду Windows PowerShell:

Вы не обязаны использовать это местоположение, когда создаете дополнительные веб-сайты. На самом деле, обычно не рекомендуется его использовать. Однако вы должны знать об этих каталогах, чтобы модифицировать веб-сайт по умолчанию и контролировать файлы журналов.
3.
4. Устанавливается новый модуль Windows PowerShell с именем WebAdministration, который содержит командлет для веб-управления. Проверить наличие этого модуля можно, введя:
Этот модуль динамически загружается в Windows PowerShell версии 3, когда вы вводите командлет. Иногда вам придется загружать этот модуль вручную, особенно, при удаленном управлении. Например:
Вы можете получить список командлетов веб-управления для этого модуля с помощью Get-Help или Get-Command:
5. Как бы ни загружался модуль WebAdministration — вручную или динамически — это приводит к запуску нового провайдера Windows PowerShell. При этом создается новый диск файловой системы с именем IIS. Вы будете использовать это для административных задач и для получения информации о своих веб-сайтах, поэтому должны импортировать модуль WebAdministration модуля и проверить наличие нового диска:

Просмотр веб-сайта по умолчанию

Рассматривайте веб-сервер и расположенные в нем сайты как обычный файловый сервер с сетевыми общими ресурсами. С помощью файлового сервера вы открываете каталог для доступа извне файловой системы и назначаете ему общее имя и разрешения пользователей к его файлам. Когда пользователь хочет открыть или использовать один из файлов, он может ввести UNC (\\ИмяКомпьютера\ИмяОбщегоРесурса) в такое приложение, как Проводник, и открыть файлы.

Веб-сервер работает так же. Вы создаете каталог в файловой системе, добавляете в него файлы (веб-страницы) и создаете веб-сайт для публикации этих страниц всему миру. Веб-сайт получает свое «публичное имя» из так называемой «привязки», которая настраивается для этого веб-сайта.

В процессе установки IIS для вас создается веб-сайт по умолчанию. Также создается новый каталог C:\inetpub\wwwroot и добавляется несколько основных файлов (веб-страницы). веб-сайт с именем «Default Web Site» создается с привязкой «*:80 (http)». Это означает, что любой HTTP-запрос в порт 80 будет передаваться веб-сайту по умолчанию. Вы можете просмотреть эту информацию в IIS Manager. Для этого также можно использовать Windows PowerShell (рис. 4).

Рис. 4. Просмотр настроек веб-сайта по умолчанию

С помощью Windows PowerShell просмотреть информацию о веб-сайте по умолчанию — и любом другом веб-сайте — можно двумя способами: используя командлет Get-Website и метод IIS: провайдер:

Метод IIS: провайдер предпочтительнее, потому что также позволяет получить краткий список всех файлов и дополнительных компонентов веб-сайта при добавлении имени веб-сайта к пути:

Тестирование веб-сайта по умолчанию

Веб-сайт по умолчанию полезен с точки зрения тестирования, поэтому не удаляйте его. Он отлично подходит для проверки, что веб-сервер работает и принимает HTTP-запросы. Чтобы протестировать веб-сайт по умолчанию, откройте браузер и введите имя сайта. В данном случае все запросы привязываются к порту 80, поэтому URL выглядит так:

Поскольку в вашем браузере порт 80 задан по умолчанию, вам не нужно вводить его — однако его ввод помогает вам увидеть, что URL содержит имя сервера и общее имя (привязка веб-сайта), подобно UNC.

Быть может, вы хотите заменить веб-страницу по умолчанию на что-то еще? Откройте Блокнот, введите «TechNet Rocks!» и сохраните файл под именем Default.htm в каталог C:\inetpub\wwwroot. Также можно попробовать сделать это с помощью Windows PowerShell:

Откройте браузер и введите URL веб-сайта по умолчанию, либо используйте Windows PowerShell:

Теперь у вас есть своя веб-страница на собственном веб-сервере. Вероятно, у вас возникнет много вопросов: «Могу ли я переместить веб-сайт по умолчанию? Как создавать собственные веб-сайты? Как настроить DNS для своего веб-сайта?» На все эти и многие другие вопросы я отвечу в следующих статьях про IIS.

Iis об административных сценариях

Применимо к:Windows Server 2012 R2, Windows Server 2012

В этом документе представлен обзор средства развертывания веб-сервера Службы IIS 8 с поддержкой размещения и презентация набора сценариев настройки Службы IIS 8, поддерживающих различные виды веб-приложений.

Возможно, вы имели в виду.

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

Сценарии не зависят друг от друга. Вы можете ознакомиться с ними в любом порядке и сосредоточить свое внимание на тех, которые наиболее подходят вам.

Здесь показано, как установить службы IIS с минимальной настройкой модулей для статических серверных веб-сайтов. Здесь описывается, как добавить веб-сайт, настроить анонимную проверку подлинности, документ по умолчанию и сжатие статического содержимого, как использовать ведение журнала IIS и фильтровать запросы.

Здесь показано, как установить службы IIS с модулями, необходимыми для классических серверных веб-сайтов ASP. Объясняется, как добавить веб-сайты и изменить параметры приложения ASP.

Руководство по планированию, установке и настройке веб-сайта ASP.NET в IIS. Описание того, какие модули IIS следует установить. Здесь показано, как настроить параметры ASP.NET, такие как состояние сеанса, страницы и элементы управления, параметры приложений, параметры компиляции и глобализации .NET. Здесь описывается настройка параметров источника данных. Также здесь показано, как повысить уровень безопасности с помощью изоляции приложений, уровней доверия .NET, проверки подлинности .NET, параметров ключа компьютера и протокола SSL.

Руководство по планированию, установке и настройке веб-сайта PHP в IIS. Описание того, какие модули IIS следует установить. Описание того, как настроить основные параметры PHP. Объясняется, как настроить WinCache и другие расширения PHP. Описывается, как повысить безопасность приложений PHP на веб-сервере IIS.

Здесь показано, как установить FTP на существующем веб-сервере IIS. Описывается, как добавить FTP-узел, настроить параметры узла по умолчанию, поддержку брандмауэра, изоляцию пользователя и параметры просмотра каталогов. Здесь показано, как настроить ограничения попыток входа, фильтрацию запросов, ведение журнала FTP и сообщения FTP.

Руководство по планированию, установке и настройке простой фермы серверов с серверами IIS. Помощь с планированием и настройкой инфраструктуры фермы. Здесь рассматривается настройка балансировки нагрузки с помощью маршрутизации запросов приложений (ARR). Описание настройки общего контента и общей конфигурации. Здесь демонстрируется настройка центрального хранилища SSL-сертификатов. Описание настройки FTP и веб-развертывания в ферме серверов.

Независимо от того, являетесь ли вы ИТ-специалистом, веб-разработчиком или просто хотите развернуть собственный веб-сервер, этот сценарий поможет вам установить и настроить службы IIS для работы с вашим веб-приложением.

В следующей таблице представлены ссылки на ресурсы, связанные с Службы IIS 8.

Илон Маск рекомендует:  Что такое код ifx_pconnect
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL