Установка IIS на Windows Server. Установка и настройка компоненты PHP для веб-сервера IIS

29.03.2019

Для работы с веб-проектами на базе популярных CMS (англ. Content Management System — система управления содержимым), таких как WordPress, Drupal, Joomla и др. необходим компонент, который бы обрабатывал скрипты PHP и преобразовывал бы их в код HTML, понятный браузеру. В данной статье рассмотрим 2 способа установки компоненты PHP на входящий в поставку Windows веб-сервер IIS (Internet Information Services) с помощью программы «Установщик веб-платформы» от компании Mocrosoft и вручную, с помощью официального инсталлятора.

1. Установка и настройка веб-сервера IIS

Прежде всего, у вас должен быть установлен веб-сервер IIS. Об установке IIS можно прочитать в статьях:

Кроме того, в процессе установки помимо компонент по умолчанию обязательно должна быть установлена компонента FastCGI . Если же веб-сервер IIS уже установлен, но данная компонента не была выбрана, то это можно сделать и позже. Рассмотрим процесс установки компоненты FastCGI в Winows 8/8.1. Чтобы активировать FastCGI, проходим тот же путь, что и для активации IIS. Кстати, в Windows 8.1 нужный нам раздел панели управления «Программы и компоненты» удобно вынесен в контекстное меню кнопки «Пуск ».

В открывшемся окне раздела кликаем «Включение и отключение компонентов Windows ».

Раскрываем список «Службы IIS », в нём – «Службы Интернета », далее – «Компоненты разработки приложений ». И уже в этом списке ставим галочку возле «CGI ». Далее жмём «ОК » и дожидаемся, пока система настроит и применит изменения.

2. Установка компоненты PHP с помощью программы «Установщик веб-платформы»

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

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

Данная компонента будет добавлена в список устанавливаемых элементов. Нажимаем «Установить » для установки приложений из этого списка.

Запустится мастер установки, принимаем условия лицензионного соглашения нажав кнопку «Принимаю ».

И дожидаемся окончания установки, нажав «Готово » когда мастер закончит работу.

На этом в общем то и все. Компонента PHP успешно установлена. Аналогичным образом можно также добавить компоненту «Диспетчер PHP для IIS» с помощью которой можно будет настраивать компоненты PHP прямо из «Диспетчера служб IIS».

3. Установка компоненты PHP с помощью официального инсталлятора

Теперь рассмотрим процесс установки компоненты PHP вручную, т. е. с помощью инсталлятора. Дистрибутив PHP можно скачать с официального сайта . В нашем случае скачиваем инсталлятор PHP .

Запускаем инсталлятор PHP и в окне мастера установки жмём «Next ».

Соглашаемся с лицензионными условиями. Жмём «Next ».

Соглашаемся с путём установки, если нет необходимости его менять. Жмём «Next ».

В следующем окне выбираем режим «IIS FastCGI », если текущая операционная система — Windows Server. Если работа происходит в Windows 7, 8, 8.1, выбираем режим «Other CGI ». И жмём «Next ».

Затем, ничего не меняя, жмём «Next ».

Следующий шаг – запуск самой инсталляции. Жмём «Install ».

По завершению инсталляции жмём «Finish ».

В довесок к самому PHP также установим плагин для его управления в «Диспетчере служб IIS». Плагин PHP Manager for IIS, в соответствии с разрядностью операционной системы, скачиваем с официального сайта .

Запускаем установку плагина. Если на компьютере не установлена программная платформа NET Framework, инсталлятор плагина предложит отправиться на официальный сайт для скачивания её дистрибутива. И только после и перезагрузки компьютера плагин PHP Manager for IIS захочет устанавливаться без каких-либо проблем. Жмём «Next ».

Соглашаемся с лицензионными условиями и жмём снова «Next ».

По завершению установки плагина закрываем окно установщика.

Запускаем «Диспетчер служб IIS». Если все действия осуществлены корректно, в «Диспетчере служб IIS» увидим появившийся раздел «Администратор PHP». Заходим сюда двойным щелчком.

Для дальнейшем работы потребуется зарегистрировать компоненту PHP – увидим активной ссылку регистрации новой версии PHP. Жмём её.

В появившемся окошке указываем путь к запрашиваемому исполняемому файлу и нажимаем «ОК ».

Это завершающий этап настройки PHP.

Помогла ли Вам данная статья?

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

Узнайте, как установить службу 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 появится только что добавленный.

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.

Сегодня мы покажем, как на базе Windows 8 / Windows Server 2012 развернуть собственный веб-сервер IIS с поддержкой языка PHP. Впоследствии на данной платформе можно будет запустить большинство современных CMS, написанных на этом самом популярном (но далеко не самом лучшем) на данный момент языке разработки веб-приложений.

В Windows 8 веб-сервер IIS 8 поставляется в качестве отдельной функции и по умолчанию он не установлен. Чтобы установить IIS в Windows 8, откройте Панель управления и в разделе Program and Features (appwiz.cpl) нажмите на кнопку Turn Windows features on or off .

В открывшемся окне поставьте чекбокс у пункта Internet Information Service и нажмите ОK.

Примечание . По умолчанию IIS устанавливается в минимальной конфигурации.

После окончания установки, проверим что наш веб-сервер работает. Для этого запустите Internet Explorer (или любой другой браузер) и в его адресной строке наберите http://localhost (или http://127.0.0.1 ).

Если IIS функционирует корректно, должна отобразиться такая страница:

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

В Windows Server 2012 веб-сервер Internet Information Services можно установить из консоли Server Manager, выбрав для установки роль Web Server IIS .

Согласимся с предложенными по-умолчанию компонентами, установив дополнительно только CGI (находится в разделе Application Deployment ролей IIS).

Протестируем работу IIS, открыв в браузере страницу http://localhost .

Установка PHP на Windows 8 / Windows Server 2012

Для установки PHP нам понадобится установщик Microsoft Web Platform Installer 5.0 (WPI), скачать который можно по этой ссылке: http://www.microsoft.com/web/downloads/platform.aspx (wpilauncher.exe.)

Совет . Преимущество использования установщика PHP в составе Microsoft Web Platform перед ручной установкой PHP заключается в следующем:

  • WPI сам определяет необходимую версию PHP и устанавливает актуальную на данный момент версию
  • WPI сам настраивает интеграцию с IIS, позволяет установить расширения PHP без необходимости вручную настраивать конфигурационные файлы
  • WPI в дальнейшем позволяет легко обновить PHP без потери конфигурационных файлов

Запустим скачанный файл wpilauncher.exe. и в появившемся окне установщика Web Platform Installer перейдем на вкладку Products и в списке доступных продуктов найдите строчку PHP 5.5.1 1.

Нажмем кнопку Add и затем Install . Перед началом установки WPI проверит вашу систему на соответствие требованиям (в случае необходимости будет предложено установить недостающие компоненты), после чего запустится установка PHP.

Тестируем работу PHP на IIS

После того, как PHP установлен, проверим, что он работает корректно. Для этого перейдем в корневой каталог веб-сервера (по умолчанию C:\inetpub\wwwroot) и создадим новый текстовый файл с расширением PHP (например, test.php ).

Откроем его в любом текстовом редакторе и вставим в него такой код:

phpinfo();
?>

Далее в браузере в адресной строке укажем такой url-адрес: http://127.0.0.1/test.php . Если все настроено верно, в окне должна появится о версии и основных конфигурационных настройках установленной версии PHP (PHP Info).

Совет . Конфигурационные настройки PHP хранятся в файле php.ini, который находится в корне каталога установки.

На этом все! Итак, мы рассмотрели самый простой способ развернуть полноценный веб-сервер IIS с поддержкой PHP 5.x на базе Windows Server 2012 / Windows 8.