Установка и настройка WEB-сервера IIS, PHP и MySQL на Windows Server 2012
IIS — служба Microsoft Windows, предназначенная для развертывания web-сервера. Служба IIS является отдельной функцией ОС, и изначально она не установлена.
Установка для Windows Server 2012
Устанавливаем и настраиваем службу IIS
Заходим в «Диспетчер серверов», нажимаем на вкладку «Управление» и выбираем «Добавить роли и компоненты».
Откроется «Мастер добавления ролей и компонентов». В разделе «Перед началом работы» ознакомимся с информацией и нажмем кнопку «Далее».
В разделе тип «Тип установки» выбираем «Установка ролей или компонентов» и жмем «Далее»
Ставим флажок на «Выберите сервер из пула серверов», выбираем сервер и нажимаем «Далее».
Отмечаем «Веб-сервер (IIS)».
Появится окно, в нем необходимо нажать «Добавить компоненты». Затем нажимаем «Далее».
После этого откроется информационный раздел «Роль веб-сервера (IIS)», ознакомить с ним и нажмите «Далее».
Открываем «Службы ролей», и в «Разработке приложений» отмечаем все, кроме «Инициализация приложений».
После этого появится надпись об отсутствии исходников. Интернет должен быть включен, нажимаем «Установить», далее установка пройдет в автоматическом режиме.
По окончанию инсталляции настраиваем веб-сервер IIS.
Открываем «Диспетчер серверов» переходим в «IIS» нажимаем «Средства», и из списка выбираем «Диспетчер служб IIS».
Мы видим созданный веб-сайт. Для его просмотра на правой панели нажимаем «Обзор *:80 (http)»
При его просмотре откроется приветственная страница.
Устанавливаем PHP
Для установки PHP потребуется скачать PHP Manager for IIS и необходимую вам версию PHP (рекомендуем 5.6.40).
Скачиваем архив с файлами PHP и распаковываем его в С:\php.
Затем скачиваем и устанавливаем PHP Manage For IIS. Дальше везде кликаем «Next».
По окончанию инсталляции в Диспетчере служб IIS появится иконка «Администратор PHP». Кликаем по ней.
Далее нажимаем «зарегистрировать новую версию PHP».
При регистрации переходим в папку С:\php и выбираем файл «php-cgi.exe».

Проверяем работоспособность РНР. В этой же вкладке кликаем «проверить phpinfo()».
Если при открытии тестовой страницы появилась ошибка «HTTP 500.0 — Internal Server Error», то нужно установить пакет Visual C++ для Visual Studio 2012.
Для этого переходим на сайт Microsoft и скачиваем «Распространяемый пакет Visual C++ для Visual Studio 2012 Обновление 4».
Затем устанавливаем его на сервере и снова нажимаем «проверить phpinfo()».
Устанавливаем MySQL
Скачиваем версию MySQL необходимую для вашего проекта и запускаем установщик.
Читаем лицензионное соглашение, ставим галочку и нажимаем «Next».
Выбираем «Developer Default» и нажимаем «Next».
Затем нажимаем «Execute» и ждем пока установщик проверит конфигурацию, при необходимости загрузит недостающие компоненты, а затем нажмем «Next».
Соглашаемся с лицензией и запускаем установку.
Параметры сети для MySQL сервера оставляем по умолчанию и нажимаем «Next».
Задаем пароль для root пользователя и нажимаем «Next».
Дальнейшие настройки оставляем по умолчанию и и нажимаем «Next».
Присоединяемся к серверу MySQL серверу.
Принимаем настройки и нажимаем «Finish».
Откроется MySQL Workbench нажмем на «Local instance MySQL» и в появившемся окне введем заданный ранее пароль.
Откроется окно управления нашим MySQL-сервером.
Установка модуля rewrite
Скачиваем Модуль переопределения URL-адресов (URLRewriter) 2.0 для IIS с сайта Microsoft.
Запускаем установщик, читаем лицензионное соглашение, ставим галочку о согласии и нажимаем «Установить».
Ждем завершения установки и нажимаем «Готово»
Установка для Windows Server 2019
Установка для Windows Server 2019 не имеет значительных отличий, но при добавлении ролей и компонентов не нужно указывать «.NET Extensibility» 3.5 и «ASP.NET 3.5».
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Установка и настройка веб-сервера IIS + PHP + MySQL
Чаще всего, PHP и MySQL устанавливается на серверы с Linux. Однако, при необходимости, можно настроить запуск и обработку PHP скриптов на Windows. Версии последней могут быть разные, например, Server 2008/2012/2016/2019 или не серверные системы, такие как, 7/8/10. Данная инструкция подойдет как для чайника, так и опытного специалиста (в качестве шпаргалки).
Установка IIS
Если откроется окно с приветствием, нажимаем Далее:
При выборе типа установки выбираем Установка ролей или компонентов:
При выборе целевого сервера оставляем локальный сервер (или выбираем удаленный, если установка выполняется из удаленной консоли):
Также среди ролей в подразделе «Разработка приложений» ставим галочку для установки CGI — этот компонент нам нужен для работы PHP:
Выбор служб ролей — нажимаем далее или, при необходимости, выбираем FTP-сервер:
В следующем окне ставим галочку Автоматический перезапуск конечного сервера, если требуется и кликаем по Установить:
Дожидаемся окончания процесса установки.
Сразу после установки IIS запускается автоматически. Но, если что, его можно запустить с помощью команды iisreset:
* если выполнить данную команду без опций, то она перезапустить веб-сервер.
Также мы можем открыть диспетчер служб (команда services.msc) и перезапустить Службу веб-публикаций:
Открываем браузер и вводим адрес http://localhost — должен открыться стартовый портал:
Развертывание отдельного сайта
Мы можем пропустить данный пункт, если хотим использовать сайт по умолчанию. Однако, в данной инструкции мы разберем пример, когда для сайта на PHP будет создана отдельная настройка.
Заполняем данные для нового сайта:
После заходим в каталог с сайтом (в нашем примере, это C:\inetpub\wwwroot\php) и создадим в нем файл index.html со следующим содержимым:
Hello from PHP site
Открываем браузер и переходим на созданный сайт, например, как в нашей инструкции — http://php.dmosk.ru. Мы должны увидеть страницу с написанным нами текстом:
Тестовый сайт создан.
Установка PHP
Откроется страница с несколькими версиями пакета — там как мы ставим PHP как FastCGI, нам нужна версия «Non Thread Safe» (не потокобезопасная), так как она будет работать быстрее. И так, скачиваем zip-архив на сервер:
Для установка PHP на Windows достаточно просто распаковать содержимое архива в любой каталог, например, C:\Program Files\PHP:
Делаем копию файла php.ini-production и переименовываем его в php.ini:
Открываем на редактирование данный файл и правим следующее:
open_basedir = C:\inetpub\wwwroot
.
cgi.force_redirect = 0
.
short_open_tag = On
* где open_basedir — директория, в которой будут разрешены PHP-скрипты; cgi.force_redirect — указывает будет ли скрипты обрабатываться при прямом запросе или только при запросе от веб-сервера. В IIS запросы контролируются самим веб-сервером, поэтому опция может оказать обратный эффект; short_open_tag — позволяет использовать короткий вид открывающих тегов для PHP.
cd «C:\Program Files\PHP»
Мы должны получить список подключенных модулей:
[PHP Modules]
bcmath
calendar
Core
ctype
.
Но если мы получим ошибку, связанную с отсутствием файла VCRUNTIME140.dll:
. необходимо установить Microsoft Visual C++ Redistributable. Переходим на страницу https://www.microsoft.com/ru-RU/download/details.aspx?id=52685 и скачиваем компонент:
После загрузки, устанавливаем его на сервер, после чего, снова пробуем вывести на экран модули php:
Настройка сайта на IIS для работы с PHP
В меню справа кликаем по Добавить сопоставление модуля:
Нажимаем OK и подтверждаем действие. Сопоставление создано.
Теперь заходим в Документ по умолчанию:
. и добавляем новый документ:
* в данном примете мы указываем, что по умолчанию сервер будет искать файл index.php, если таковой не указан явно в запросе.
Открываем в проводнике папку, в которой находятся файлы сайта (в нашем примере, C:\inetpub\wwwroot\php). Создаем файл index.php с содержимым:
Открываем браузер и снова переходим на наш сайт — мы должны увидеть страницу с информацией о php:
PHP Manager в IIS
Для того, чтобы упростить настройку PHP мы можем установить диспетчер PHP для IIS. Для этого переходим по ссылке https://www.iis.net/downloads/community/category/manage и переходим по ссылке для скачивания стабильной версии php-менеджера:
Выполняем установку на сервере, запустив загруженный файл. Открываем диспетчер управления IIS — мы должны увидеть PHP Manager:
Установка MySQL
На следующей странице выбираем для скачивания mysql-installer-community:
В открывшемся окне кликаем по No thanks, just start my download:
В следующем окне кликаем по Execute:
. и дожидаемся установки СУБД:
Откроется окно конфигурации MySQL — нажимаем Next:
Выбираем установку одиночного сервера MySQL:
Оставляем все значения по умолчанию для настроек сети:
Требуем сложные пароли:
Вводим дважды пароль для пользователя root:
* также, на данном этапе мы можем сразу добавить новых пользователей.
Устанавливаем СУБД как сервис и стартуем его:
Настройки готовы для применения — нажимаем Execute:
Дожидаемся применения настроек и кликаем по Next:
Установка завершена — нажимаем Finish.
Сервер баз данных готов к использованию.
По умолчанию, PHP поддерживаем mysql — в этом можно убедиться на странице phpinfo, найдя раздел mysqlnd:
Установка 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.
Установка завершена, это было несложно. Finish.
Находим в установленных программах Web Platform Installer и запускаем.
Ждём. Открывается окошко.
Обещают установить три модуля:
Полетела установка. Но взлетела не очень высоко.
We’re sorry. The following product have failed to install.
PHP Manager for IIS не поставился, ай-ай-ай, как печально. Зато поставилось куча всего другого, что нам поставить не обещали:
Ладно, если что, лишний PHP удалю потом. Давайте решим вопрос с PHP Manager for IIS. Гуглим ссылочку:
Нажимаем Download this extension.
OK. Запускается мастер установки.
Принимаем лицензионное соглашение, Next.
В IIS появляется новая оснастка под названием PHP Manager.
Внутри не сложно, разобраться можно.
Для каждого сайта можно выбирать свою PHP версию, регистрировать новые, управлять расширениями и т.д.
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Windows Server. Добавляем поддержку PHP веб-серверу IIS.
В прошлой статье мы рассказывали как настроить веб-сервер IIS для запуска на нем ASP.NET приложений. Не менее популярным языком для веб-приложений является PHP, поддержка которого позволит запускать на нашем сервере большое число популярных CMS, разработанных с его применением. Тем более что установить PHP для веб-сервера IIS довольно просто.
Сразу внесем ложку дегтя в бочку с медом. Большинство популярных решений на базе PHP не поддерживают работу с СУБД MS SQL, для их работы потребуется также установить MySQL, что несколько выходит за рамки этой статьи.
Учитывая, что большинство из них разрабатываются для платформы LAMP, то их взаимоотношения с MS SQL Server еще долгое время будут оставаться напряженными. Даже Joomla 2.5, в которой заявлена поддержка MS SQL содержит большое число ошибок реализации данного механизма, что практическое использование данной связки не представляется возможным.
Поэтому, если вам необходимо использовать массовые CMS разработанные для связки PHP + MySQL, то мы бы советовали все-таки обратить внимание на решения на платформе Linux.
В тоже время вы можете использовать связку PHP + IIS + MS SQL для разработки собственных решений или при использовании PHP движков поддерживающих данную СУБД, например старшие версии Битрикс. В следующих статьях мы также расскажем, как установить MySQL на платформу Windows, если вы все таки решите использовать IIS для запуска популярных PHP систем управления сайтом.
Итак, что нам понадобиться, чтобы установить PHP для IIS? Прежде всего сам PHP, скачиваем его с официального сайта в виде msi инсталлятора, также хотим обратить ваше внимание, что скачивать нужно потоконебезопасную (Non Thread Safe) версию.
За безопасность потоков в нашем случае будет отвечать IIS, при установке потокобезопасной версии вы можете столкнуться с неожиданным (вплоть до полной неработоспособности) поведением скриптов. Несмотря на то, что последней версией PHP является 5.4, мы будем использовать 5.3, так как еще не все популярные скрипты полностью совместимы с последней версией PHP.
Теперь можно запускать инсталлятор PHP, путь установки лучше заменить на более короткий и без пробелов, например C:\PHP, в соответствующем окне выбираем режим работы IIS FastCGI. Все необходимые настройки PHP и IIS будут сделаны автоматически.
Для работы с СУБД MS SQL установим драйвер Microsoft Drivers 3.0 for PHP for SQL Server, также мы рекомендуем установить Windows Cache Extension for PHP, чтобы PHP приложения могли эффективно кэшировать данные, работая на платформе Windows. Для установки необходимо указать папку с расширениями PHP, в нашем случае это C:\PHP\ext, куда будут распакованы необходимые библиотеки.
В файл C:\PHP\php.ini добавим следующие строки, которые обеспечат подключение и загрузку необходимых модулей:
Также советуем обратить внимание на следующие опции:
Первая задает максимальный размер загружаемого через PHP файла, по умолчанию 2 Мб, вторая максимально доступный размер памяти, которую может использовать скрипт. Вы можете откорректировать данное значение исходя из требований PHP-приложений и имеющейся в наличии свободной памяти.
Также мы советуем установить модуль URL Rewrite Module 2.0, после чего перезапустите веб-сервер через оснастку Диспетчер служб IIS.
После чего при помощи этой оснастки создадим новый сайт phpsite.local, для обращения к нему по URL не забудьте добавить соответствующие записи в файлы hosts на клиентах или A-запись на вашем DNS-сервере.
Установим необходимые права на папку с сайтом, чтобы PHP имел доступ к содержимому папки необходимо добавить полные права, кроме группы IIS_IUSRS, также группе IUSR.
Для проверки создадим в корневом каталоге сайта файл index.php со следующим содержимым:
Теперь на клиентской машине в браузере наберем http://phpsite.local, если все сделано правильно вы должны увидеть следующую страницу:
На этом установку и настройку PHP для веб-сервера IIS можно считать успешно завершенной. Моно приступать к размещению и запуску своих приложений, написанных с применением этого языка. В следующей статье мы дополним наш сервер СУБД MySQL, что позволит вам запускать весь спектр популярных PHP-приложений.











































































































