Вторник, Сентябрь 26Полезные советы и секреты в мире IT и создание сайтов, а так же новости.

Инструкция как настроить веб-сервера IIS + PHP + MySQL на локальном Windows 7

Установка веб-сервера IIS

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

Устанавливаем компоненты веб-сервера

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

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

Добавить веб-сайт
Создаем новый веб-сайт (1)

Затем надо указать имя веб-сайта и месторасположение его файлов (по умолчанию c:\inetpub\wwwroot). Остальные опции — без изменения.
c:\inetpub\wwwroot
Создаем новый веб-сайт (2)
Нажимаем «OK». На этом базовая настройка завершена. Необходимо проверить работоспособность созданного сайта. Открываем браузер и в адресной строке вводим: http://localhost. Если все работает правильно, вы увидите подобную страницу:

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

Открываем 80-й порт в брандмауэре Windows
В этом режиме базовой установки, веб-сервер может отображать только статические страницы (обычный HTML + JavaScript). Расширение его возможности – установка поддержки ASP, ASP.NET или 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:

Установка PHP 

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

Установка PHP (2)
Информация пользователям Windows 7 64-бит! Вам придется произвести дополнительное действие. Откройте раздел «Пулы приложений». Выделите DefaultAppPool и откройте «Дополнительные параметры» (через правый клик или в крайней правой колонке). В разделе «Общие» необходимо найти опцию «Разрешить выполнение 32-битных приложений» (Enable 32-bit Applications) и установить в положение True. Если были созданы дополнительные пулы для существующих сайтов, то для каждого из них придется проделать ту же операцию.
Дальше проводим тестирование PHP. В корневую папку веб-сайта (c:\inetpub\wwwroot) помещаем файл index.php с таким содержанием:
<?php phpinfo()?>
Открываем сайт в браузере (http://localhost). Если загрузилось правильно, вы увидите страницу с информацией об установке PHP:

Тестируем PHP

Установка MySQL

Инструкция по установке MySQL на Windows вынесена в отдельную статью.
FAQ
• При запуске сайта возникает ошибка: «Процесс не может получить доступ к файлу, так как он используется другим процессом. (Исключение из 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 можно прописать и другую кодировку.

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