Установка IIS 7 и интеграция PHP в Windows Server 2008

Здравствуйте, Товарищи!

Давно ничего не писал. Как говориться «родила Царица в ночь….»)))

Как Вы догадались из названия, речь пойдет о установке IIS 7.0 и PHP на Windows Server 2008 (в моем случае — Английская версия).  Затягивать не будем и приступим….

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

Процесс достаточно легкий — пару кликов мышкой)

Идем в панель управления сервером:

Открыть «Server Manager» –> «Roles «-> Выбираем «Add Roles» –> Выделяем «Web Server (IIS)»

На вкладке выбора конкретных сервисов относящихся к роли веб-сервера необходимо отметить «ISAPI Extensions» (см. следующий рисунок).
Если IIS уже установлен, необходимо открыть оснастку управления сервером и открыть раздел «Roles» в контекстном меню роли веб-сервера необходимо выбрать пункт «Role Services» и проверить наличие «ISAPI Extensions».

add-iis-role

Оставляем остальные пункты по умолчанию и, перекрестившись, перезагружаем веб-сервер.

2. Установка PHP для работы с IIS 7.0

а) Выбор пакета PHP

На официальном сайте PHP (http://windows.php.net/download/) загружаем архив последней версии «x86 Thread Safe» пакета. У меня была: php-5.2.14-Win32-VC6-x86.zip.
Мы загружаем архив, а не инасталятор, т.к. хотим разобраться как устанавливать вручную PHP на IIS 7.0.

Данный архив необходимо, т.е. желательно,  распаковать в C:\PHP. Такой путь «желателен» для избежания ряда проблем, связанных с дополнительными расширениями PHP (бывает, ругаются на наличие пробелов в пути и т.п.)

б) Интеграция с IIS 7.0

В панели управления сервером выбрать «IIS 7 Server Manager» –>двойной щелчок на “Handler Mapping” -> выбрать “Add Script Map…”
В поле «Request path» введите: *.php
В поле «Executable» введите путь: C:\php\php5isapi.dll
В поле «Name»  введите: PHP
Должно выглядеть следующим образом:

add-script-map
Нажать OK
Должно появиться диалоговое окно вида:
add-script-map-information-window
Щелчок на Yes
Следуем в основной экран IIS Manager
Выбрать «ISAPI and CGI restrictions» –> Кликнуть «Edit Feature Settings…» –>Выбрать «Allow unspecified ISAPI modules»
edit-isapi-cgi-restriction
Подтвердить выбор — OK

в) Настройка пула приложения

Мы должны создать «Application Pool» для нашего PHP приложения ( иными словами для сайта).
В основном окне «IIS Manager», щелкнуть на «Application Pools» –> «Add Application Pool…»
Следует присвоить «Application Pool» ясное имя, отображающее суть приложения (к примеру – «ShopSystem»)
В поле «.NET framework version» выбрать “No Managed Code”.
add-application-pool
Подтвердить – OK.
Кликнуть правой кнопкой мыши на вновь созданном пуле и выбрать в контекстном меню пункт «Advanced Settings…».
Выставляем разрешение 32-битных приложений «Enable 32-Bit Applications» в True (т.к. мы скачали x86 версию РHP).
pool-advanced-settings
Щелкнуть по кнопке OK.
Перезапустить вэб-сервер.
Кстати, при создании сайта в IIS 7.0 не забудьте назначить ему соответствующий пул, если Вы планируете использовать PHP:). Если пул приложения во время создания сайта не был назначен, ничего страшного. Необходимо выбрать пункт «Manage Website» –> «Advanced Settings» контекстного меню конкретного сайта. В появившемся окне следует выбрать необходимый пул в поле – «Application Pool».

forgot-assign-pool-for-site

3. «Полируем» PHP

Настраиваем систему Windows Server 2008 для того, чтобы IIS 7.0 грузил необходимый файл конфигурации PHP (php.ini)

Для начала зададим путь для загрузки файла конфигурации php.ini.
Контекстное меню объекта «Computer» -> «Properties» -> «Advanced system settings» -> «Environment variables»
Раздел «system variables»
system-variables-PHP
Редактируем существующую системную переменную Path. После «;» добавляем путь к директории где находится исполняемый файл php — «c:\PHP\«.
Создаем новую системную переменную PHPRC (прописными!!!)   со значением — «c:\php\».

Осталось перезагрузить сервер и проверить работоспособность PHP.

Проверка работоспособности PHP в IIS 7.0 будет описана в следующей статье (обещаю).

Кстати, если кому интересно, скоро напишу статью об интеграции MS SQL Server 2008 и PHP для IIS 7.0 в ОС Windows Server 2008.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *