Windows 7, XP

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

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

Узнайте, как установить службу Internet Information Services (IIS) на серверы с операционными системами Windows Server 2012 R2 и Windows Server 2008 R2.

IIS (Internet Information Services) - набор сервисов от компании Microsoft для работы веб-сервера и других интернет служб. IIS устанавливается на сервер и работает с протоколами HTTP/HTTPS, POP3, SMTP, FTP, NNTP. В 2015 году была выпущена 10 версия IIS, разработанная под Windows Server 2016.

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

Зайдите на сервер с правами администратора. Запустите «Диспетчер серверов» (Server Manager) из меню «Пуск» (Start) или на панели задач.
В меню «Диспетчер серверов» (Server Manager) выберите пункт «Роли» (Roles).
Нажмите кнопку «Добавить роли» (Add Roles).
Ознакомьтесь с информацией на начальной странице установки и нажмите «Далее» (Next).
Выберите из списка ролей сервера «Веб-сервер (IIS)» (Web Server IIS) и нажмите «Далее» (Next).
Ознакомьтесь с информацией о веб-сервере и нажмите «Далее» (Next).

Обратите внимание, что по умолчанию не устанавливаются такие сервисы, как ASP.NET , фильтры ISAPI и др.


Нажмите «Установить» (Install) для начала установки.
Запустите «Диспетчер серверов» (Server Manager) и откройте вкладку «Роли» (Roles) > «Веб-сервер IIS» (Web Server IIS) > «Диспетчер служб IIS» (Internet Information Services Manager).

Возможности, доступные вам в службе IIS, перечислены в диспетчере служб IIS. Отсюда управляйте возможностями IIS, настраивайте и перезапускайте.


Проверьте работу сайта по умолчанию, набрав в адресной строке браузера localhost .

Загрузится страница, созданная по умолчанию.

Добавьте сайты, которые будут обслуживаться этим веб-сервером.


В контекстном меню пункта «Сайты» (Sites) на вкладке «Подключения» (Connections) выберите «Добавить сайт» (Add Web Site)

В списке сайтов IIS появится только что добавленный.

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

Зайдите на сервер с правами администратора. Запустите «Диспетчер серверов» (Server Manager) из меню «Пуск» (Start).
На «Панели мониторинга» (Dashboard) выберите пункт «Добавить роли и компоненты» (Add roles and features).

Тоже самое можно сделать через панель «Локальный сервер» (Local Server) - «Управление» (Manage).


Запустится мастер установки IIS, ознакомьтесь с первой страницей и нажмите «Далее» (Next).
Выберите тип установки «Установка ролей или компонентов» (Role-based or feature-based installation) и нажмите «Далее» (Next).
Выберите сервер из пула серверов (Select a server from the server pool) и отметьте имя вашего сервера. Нажмите «Далее» (Next).
На странице выбора ролей сервера отметьте «Веб-сервер IIS» (Web Server IIS).
Оставьте все без изменений в появившемся окне и нажмите «Добавить компоненты» (Add Features).
Если кроме IIS вы ничего не устанавливаете, то нажмите «Далее» (Next).
Просмотрите список компонентов IIS, выберите нужные или оставьте по умолчанию, нажмите «Далее» (Next).
Ознакомьтесь с информацией в следующем окне и нажмите «Далее» (Next).
Просмотрите список ролей веб-сервера IIS, которые будут установлены. Отметьте необходимые или оставьте без изменения и нажмите «Далее» (Next).

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


Нажмите кнопку «Установить» (Install).

При необходимости отметьте «Автоматический перезапуск конечного сервера» (Restart the destination server automatically if required), если пункт не выбран, то перезагрузите сервер самостоятельно после окончания установки.


Запустите «Диспетчер серверов» (Server Manager) из меню «Пуск» (Start).

В списке содержимого появится установленная служба IIS .


