Найти тему
IT - Это просто

Установка и настройка веб-сервера IIS + PHP + MySQL

Оглавление

Вступайте в группу - vk.com/mrsisadm - там больше интересного!!!

Чаще всего, PHP и MySQL устанавливается на серверы с Linux. Однако, при необходимости, можно настроить запуск и обработку PHP скриптов на Windows. Версии последней могут быть разные, например, Server 2008/2012/2016/2019 или не серверные системы, такие как, 7/8/10. Данная инструкция подойдет как для чайника, так и опытного специалиста (в качестве шпаргалки).

Установка IIS

Для установки веб-сервера, открываем Диспетчер серверов - переходим в Управление - Добавить роли и компоненты :

-2

Если откроется окно с приветствием, нажимаем Далее :

-3

При выборе типа установки выбираем Установка ролей или компонентов :

-4

При выборе целевого сервера оставляем локальный сервер (или выбираем удаленный, если установка выполняется из удаленной консоли):

-5

Среди ролей выбираем Веб-сервер (IIS) - во всплывающем окне кликаем по Добавить компоненты :

-6

Также среди ролей в подразделе «Разработка приложений» ставим галочку для установки CGI — этот компонент нам нужен для работы PHP:

-7

При выборе компонентов ничего не меняем - нажимаем Далее :

-8

Откроется окно настройки роли веб-сервера - просто нажимаем Далее :

-9

Выбор служб ролей — нажимаем далее или, при необходимости, выбираем FTP-сервер :

-10

В следующем окне ставим галочку Автоматический перезапуск конечного сервера, если требуется и кликаем по Установить :

-11

Дожидаемся окончания процесса установки.

Сразу после установки IIS запускается автоматически. Но, если что, его можно запустить с помощью команды iisreset:

iisreset /start

* если выполнить данную команду без опций, то она перезапустить веб-сервер.

Также мы можем открыть диспетчер служб (команда services.msc ) и перезапустить Службу веб-публикаций :

-12

Открываем браузер и вводим адрес http://localhost — должен открыться стартовый портал:

-13

Развертывание отдельного сайта

Мы можем пропустить данный пункт, если хотим использовать сайт по умолчанию. Однако, в данной инструкции мы разберем пример, когда для сайта на PHP будет создана отдельная настройка.

Открываем Диспетчер серверов - кликаем по Средства - Диспетчер служб IIS :

-14

Находим раздел сайты - кликаем правой кнопкой мыши по Добавить веб-сайт... :

-15

Заполняем данные для нового сайта:

-16

* где:

  • Имя сайта — произвольно имя будущего сайта.
  • Физический путь — путь до папки на сервере, где будут расположены файлы сайта.
  • Тип — тип соединения (http или https ). Для первого запуска обойдемся http. При необходимости, его можно всегда поменять или использовать оба типа одновременно.
  • IP-адрес — если на сервере много IP-адресов, то мы можем выбрать конкретный, на котором будет работать сайт.
  • Порт — сетевой порт, на котором будет работать сайт. Как правило, это 80 для http или 443 для https.
  • Имя узла — доменное имя сайта, при обращении по которому должен открываться создаваемый сайт.

После заходим в каталог с сайтом (в нашем примере, это C:\inetpub\wwwroot\php) и создадим в нем файл index.html со следующим содержимым:

<h1>Hello from PHP site</h1>

Открываем браузер и переходим на созданный сайт, например, как в нашей инструкции — http://php.dmosk.ru . Мы должны увидеть страницу с написанным нами текстом:

-17

Тестовый сайт создан.

PHP

Установка PHP

Для установки php на Windows переходим на страницу загрузки PHP - выбираем нужную нам версию, например, последнюю стабильную и переходим по ссылке для загрузки версии для Windows:

-18

Откроется страница с несколькими версиями пакета — там как мы ставим PHP как FastCGI, нам нужна версия «Non Thread Safe» (не потокобезопасная), так как она будет работать быстрее. И так, скачиваем zip-архив на сервер:

-19

Для установка PHP на Windows достаточно просто распаковать содержимое архива в любой каталог, например, C:\Program Files\PHP:

-20

Делаем копию файла php.ini-production и переименовываем его в php.ini:

-21

Открываем на редактирование данный файл и правим следующее:

