Установка IIS на Windows Server. Работа с консолью IIS Установка и настройка iis на windows 7

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

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

  • Для повышения защищенности веб-сервера настройте фильтрацию запросов. Инструкции см. в статье .
  • 1. Предварительно создаем каталог TestSite для содержания сайта на в директории c:\inetpub на сервере. Это можно сделать и из базовой ОС: с помощью проводника открываем каталог \\win_web_srv\с$ и создаем папку или в командной строке на сервере с помощью команды mkdir .

    2. В каталоге testsite создайте файл index.html следующего содержания

    Тестовый сайт

    Тестовый сайт для экспериментов

    3. В файле host в базовой ОС пропишем соответствие IP адреса нашего web-сервера и имени нового сайта TestSite.

    4. Запускаем Диспетчер служб IIS в базовой ОС.

    5. Подключаемся к нашему удаленному web-серверу.

    6. На правой панели «Подключения» выбираем узел «сайты» , на левой панели «Действия» выбираем «Добавить веб-сайт»

    7. В открывшемся окне определяем основные параметры сайта:

    имя сайта – TestSite (можете задать произвольное, оно будет использоваться только для идентификации сайтав рамках web-сервера)

    каталог содержимого, физический путь – c:\inetpub\testsite

    Привязку выполним по host header.

    имя узла – TestSite (вот по этому имени к сайту будет осуществляться доступ посетителей)

    8. Таким образом, создали новый сайт и осуществили привязку по host header (имени узла).

    9. Проверяем работает ли сайт. В браузере в строке URL напишите http://testsite/ Должны увидеть страничку index.html созданного сайта.

    10. Сконфигурируем «Документ по умолчанию»

    11. На панели подключений в узле сайты выбираем наш сайт TestSite и в центральной части основного окна выбираем пункт «Документ по умолчанию»

    12. Документов по умолчанию может быть несколько, администратор может упорядочить список этих документов, тем самым определить последовательность поиска их в каталоге. Если документ по умолчанию не найден, то учитывается настройкой параметра Directory Browsing

    13. Обратите внимание, что настройки для нашего сайта были унаследованы с более высокого уровня. Т.к. у нас имеется только страничка index.html и ничего другого пока не предвидится, то отредактируем эти настройки. Используйте пункты доступные на панели Действий справа:

    · удалим все имена файлов из списка кроме index.html

    · добавим новое имя default.html

    · переместим файл index.html на самый верх

    14. В итоге должна получиться такая примерно картинка

    15. После изменений посмотрите в основном каталоге нашего сайта c:\inetpub\TestSite появился файл web.config , который содержит изменения в конфигурации только для конкретного сайта, относящиеся к настройкам Документа по умолчанию

    16. Создадим виртуальную директорию.


    17. В каталоге c:\inetpub\testsite на сервере создайте подкаталог vd .

    18. В Диспетчере служб IIS щелкните правой кнопкой мыши на названии нашего сайта и выберите Обновить

    19. Обратите внимание, в структуре сайта появилась папка, но это скорее реальная папка, а не виртуальная J. Т.к. она располагается в физической структуре каталогов нашего сайта.

    20. В браузере в строке URL напишите http://testsite/vd, вы получите следующее сообщение об ошибке

    21. Такая реакция web-сервера объясняется тем, что в каталоге vd нет ни одного файла указанного в настройках Документа по умолчанию , а настройка Directory Browsing унаследованная от сайта имеет значение параметра Enabled=False , т.е. просмотр каталогов запрещен.

    22. Разрешим просмотр каталогов для папки vd

    23. В структуре сайта выбираем папку VD , и на странице Возможностей в группе IIS выбираем пункт Просмотр каталога .Таким образом, мы сможем не только настроить параметры отображения содержания каталога, но прежде всего включить такую возможность для папки VD.

    24. Нажмите слева на панели Действия пункт Включить. В центральной части окна соответствующие опции отображения содержания каталога станут доступны для изменения.

    25. Обновляем страничку в браузере

    26. Обратите внимание, что автоматически в каталоге VD был создан файл web.config , в котором определено как раз разрешения просмотра каталога

    27. Пробуем создать «настоящую» Виртуальную директорию за пределами структуры каталогов нашего сайта. Например в корне диска С создадим каталог VD_TestSite. Соответственно в отличие от папки VD, эта папка не попала автоматически в структуру нашего сайта.

    28. В Диспетчере служб IIS щелкаем правой кнопкой мыши на узле нашего сайта (TestSite) и выбираем пункт «Добавить виртуальный каталог»

    29. Остается только определить параметры виртуальной директории и указать ее физическое месторасположение

    30. В окне «Добавление виртуального каталога» определяем параметры виртуальной директории: псевдоним и физическое расположение. Обратите внимание алиас (псевдоним) не соответствует названию папки. В строке браузера в URL необходимо будет использовать как раз указанный псевдоним.

    31. Обратите внимание на отличие иконок двух папок в структуре сайта

    32. В каталогt c:\VD_TestSite создайте примитивную html страничку с именем index.html

    33. В браузере в строке URL наберите http://testsite/vd1. Убедитесь, что созданная страничка отображается. В общем случае виртуальная директория может ссылаться на каталог, расположенный даже на другой физической машине, в этом случае путь указывается UNC путь.

    34. Попробуем намного поэкспериментировать с различными способами привязки сайта.

    35. Пробуем выполнить привязку сайта к порту.

    36. В Диспетчере служб IIS , на панели «Действия» выбираем «Привязки» , затем «Добавить» и указываем нестандартный порт 4545

    37. В браузере в строке URL напишите http://web_win_srv. Должны увидеть страничку Default Web Site , т.е. сайта по умолчанию.

    38. Попробуем теперь в строке URL написать http://web_win_srv:4545. Должна открыться страничка нашего сайта – TestSite.

    39. Таким образом, получили, что наш сайт привязан двумя способами:

    · порт 80 и host header TestSite

    · порт 4545

    40. Ознакомимся с настройками ограничений для нашего сайта.

    41. На панели «Действия» выбираем пункт «Дополнительные параметры»

    42. Странные большие числа значений параметров «Максимальная пропускная способность» и «Максимальное число подключений» обозначают, что ограничения не заданы.

    43. Ограничения можно изменить с помощью пункта «Ограничения…» на панели «Действия»

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

    45. В браузере попробуйте открыть заведомо несуществующую страничку на нашем сайте, например http://testsite/test.html. Т.к. такой страницы нет, то сервер возвратит сообщение о ошибке с кодом 404 . Это сообщение можно изменить и сделать более «дружественным» по отношению к посетителю.

    46. Посмотрим все страницы соответствующие ошибкам для сайта TestSite, которые он унаследовал с уровня Web-сервера

    47. Попробуем изменить сообщение при возникновении ошибки 404 .

    48. Создадим собственную html-страничку с именем 404.htm и разместим ее в каталоге c:\inetpub\TestSite\err .Содержание файла 404.htm

    Error 404

    Файл не найден

    К сожалению, здесь нет того содержания, которое Вы искали.

    Пожалуйста, попробуйте выбрать нужную информацию, перейдя на главную страницу сайта:

    49. На панели Действия выбираем пункт «Изменить…»

    50. В браузере попробуйте открыть заведомо несуществующую страничку на нашем сайте, например http://testsite/test.html

    51. Смотрим на созданную нами специально для ошибки 404 странницу.

    52. Теперь поэкспериментируем с подключением к нашему сайту и работу с ним посредством защищенного протокола HTTPS на основе SSL сертификатов.

    53. Посмотрим сертификаты, которые присутствуют на нашем локальном компьютере (базовая ОС) и web-сервере. Для этого воспользуемся соответствующей оснасткой консоли управления MMC.

    54. Запускаем консоль управления из командной строки cmd .

    55. Выполним добавление нужной нам оснастки.

    Файл –> Добавить или удалить оснастку

    56. Из списка доступных оснасток выбираем «Сертификаты» и жмем кнопку «Добавить» .

    57. В открывшемся окне выбираем опцию «учетная запись компьютера» , жмем «Далее» и «Готово»

    58. После этого оснастка появится в списке «Выбранные оснастки…» , для завершения жмем «ОК»

    59. Аналогичным образом в эту же консоль добавим оснастку «Сертификаты» для удаленного web-сервера. Только в процессе настройки укажите имя удаленного web-сервера.

    60. Таким образом, получаем доступ к управлению сертификатами, расположенными в хранилищах на локальном компьютере (базовая ОС) и удаленного web-сервера.

    62. Для работы по протоколу HTTPS необходимо иметь сертификат сервера, причем этот сертификат должен быть заверен центром сертификации. В рамках лабораторной работы мы не будем «заморачиваться» созданием «полноценного» сертификата, который было бы правильно использовать. Сертификат для нашего web-сервера мы заверим самоподписанным корневым сертификатом, который сами создадим и перенесем в хранилище доверенных корневых сертификатов на локальной машине (базовая ОС). Понятно, что это «не спортивно», а в реальной жизни нельзя использовать, но для наших экспериментов вполне сойдет. Это является следствием того, что в нашей лабораторной сети слишком много условностей и нет самого главного Центра сертификации или хотя бы работающего контроллера домена.

    63. Еще одно препятствие обусловлено режимом инсталляции web-сервера – Server Core, в котором нет «Диспетчера служб IIS», поэтому все действия по конфигурации выполняем преимущественно удаленно или в режиме командной строки. При удаленном управлении IIS с помощью «Диспетчера служб IIS» нет доступа к функции управления сертификатами для IIS (для сравнения см. картинки ниже, скриншоты с web-сервера в режиме установки Full). Но мы не ищем легких путей.

    64. Итак, создаем все сертификаты с помощью командной строки. Для этого будем использовать утилиту makecert.exe из Windows SDK for Windows Server 2008 and .Net Framework 3.5

    65. Создаем самоподписанный корневой сертификат. На web-сервере в командной строке (cmd) вводим команду

    makecert.exe –ss root –sr localMachine –n “CN=TestCompany” -eku 1.3.6.1.5.5.7.3.1 –r

    –ss root указывает, что сертификат будет создан в хранилище доверенных корневых сертификатов

    –r – создаем самоподписанный сертификат

    –eku 1.3.6.1.5.5.7.3.1 – идентификатор сертификата для Server Authentication; для клиента нужно использовать Client Authentication (1.3.6.1.5.5.7.3.2)

    66. Создаем сертификат для web-сайта, подписанный нашим корневым сертификатом. Важно, что бы значение параметра CN совпадало в точности с именем сайта URL. Например, создаваемый сертификат будет корректным только для сайта testsite, но не будет корректным для www.testsite.

    makecert –pe –ss my –n “CN=testsite” –b 01/01/2013 –e 01/01/2036 –sky exchange –in “TestCompany” –is root –eku 1.3.6.1.5.5.7.3.1 –sr localMachine

    67. В результате проделанных манипуляций имеем созданный корневой сертификат в хранилище «Доверенные центры сертификации» и собственный сертификат для web-сайта в хранилище «Личное»

    68. Самостоятельно найдите эти сертификаты в консоли управления базовой ОС.

    69. Открываем «Диспетчер служб IIS» и выполним привязку тестового web-сайта для обеспечения возможности обращения к нему по протоколу HTTPS. Следует обратить внимание, что при привязке выбираем протокол HTTPS и в качестве Сертификата SSL указываем созданный нами сертификат с именем «testsite»

    70. В браузере пробуем обратиться к тестовому сайту по протоколу HTTPS.

    https:\\testsite

    71. Обратите внимание, т.к. организация «TestCompany» не известна нашей локальной машине, то браузер выдал предупреждение

    72. Несмотря на предупреждение, продолжаем работу с сайтом.

    73. Что бы все было красиво, необходимо поместить корневой сертификат нашей тестовой организации (TestCompany) в хранилище доверенных корневых сертификатов на локальном компьютере (базовая ОС). Выполним экспорт корневого сертификата в файл (например, TestCompany.cert) с помощью консоли управления.

    74. Выполним импорт сертификат из файла TestCompany.cert в хранилище доверенных корневых сертификатов локальной машине (базовая ОС).

    75. В браузере откроем опять наш тестовый сайт, использую для доступа к нему протокол HTTPS. Видим, что идентификация сертификата прошла успешно.

    76. Попробуйте использовать протокол HTTP для работы с тестовым сайтом.

    http:\\testsite

    77. Видим, что сайт может обрабатывать как запросы HTTP, так и HTTPS. Для запрещения использовать протокол HTTP, а обрабатывать все запросы только по протоколу HTTPS необходимо в настройках web-сайта «Параметры SSL» выбрать опцию «Требовать SSL» . Кроме того, в здесь же можно настроить поведения web-сайта относительно SSL сертификата клиента.

    78. Теперь пробуем обратиться к тестовому сайту по протоколу HTTP. Видим, что доступ запрещен.

    79. Если мы попытаемся использовать для другого сайта (например, для сайта по умолчанию) SSL сертификат, выпущенный для сайта TestSite, то в окне браузера получим сообщение об ошибке.

    80. Выполните самостоятельно привязку сайта по умолчанию на использование протокола HTTPS и SSL сертификата, созданного для сайта TestSite и убедитесь в возникновении ошибки.

    81. Создайте самостоятельно SSL сертификат для сайта по умолчанию и выполните изменение привязки для корректной работы сайта по умолчанию попротоколу HTTPS.

    82. Ну и на последок самое интересное…

    83. Обеспечим возможность размещать на нашем web-сервере сайты, созданные с помощью PHP.

    84. Прежде всего, проверяем, поддерживается наш web-сервер CGI. Убеждаемся, что при инсталляции компонента IIS-CGI не была установлена

    oclist | more

    85. Устанавливаем модуль IIS-CGI

    Установка веб-сервера 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 можно прописать любую другую кодировку.

    Приложения и сайты, разработанные на ASP.NET, должны размещаться на веб-сервере (далее IIS). Это оснастка Windows, отвечающая за размещение веб-приложений, распараллеливание http-запросов, хранение сессий пользователей и многое-многое другое.

    В Windows 2008 IIS по умолчанию отсутствует, и прежде чем настроить сайт, необходимо установить IIS . Поэтому статья разбита на две части:

    Как установить IIS 7 на windows 2008

    Сервер приложений IIS 7 устанавливается с дистрибутива операционной системы. Желательно устанавливать IIS с того же дистрибутива ОС, который установлен на данном компьютере. По опыту скажу, бывают прецеденты некорректной работы, в случае установки IIS с «неродного» дистрибутива. Вставьте диск с Windows 2008 в дисковод и начинайте установку IIS:

    1. Нажмите «Пуск» и нажмите правой кнопкой мыши по «Компьютер», зайдите в «Управление»:

    2. В диспетчере сервера выберите «Компоненты» и нажмите «Добавить компоненты»:

    3. В дереве выбираем «Средства веб-сервера (IIS)» и жмем «Далее»:

    После этого начнется установка IIS 7 с диска операционной системы Windows 2008. Дождитесь завершения и перезагрузите компьютер. Все! Установка IIS завершена!

    Как настроить IIS 7 на windows 2008

    Итак, у нас есть сайт, условно назовем его Security. Он представляет собой каталог Security и набор файлов в этом каталоге. Сайт имеет главную страницу, которая должна загружаться по умолчанию. Назовем ее index.aspx. Первым делом необходимо установить и зарегистрировать.Net Framework. Нужно ставить тот же.Net Framework, под который написан ваш сайт. Версию можно посмотреть в файле web.config вашего сайта. Мы будем считать, что наш сайт написан на Net.Framework v.4.0.

    Установке и настройке Net.Framework посвящена отдельная статья Как установить Asp.Net и зарегистрировать его в IIS . Здесь опишу кратко: чтобы зарегистрировать.Net Framework в IIS, нужно в командной строке из каталога C:\WINDOWS\Microsoft.NET\Framework\ версия вашего Framework \ выполнить команду aspnet_regiis.exe -i;

    Каталог Security разместите в C:\Inetpub\wwwroot\. Это рабочий каталог диспетчера служб IIS.

    Теперь займемся непосредственно настройкой IIS:

    1. Запустим Диспетчер служб IIS. Нажмем «Пуск», «Выполнить». В появившемся окне введем inetmgr.exe и нажмем «ОК»:

    2. Первым делом создадим группу приложений для нашего сайта. Вообще, группа приложений создается для того, чтобы разнести приложения, работающие на разных версиях.Net Framework. В принципе, если у вас на машине будет располагаться только один сайт, то данный шаг можно пропустить. В диспетчере служб IIS выберите правой кнопкой мыши пункт «Группы приложений», меню «Создать», пункт «Группа приложений…». В появившемся окне введите название группы приложений и нажмите «ОК». Т.к. мы решили, что наш сайт написан на.Net Framework v.4.0, то и назовем нашу группу приложений «Net 4.0»:

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

    4. В появившемся окне выбираем наш пул приложения и нажимаем «ОК»:

    5. На вкладке «Документы» нужно добавить нашу главную страницу. Тогда при доступе к сайту не нужно будет обращаться по адресу http://имя_сервера /Security/ndex.aspx, достаточно будет написать http://имя_сервера /Security и мы попадем на главную страницу сайта. На вкладке «Документы» удалите все страницы, которые там заведены по умолчанию и добавьте свою стартовую страницу index.aspx:

    6. На этом настройка IIS завершена, осталось настроить права доступа на каталог Security. Откройте общий доступ на вкладке «Доступ» и дайте полный доступ группе IIS_IUSRS и пользователю IUSR (они создаются при установке IIS). На вкладке «Безопасность» также дать полный доступ указанной группе и пользователю:

    Теперь можно пробовать открыть наш сайт. Откройте браузер и введите в адресную строку http://имя_сервера /Security, появится ваша главная страница. Все! Если есть вопросы, с радостью отвечу в комментариях к статье.

    Internet Information Services (IIS) это набор интернет-серверов от компании Microsoft. Основным компонентом IIS является веб-сервер, хотя этим дело не ограничивается. Последняя восьмая версия IIS поставляется со всеми редакциями Windows Server 2012 R2.

    Несмотря на проприетарность IIS, доля этого набора сервисов на рынке постепенно увеличивается. В интернете можно отыскать множество сакральных споров, что же всё таки лучше — IIS, Apache или, скажем, Nginx. Не будем им уподобляться, просто скажем в каких случаях в основном используется IIS.

    Самый удобный вариант использования IIS — когда всё ваше рабочее окружение (и серверная его часть тоже) работает на Windows. В таком случае Вы можете получить от IIS ряд удобных «плюшек» для работы в домене. В конце концов, ведь IIS это еще и FTP-сервер, и почтовый сервер. Интерфейс IIS довольно нагляден, что вообще свойственно Windows-среде. Ну и, конечно, IIS пригодится вам, если вы используете MS SQL.

    Для включения IIS в Windows Server 2012 R2 зайдите в Диспетчер серверов.

    В Диспетчере серверов найдите пункт «Добавить роли и компоненты».

    Убедитесь, что у Вас включен CGI.

    После этого в разделе Администрирование у Вас появится Диспетчер служб IIS.

    Вы можете так же включить IIS в Windows 7 Профессиональная и Максимальная, а также в Windows 8. Для этого перейдите в Панель управления → Программы → Включение или отключение компонентов Windows.

    Диспетчер служб представляет собой графический интерфейс управления Вашими серверами.

    Справа перечислены сервера и сайты. По умолчанию на системном разделе создается папка inetpub , в которой находятся папки ftproot и wwwroot для FTP-серверов и веб-сайтов соответственно.

    Установка PHP на IIS

    Для установки PHP перейдите по ссылке и скачайте ZIP-архив с версией Non Thread Safe . Обозначение VC11 возле версии обозначает, что для её компиляции необходим Visual C++ Redistributable for Visual Studio 2012 . Для старых версий, маркированных как VC9 , требуется Visual C++ Redistributable for Visual Studio 2008 SP1.

    Директорию для распаковки ZIP-архива можно выбрать по своему усмотрению. После извлечения архива создайте копию файла php.ini-production под именем php.ini в той же папке.

    Файл php.ini содержит правила исполнения PHP и работы с окружением, в котором он исполняется. Есть ряд обязательных параметров, которые должны быть прописаны. Ниже список этих параметров.

    extension_dir = [путь к директории расширений] — этот параметр отвечает за расположение расширений PHP. Например, C:\php\ext.

    extension = xxxxx.dll — для каждого подключаемого расширения необходимо прописать такую директиву. Такие расширения будут подгружаться при старте PHP.

    log_errors = On — включение лога ошибок.

    error_log = [путь к файлу лога ошибок] — собственно, тут всё понятно.

    cgi.force_redirect = 0 — отключение механизма защиты директорий, под IIS данный параметр должен принимать именно такое значение во избежание ошибок ядра PHP в Windows.

    cgi.fix_pathinfo = 1 — включение поддержки PATH_INFO согласно спецификации CGI. IIS FastCGI использует эту настройку.

    fastcgi.impersonate = 1 — включение идентификации маркеров безопасности вызывающего клиента.

    fastcgi.logging = 0 — логи FastCGI в IIS необходимо отключить.

    Далее в свойствах системы необходимо откорректировать переменные среды. В Windows Server 2012 R2 необходимо зайти в Панель управления, выбрать пункт Система, там Дополнительные параметры системы. На вкладке Дополнительно внизу находится кнопка Переменные среды.

    Среди системных переменных находим переменную Path и в поле Значение переменной дописываем путь к каталогу PHP. В моем примере это C:\php.