📘 Пункт 2. Базовые навыки (с примерами для PHP)
2.1. Создание первого сайта
В IIS каждый сайт = это:
-
имя сайта (логическое название),
-
корневая папка (где лежат файлы),
-
биндинг (порт, IP, домен).
Пример:
- Открой IIS Manager (inetmgr).
- В левой панели → Sites → Add Website.
- Введи:
-
-
Site name:
MyPhpSite
-
Physical path:
C:\inetpub\php_site
-
Binding:
http
, IP:All Unassigned
, Port:8080
(например).
-
-
-
В браузере перейди:
http://localhost:8080
.
2.2. Application Pools
-
Это как «контейнеры процессов».
-
У каждого пула свои настройки: версия .NET, права пользователя, режим работы.
-
Для PHP нужно:
-
Пул в режиме Integrated.
-
Настроить запуск через FastCGI (php-cgi.exe).
-
Зачем это нужно?
Например, один сайт у тебя может быть на PHP 7.4, а другой — на PHP 8.2. Для этого каждому сайту нужен свой Application Pool.
2.3. Управление сайтами
-
Start / Stop / Restart — управление из IIS Manager.
-
Можно параллельно запускать несколько сайтов (каждый на своём порту или домене).
-
Проверить работу —
http://localhost:порт/
.
2.4. Подключение PHP к IIS
- Скачай PHP for Windows (Non Thread Safe) с windows.php.net.
- Установи PHP Manager for IIS (удобный плагин).
- Подключи FastCGI:
-
-
В IIS Manager → Handler Mappings → Add Module Mapping.
-
Request path:
*.php
-
Module:
FastCgiModule
-
Executable:
C:\php\php-cgi.exe
-
Name:
PHP
.
-
-
- Создай файл
index.php
в папке сайта:
Зайди в браузере на http://localhost:8080/index.php
→ должна открыться страница с настройками PHP.
2.5. Настройка статического сайта (HTML, CSS, JS)
-
Просто положи файлы
.html
,.css
,.js
в папку сайта. -
IIS их отдаст напрямую (без PHP).
-
Это важно: IIS умеет работать и как «чистый» веб-сервер, а PHP — только для динамики.
2.6. Кратко о перспективах
Сейчас у тебя IIS работает как «PHP-хостинг». Но дальше:
-
Можно запускать несколько версий PHP (каждая в своём пуле).
-
Настроить SSL (https://) для безопасности.
-
Сделать виртуальные каталоги для разделения проектов.
-
Подключить URL Rewrite для ЧПУ-ссылок (как в WordPress).
✅ Практическое задание:
- Создай новый сайт в IIS (порт 8080).
- Подключи PHP через FastCGI.
- Запусти
phpinfo()
, убедись что работает. - Добавь в папку ещё файл
index.html
и проверь, что IIS корректно отдаёт его тоже.