open_basedir = C:\inetpub\wwwroot
...
cgi.force_redirect = 0
...
short_open_tag = On

* где open_basedir — директория, в которой будут разрешены PHP-скрипты; cgi.force_redirect — указывает будет ли скрипты обрабатываться при прямом запросе или только при запросе от веб-сервера. В IIS запросы контролируются самим веб-сервером, поэтому опция может оказать обратный эффект; short_open_tag — позволяет использовать короткий вид открывающих тегов для PHP.

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

cd "C:\Program Files\PHP"

Запускаем php с параметром -m:

php -m

Мы должны получить список подключенных модулей:

[PHP Modules]
bcmath
calendar
Core
ctype
...

Но если мы получим ошибку, связанную с отсутствием файла VCRUNTIME140.dll:

-22

... необходимо установить Microsoft Visual C++ Redistributable. Переходим на страницу https://www.microsoft.com/ru-RU/download/details.aspx?id=52685 и скачиваем компонент:

-23

После загрузки, устанавливаем его на сервер, после чего, снова пробуем вывести на экран модули php:

php -m

Настройка сайта на IIS для работы с PHP

И так, веб-сервер поднят, PHP установлено, сайт работает. Настроим связку IIS + PHP. Открываем панель управления IIS - переходим к созданному сайту и кликаем по Сопоставления обработчиков :

-24

В меню справа кликаем по Добавить сопоставление модуля :

-25

Заполняем поля:

-26

* где:

  • Путь запроса — путь к файлам, при вызове которых действует сопоставление. В данном примере для всех файлов, заканчивающихся на php.
  • Модуль — действующий модуль для обработки запроса.
  • Исполняемый файл — файл, который будет выполнять обработку запроса. В данном примере мы выбрали файл из скачанного и распакованного нами архива PHP.
  • Имя — произвольное имя для сопоставления.

Нажимаем OK и подтверждаем действие. Сопоставление создано.

Теперь заходим в Документ по умолчанию :

-27

... и добавляем новый документ:

-28

* в данном примете мы указываем, что по умолчанию сервер будет искать файл index.php , если таковой не указан явно в запросе.

Открываем в проводнике папку, в которой находятся файлы сайта (в нашем примере, C:\inetpub\wwwroot\php). Создаем файл index.php с содержимым:

<?php

phpinfo();

?>

Открываем браузер и снова переходим на наш сайт — мы должны увидеть страницу с информацией о php:

-29

PHP Manager в IIS

Для того, чтобы упростить настройку PHP мы можем установить диспетчер PHP для IIS. Для этого переходим по ссылке https://www.iis.net/downloads/community/category/manage и переходим по ссылке для скачивания стабильной версии php-менеджера:

-30

Скачиваем дополнение:

-31

Выполняем установку на сервере, запустив загруженный файл. Открываем диспетчер управления IIS — мы должны увидеть PHP Manager:

-32

Установка MySQL

MySQL для Windows можно скачать бесплатно. Переходим на страницу https://dev.mysql.com/downloads/mysql/ - выбираем операционную систему Microsoft Windows - кликаем по Go to Download Page :

-33

На следующей странице выбираем для скачивания mysql-installer-community :

-34

В открывшемся окне кликаем по No thanks, just start my download :

-35

Начнется загрузка файла для установки MySQL. Дожидаемся скачивания и запускаем установочный файл - в открывшемся окне выбираем Server only :

-36

В следующем окне кликаем по Execute :

-37

... и дожидаемся установки СУБД:

-38

Откроется окно конфигурации MySQL — нажимаем Next :

-39

Выбираем установку одиночного сервера MySQL:

-40

Оставляем все значения по умолчанию для настроек сети:

-41

Требуем сложные пароли:

-42

Вводим дважды пароль для пользователя root:

-43

* также, на данном этапе мы можем сразу добавить новых пользователей.

Устанавливаем СУБД как сервис и стартуем его:

-44

Настройки готовы для применения — нажимаем Execute :

-45

Дожидаемся применения настроек и кликаем по Next :

-46

Настройка завершена:

Установка завершена — нажимаем Finish .

Сервер баз данных готов к использованию.

По умолчанию, PHP поддерживаем mysql — в этом можно убедиться на странице phpinfo, найдя раздел mysqlnd :