Инструкция как настроить веб-сервера IIS + PHP + MySQL на локальном Windows 7
Будьте всегда в курсе, подпишитесь:
Установка веб-сервера IIS
Открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. Находим в списке раздел «Службы IIS». Раскрываем его и выбираем нужные компоненты:
Устанавливаем компоненты веб-сервера
Базовый набор:
• Безопасность. Выбираем все компоненты, кроме «Проверка подлинности с сопоставлением сертификата …».
• Компоненты разработки приложений. В принципе, нужна только компонента CGI для последующей установки PHP.
• Общие функции HTTP. Отмечаем все пункты.
• Проверка работоспособности и диагностика. Выбираем «Ведение журнала HTTP» и «Монитор запросов».
• Функции повышения быстродействия. Отмечаем все пункты.
• Средства управления веб-сайтом. Отмечаем только «Консоль управления IIS».
Когда все пункты выбраны, нажимаем «Ок». Когда установка закончена, надо обязательно перезагрузиться!
Теперь переходим к созданию веб-сайта. Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (можно быстрее: меню Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). В открывшемся окне раскрываем группу «Службы и приложения» и открываем «Диспетчер служб IIS». В окне «Подключения» выбираем папку «Сайты», потом в правом окне Действия нажимаем на ссылку «Добавить веб-сайт».
Создаем новый веб-сайт (1)
Затем надо указать имя веб-сайта и месторасположение его файлов (по умолчанию 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:
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 с таким содержанием:
Открываем сайт в браузере (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 можно прописать и другую кодировку.
Установка PHP 7.3.1 на IIS 10
Расскажу вам о наиболее оптимальном способе установки PHP на IIS. Ставить будем PHP 7.3.1 на IIS 10. IIS крутится на сервере с Windows Server 2016. Раньше я устанавливал PHP руками, помните, что для Windows нужно выбирать PHP NTS версию.
If you are using PHP as FastCGI with IIS you should use the Non-Thread Safe (NTS) versions of PHP.
Однако, на этот раз я решил последовать совету с официального сайта. На php.net немного коряво написано:
Если вы хотите настроить PHP используя в качестве веб-сервера IIS, то проще всего это сделать используя
Microsoft Web Platform Installer (WebPI) .
Нажимаем зелёную кнопку Install this extension и качаем инсталлятор.
Открывается мастер установки WebPI.
Принимаем лицензионное соглашение — Install.
Установка завершена, это было несложно. Finish.
Находим в установленных программах Web Platform Installer и запускаем.
Ждём. Открывается окошко.
Кликаем на вкладку Products . Слева выбираем Frameworks . Находим в списке PHP 7.3.1 — не самая новая, но меня устроит.
Тыкаем в Add . На самом деле здесь много чего можно найти интересного, например, MySQL, правда, не очень новой версии. В разделе Server нахожу URL Rewrite 2.1 — расширение для IIS. Мне потом понадобится, тоже добавляю. К установке PHP оно не относится, вам может и не нужно.
Обещают установить три модуля:
- PHP 7.3.1 (x64)
- PHP Manager for IIS — полезная штука для управления PHP из оснастки IIS.
- URL Rewrite 2.1 — мне надо.
Соглашаемся — I Accept .
Полетела установка. Но взлетела не очень высоко.
We’re sorry. The following product have failed to install.
PHP Manager for IIS не поставился, ай-ай-ай, как печально. Зато поставилось куча всего другого, что нам поставить не обещали:
- RunPHP Helper — не догадываюсь для чего оно, но пусть помогает.
- Microsoft Visual C++ 2008 Redistributable Package — это, наверное, нужно для работы моего URL Rewrite 2.1.
- URL Rewrite 2.1 — хорошо.
- PHP 5.3.28 — ээээ, я не просил, ладно, пусть полежит.
- PHP 7.3.1 (x64) — вот то что надо.
Ладно, если что, лишний PHP удалю потом. Давайте решим вопрос с PHP Manager for IIS. Гуглим ссылочку:
Установка и настройка PHP и MySQL на IIS сервер
Инструкция по установке и настройке IIS, PHP и MySQL на VPS с операционной системой Windows Server.
Что это такое?
Веб-сервер IIS представляет собой встроенную платформу для работы с сайтами на VPS с ОС Windows. Поддерживает настройку большого количества дополнительных модулей и приложений, в том числе PHP и MySQL, являющимися стандартами де-факто.
Аналогом связки является WAMP-стек, в котором вместо IIS используется веб-сервер Apache.
Данный набор ПО часто называют стеком, потому что каждый уровень зависит от его базового (нижнего) уровня. Ваша операционная система Windows — это базовый уровень. Затем IIS, ваш веб-демон IIS находится поверх ОС. Затем база данных хранит всю информацию, обслуживаемую веб-демоном, а любой язык сценариев P* используется для управления и отображения всех данных, а также для взаимодействия с пользователем.
Установка IIS
Подключитесь к виртуальному серверу Windows с правами суперпользователя.
Зайдите в Диспетчер серверов, в правом верхнем углу выберете Управление -> Добавить роли и компоненты.
Выберете тип: установка ролей и компонентов.
Выберете сервер из пула и нажмите Далее.
На следующем шаге отметьте галочкой нужную нам роль — Веб-сервер IIS.
На следующем этапе важно отметить дополнительный компонент “Функции .NET Framework 3.5”, по желанию можно отметить дополнительные составляющие, но для базовой работы IIS они не являются необходимыми. В результате выполните установку веб-сервера, он отобразится в диспетчере.
Установщик веб-платформы
Необходимо установить сервис под названием Установщик веб-платформы, с помощью которого будет происходить установка PHP и MySQL. Откройте диспетчер служб IIS как показано на изображении.
В вертикальном меню справа выберете “Получить новые компоненты веб-платформы”.
Вы будете перенаправлены на веб-сайт в браузере по умолчанию. Скачайте данный сервис и установите его.
Примечание: если у вас не получается скачать файл в IE из-за настроек безопасности, необходимо их отключить.
Примечание: чтобы открыть приложение, выберете тот же пункт меню “Получить новые компоненты веб-платформы”.
Виртуальный сервер на базе Windows
- Лицензия включена в стоимость
- Тестирование 3-5 дней
- Безлимитный трафик
Настройка PHP и MySQL на IIS
Зайдите в Установщик веб-платформы, с помощью поиска найдите последнюю доступную версию MySQL и PHP и нажмите Добавить.
Затем установите выбранные приложения.
Перед вами появится окно для ввода пароля для суперпользователя СУБД.
Примечание: при возникновении ошибок проверьте присутствие .NET Framework 3.5.
Если он установлен, возможно, вы столкнулись с проблемой, известной в поздних версиях IIS: ошибкой проверки сигнатур при загрузке пакетов установки PHP Manager. В этом случае установите PHP Manager вручную из инсталлятора, доступного на Github. После установки таким способом при проверке компонентов PHP может появиться информация о несоответствии версий этих компонентов. Сообщение можно проигнорировать.
Проверка
Проверить корректность установки на IIS можно следующем образом. В диспетчере служб появится иконка Администратор PHP.
Откройте утилиту и перейдите по ссылке “Проверить phpinfo()”.
В появившемся окне выберете сайт для проверки.
В результате должна отобразиться похожая страница.
Для проверки установки СУБД откройте PowerShell и перейдите в директорию с помощью команды:
cd “C:\Program Files\MySQL\MySQL Server 5.5\bin”