В правом верхнем углу нажмите на пункт меню «Средства» (Tools) и запустите «Диспетчер служб IIS» (Internet Information Services Manager).
В панели «Подключения» (Connections) кликните по имени сервера, в появившемся окне отметьте «Не показывать снова» (Do not show this message) и нажмите кнопку «Нет» (No).
Панель «Просмотр возможностей» (Features View)

Возможности, доступные вам в службе IIS, перечислены на панели Просмотр возможностей (Features View). Отсюда управляйте возможностями IIS, настраивайте и перезапускайте. Например, настройте SSL-сертификаты.


Сразу после установки IIS по умолчанию создается пустой сайт Default Web Site .
Проверьте его работу, набрав в адресной строке браузера localhost . Загрузится страница, созданная по умолчанию.
Файлы этой страницы по умолчанию расположены на диске C:\inetpub\wwwroot
Добавьте сайты, которые будут обслуживаться этим веб-сервером. Для этого в контекстном меню пункта «Сайты» (Sites) на вкладке «Подключения» (Connections) выберите «Добавить сайт» (Add Website).
Заполните поля формы данными о сайте и нажмите ОК.
В списке сайтов IIS появится только что добавленный. Установка веб-сервера IIS

Открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. Находим в списке раздел Службы IIS. Раскрываем его и выбираем нужные компоненты:

Базовый набор:

  • Безопасность. Выбираем все компоненты кроме «Проверка подлинности с сопоставлением сертификата …».
  • Компоненты разработки приложений. Мне нужна только компонента CGI, для последующей установки PHP.
  • Общие функции HTTP. Отмечаем все пункты.
  • Проверка работоспособности и диагностика. Выбираем «Ведение журнала HTTP» и «Монитор запросов».
  • Функции повышения быстродействия. Отмечаем все пункты.
  • Средства управления веб-сайтом. Отмечаем только «Консоль управления IIS».

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

Теперь переходим к созданию веб-сайта. Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (можно быстрее: меню Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). В открывшемся окне раскрываем группу «Службы и приложения» и открываем «Диспетчер служб IIS». В окне Подключения выбираем папку Сайты, затем в правом окне Действия нажимаем на ссылку «Добавить веб-сайт».

Нажимаем OK. На этом базовая настройка завершена. Нужно проверить работоспособность только что созданного сайта. Открываем браузер и в адресной строке вводим: http://localhost. Если все работает правильно, вы увидите похожую страницу:

Последний штрих. Чтобы сайт был доступен из вне, необходимо открыть 80-й порт для входящих соединений. Как это сделать на примере штатного брандмауэра Windows 7:
Откройте Панель управления -> Система и безопасность -> Брандмауэр Windows -> Дополнительные параметры. В списке необходимо найти и включить правило Службы Интернета (входящий трафик HTTP) :

В этом режиме базовой установки веб-сервер способен отображать только статические страницы (обычный HTML + JavaScript). Чтобы расширить его возможности, можно установить поддержку ASP, ASP.NET или PHP. Сам я занимаюсь программированием пока только на PHP, поэтому далее расскажу только об установке PHP на IIS в режиме FastCGI.

Установка PHP (FastCGI)

Конечно, оптимальный веб-сервер для PHP — это Apache, но все же бывают случаи когда требуется установить PHP на IIS. Тем более, в последнее время разработчиками была проделана большая работа, чтобы производительность PHP на IIS улучшилась.

Перед началом установки необходимо скачать релиз PHP с сайта http://windows.php.net/download/ . Там предлагается несколько вариантов. Нам необходим релиз VC9 x86 Non Thread Safe . Для работы в режиме FastCGI это наиболее быстрый и стабильный вариант. Я рекомендую скачивать релиз с установщиком (installer), а не zip-архив (это для любителей ручной установки).

Теперь запускаем установщик. После нескольких не особо информативных окон нам предложат выбрать веб-сервер и режим работы PHP:

IISFastCGI — да, сейчас это единственный стабильный вариант установки PHP на IIS.

После завершения работы установщика, переходим к настройкам IIS. В принципе здесь надо сделать только одно действие — поднять приоритет php-файлов, чтобы они обрабатывались в первую очередь. В диспетчере служб IIS нажимаем по названию нашего сайта и в окне справа выбираем раздел «Документ по умолчанию». В появившемся списке необходимо переместить index.php в начало:

Пользователи Windows 7 64-бит, внимание! Вам необходимо произвести одно дополнительное действие. Откройте раздел «Пулы приложений». Выделите DefaultAppPool и откройте «Дополнительные параметры» (через правый клик или в крайней правой колонке). В разделе Общие необходимо найти опцию «Разрешить выполнение 32-битных приложений» (Enable 32-bit Applications) и установить в положение True. Если уже созданы дополнительные пулы для уже существующих сайтов, то для каждого из них нужно проделать ту же операцию.

Теперь необходимо провести тестирование PHP. В корневую папку веб-сайта (c:\inetpub\wwwroot) необходимо поместить файл index.php со следующим содержанием:

Открываем сайт в браузере (http://localhost). Если все работает правильно, вы увидите страницу с информацией об установке PHP:

Установка MySQL

Вынесена в отдельную статью.

  • При запуске сайта возникает ошибка: «Процесс не может получить доступ к файлу, так как он используется другим процессом. (Исключение из HRESULT: 0×80070020) ».
    Эта ошибка говорит о том, что порт, к которму осуществлена привязка сайта (по умолчанию 80-й), уже занят другим приложением. Очень часто такая ошибка возникает, если установлен другой веб-сервер (например Apache).
    Чтобы выяснить какой процесс занимает 80-й порт, в командной строке введите: netstat -ano -p tcp
    В колонке «Локальный адрес» ищем запись вида 0.0.0.0:80, далее смотрим какой «PID» соответствует этой записи. В «Диспетчере задач» открываем вкладку Процессы (опцию «Отображать процессы всех пользователей» должна быть отмечена). Далее переходим в меню Вид -> «Выбрать столбцы» отметь «ИД проесса (PID)». Теперь с помощью PID можно выяснить какой процесс занимает порт.
    Еще одним из решений этой проблемы является привязка сайта к альтернативному порту (например 8080).
  • При запуске php-скрипта появляется ошибка: Warning: fopen(путь_к_файлу): failed to open stream: Permission denied in путь_к_файлу .
    Проблема в том, что группа пользователей IIS_IUSRS имеет права только на чтение. Открыть свойства папки, в которой распологаются файлы веб-сайта (по умолчанию wwwroot), закладка Безопасность. В списке находим группу IIS_IUSRS и даем ей права полного доступа.
  • Как установить кодировку сайта .
    Откройте «Диспетчер служб IIS», выберите нужный веб-сайт.В настройках сайта откройте раздел «Заголовки ответов HTTP». Нажмите ссылку Добавить. В открывшемся окне в поле Имя введите: Content-type, в поле Значение введите: text-html; charset=windows-1251 (см. скриншот). Вместо windows-1251 можно прописать любую другую кодировку.

Продолжаем изучать web сервера и сегодня мы рассмотрим установку и основные настройки Internet Information Services (IIS) версии 7.0 на платформе Windows Server 2008. А также научимся привязывать такие отдельные технологии как PHP к нашему web серверу.

Как Вы знаете, PHP отлично работает с Apache и MySql, но вдруг у Вас возникла необходимость использовать именно IIS в связке с PHP, то тогда данная статья именно для Вас. Сегодня мы рассмотрим основы IIS 7.0, научимся устанавливать данный web сервер и привязывать к нему PHP. Мы будем рассматривать IIS 7 версии, но не расстраивайтесь, если у Вас, например, стоит Windows Server 2008 R2, где устанавливается IIS версии 7.5, он практически не отличается от 7 версии.

Для начала давайте немного поговорим об архитектуре IIS 7.0. Данный Web-сервер полностью построен на модульной основе, т.е. в отличие от IIS 6.0, который просто устанавливался как роль сервера и все. В IIS 7 более гибко можно настроить свой веб сервер, путем установки только необходимых модулей, которые Вам нужны. Это огромный плюс так как:

  • ненужные модули отключены, тем самым увеличивается производительность;
  • чем меньше модулей задействовано, тем выше безопасность Web сервера, другими словами, так называемых «дырок » становится меньше.

Установка Web-Сервера IIS 7.0 на Windows Server 2008

Перед установкой хочу дать небольшой совет, устанавливайте данную роль сервера на полностью «голый » сервер, т.е. помимо службы IIS там ничего недолжно быть установлено (имеется в виду из ролей сервера ) исключением может быть только DNS сервер. Существует даже отдельная редакция Windows Server 2008 Web Server, которая полностью ориентирована именно на Web сервер, кстати, она намного дешевле других редакций этой операционной системы.

Существует несколько вариантов установки данной роли в Windows:

  • Через графический интерфейс (мы будем использовать );
  • Через командную строку (на мой взгляд, не удобно, так как приходиться полностью вручную писать все необходимые модули, которые Вам нужны, причем их названия регистрозависимые );
  • Также через командную строку, но уже с использованием XML файла (удобно, если Вам необходимо поднять много web серверов, Вы просто один раз повозитесь с xml файлом, а потом просто будете запускать одну команду в командной строке и все ).

Теперь давайте перейдем непосредственно к самой установки этого сервера. Предполагается, что у Вас уже установлена операционная система Windows Server 2008.

Нажимаем Пуск -> Администрирование -> Диспетчер сервера -> переходим на пункт роли и жмем «Добавить роли».

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

В моем случае мы будем прикручивать PHP и для поддержки этого нужно выбрать пункт CGI, а если Вы вдруг используете asp.net, то выбирайте соответствующие пункты, да и вообще почитайте, что там есть еще (описание располагается справа ), чтобы потом не удивляться, «почему у меня нет этого и не работает вот это ». Жмите далее.

А теперь жмем «Установить ». Ждем несколько минут, и после того как мастер добавления ролей скажет, что «Установка прошла успешно », жмем закрыть. И сразу же можем проверить работоспособность нашего web сервер, путем простого открытия браузера и набора в адресной строке http://localhost и если у Вас появилась следующая картинка, то Ваш сервер работает!

Как администрировать IIS?

Для управления web сервером используется графический интерфейс, но сразу могу сказать, что управлять можно также и напрямую редактировав xml файлы. Все настройки web сервера IIS7 хранятся в виде xml файлов. Настройки сразу для всего сервера IIS (сразу для всех сайтов ) хранятся в файле applicationHost.config , который располагается по следующему пути:

Но для конфигурации отдельного сайта можно использовать файл web.config , он создастся автоматически при изменение любой настройки применительно к одному сайту. Мне такая схема напомнила конфигурирование web сервера Apache, где для конфигурации отдельно взятого сайта можно использовать файл.htaccess.

Кстати, по умолчанию корневая директория вашего web сервера располагается по адресу: C:\inetpub , в которой и располагаются все Ваши сайты, когда Вы открыли сайт по умолчанию, то у Вас открылись файлы из папки wwwroot.

Перейдем непосредственно в нашу графическую панель управления web сервером IIS 7, для этого откройте «Пуск->Администрирование->Диспетчер служб IIS ». В итоге у Вас откроется, вот тая панель:

Где, слева будет дерево Ваших сайтов (у нас пока только сайт по умолчанию ) и приложений, по центру сгруппированы все настройки, а справа свойства той или иной настройки.

Привязываем PHP к IIS

Теперь нам необходимо установить PHP, для этого нужно скачать дистрибутив php с официального сайта (http://windows.php.net/download/) в виде msi пакета (нажав на ссылку installer ), я скачал версию php-5.3.10-nts-Win32-VC9-x86.msi, но Вы можете скачать версию и поновей.

Перейдем к установке PHP, вообще проблем возникнуть не должно, только на одном окне обязательно выберите следующий пункт: IIS Fast CGI .

Создание нового сайта в IIS

После этого давайте создадим новый сайт (в IIS это будет узел ), щелкнем правой кнопкой по пункту «Узлы » и нажмем «Добавить веб-узел ». Заполняем как на картинке, локальную директорию для нового сайта я создал в папке C:\inetpub\my , но Вы можете создать ее хоть на другом диске.

Если у Вас будет не один сайт, то у Вас возникнет необходимость отделять их друг от друга. Существует несколько способов, первый, например, посадить их на разные порты, но в некоторых случаях это не удобно. У сайта по умолчанию он 80, а у нового сайта 8080, но если у Вас будет много сайтов и Вы хотите чтобы они работали на одном порту, скажем на 80, то Вам необходимо заполнять поле «Имя узла », другими словами, это домен сайта. После того как Вы указали здесь, например, как я mysite, Вам необходимо сделать соответствующую запись на DNS сервере или, если у Вас мало компов и просто нет DNS сервера, или Вы просто разработчик, то пропишите это соответствие в файле hosts (например, 10.10.10.2 mysite )

Теперь создайте в папке нового сайта (C:\inetpub\my) файл, например, index.php с таким содержимым

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

Как Вы заметили никаких специальных действий на сервере IIS 7, для привязки php, мы не делали (за исключением того, что мы при установке добавили компонент CGI ), за нас это сделал сам дистрибутив php и сервер iis.

Полезные настройки IIS

Теперь рассмотрим пару настроек сервера IIS 7, например, мы хотим, чтобы у нас на одном сайте по умолчанию открывался документ mydoc.php. Для этого перейдите на нужный сайт и откройте настройки «Документ по умолчанию » и добавьте нужный Вам документ, причем Вы можете указать несколько документов, задав им необходимый приоритет.

И после этого Вы сразу же увидите, что в Вашей папке с новым сайтом Mysite, появился файл web.config (как я раньше и говорил ). Для того чтобы проверить, что Вы сделали все правильно, создайте файл mydoc.php с любым содержимым, и откройте в браузере адрес Вашего сайта, и по умолчанию должен загрузиться этот документ.

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

Например, Вы хотите настроить на вашем сайте Basic аутентификацию , но в данный момент Вы не можете найти эту настройку на сервере, для этого Вам необходимо до установить нужный компонент. Открываем диспетчер сервера «Роли->Веб-сервер(IIS)->Добавить службы ролей » и выбираем «Обычная проверка подлинности » или по англ. Basic authentication.

Открываем заново «Диспетчер служб IIS » и мы замечаем, что в пункте «Проверка подлинности» у нас появился еще один пункт «Обычная проверка подлинности ». Для того чтобы ее включить, Вам необходимо отключить «Анонимная проверка подлинности » и соответственно включить «Обычная проверка подлинности ». Не забудьте создать пользователей, в данном случае «Локальных пользователей ». «Диспетчер сервера ->Конфигурация ->Локальные пользователи » щелкаем правой кнопкой мыши «Создать пользователя », я создал пользователя test. Теперь при обращении к нашему сайту будет появляться форма для аутентификации.

Вводите своего пользователя и если Вы все сделали правильно, то Вы опять попадете на свой сайт!

Теперь поговорим о самой любимой связке - это PHP+MySql. Для того чтобы добавить поддержку MySql, достаточно просто установить эту СУБД (подробная установка рассматривается в статье - Установка сервера MySql и обзор средств его управления и администрирования ) и все! Можете создавать сайты в связке IIS 7+PHP+MySql.

Я думаю для основы этого вполне достаточно, если возникают вопросы, пишите в комментариях, постараюсь помочь. Удачи!