Полное руководство: Как развернуть IIS сервер на Windows с нуля

Полное руководство: Как развернуть IIS сервер на Windows с нуля

Internet Information Services (IIS) — это гибкий, безопасный и управляемый веб-сервер от Microsoft, который превращает вашу систему Windows в полноценную платформу для хостинга сайтов, веб-приложений и служб. В этом подробном руководстве мы шаг за шагом разберем, как установить, настроить и запустить ваш первый сайт на IIS, даже если вы никогда этого не делали.

Что такое IIS и зачем он нужен?

IIS — это не просто «веб-сервер для Windows». Это комплексный набор служб, который поддерживает протоколы HTTP, HTTPS, FTP, FTPS, SMTP и другие. Он идеально интегрирован со стеком технологий Microsoft (ASP.NET, .NET Core) и обеспечивает высокую производительность, масштабируемость и централизованное управление через удобный графический интерфейс или PowerShell.

Важно: Для работы IIS требуется операционная система Windows (10 Pro/Enterprise, Windows Server). На домашних редакциях Windows (например, Windows 10/11 Home) установка возможна с ограничениями или не поддерживается.

Пошаговая установка IIS

Шаг 1: Активация роли через «Программы и компоненты»

  1. Откройте Панель управленияПрограммыВключение или отключение компонентов Windows.
  2. В открывшемся окне найдите и разверните узел Службы IIS.
  3. Установите флажки для основных компонентов:
    • Веб-сервер (IIS) — базовая роль.
    • Средства управленияКонсоль управления IIS (для графического интерфейса).
    • Разработка приложений → выберите нужные технологии (например, ASP.NET).
  4. Нажмите OK и дождитесь завершения установки. Система может запросить перезагрузку.

Шаг 2: Проверка установки

После установки откройте браузер и перейдите по адресу http://localhost. Если вы видите стандартную страницу приветствия IIS — установка прошла успешно!

Базовая настройка и запуск первого сайта

Открываем диспетчер IIS

Найдите в меню «Пуск» Диспетчер служб IIS или введите inetmgr в окне «Выполнить» (Win+R).

Создаем структуру папок для сайта

  1. Создайте папку на диске (например, C:\MyWebSite).
  2. Поместите в неё файлы вашего сайта: index.html, изображения, стили.

Добавляем новый сайт

  1. В диспетчере IIS в дереве слева разверните узел вашего сервера.
  2. Щелкните правой кнопкой мыши на Веб-сайтыДобавить веб-сайт...
  3. Заполните поля:
    • Имя сайта: MyFirstSite
    • Физический путь: C:\MyWebSite
    • Привязка: Оставьте тип http, IP-адрес «Все незанятые», порт 80 (или другой свободный, например, 8080). Имя узла можно оставить пустым для локального доступа.
  4. Нажмите OK.

Совет: Если порт 80 занят (например, Skype или другим веб-сервером), используйте порт 8080. Тогда для доступа к сайту в браузере нужно будет указать http://localhost:8080.

Критически важные настройки безопасности

Стандартная установка IIS не является безопасной «из коробки». Обязательно выполните:

  • Удалите ненужные модули и обработчики через «Модули IIS» и «Обработчики сопоставления».
  • Настройте права доступа NTFS на папку с сайтом. Ограничьте права для учётной записи приложения (обычно IUSR или пул приложений).
  • Используйте HTTPS. Создайте самозаверяющий сертификат для тестов или получите бесплатный от Let's Encrypt через расширение «Let's Encrypt» для IIS.
  • Включите ведение журналов для мониторинга запросов и выявления аномалий.

Размещение ASP.NET приложения

Для запуска динамических приложений на .NET:

  1. Убедитесь, что при установке IIS был выбран компонент ASP.NET нужной версии.
  2. Опубликуйте ваше приложение из Visual Studio в папку (например, C:\MyApp).
  3. В диспетчере IIS создайте сайт, указав путь к этой папке.
  4. Настройте пул приложений для этого сайта: щелкните правой кнопкой на пуле → «Основные настройки» → выберите .NET CLR версии, соответствующей вашему приложению, и режим управления конвейером (обычно «Интегрированный»).

Управление через PowerShell (для автоматизации)

Для скриптового развертывания используйте командлеты PowerShell:

  • Установка роли: Install-WindowsFeature -Name Web-Server -IncludeManagementTools
  • Создание сайта: New-Website -Name "MySite" -Port 80 -HostHeader "" -PhysicalPath "C:\site"
  • Создание пула приложений: New-WebAppPool -Name "MyAppPool"

FAQ: Часто задаваемые вопросы

Как проверить, запущен ли IIS?

Откройте «Службы» (services.msc) и найдите «Служба публикации в World Wide Web (W3SVC)». Её статус должен быть «Выполняется». Также можно проверить в браузере по адресу http://localhost.

Почему я получаю ошибку 403.14 или «Каталог запрещен для просмотра»?

В папке сайта отсутствует файл документа по умолчанию (например, index.html, default.aspx). Добавьте его или включите просмотр каталогов в настройках сайта (не рекомендуется для продакшена).

Как разрешить доступ к сайту с других компьютеров в сети?

1. Убедитесь, что в привязке сайта указан IP-адрес «Все незанятые» или конкретный IP вашего ПК в сети. 2. Настройте входящее правило для порта сайта (например, 80 или 8080) в Брандмауэре Windows.

Чем IIS отличается от Apache или Nginx?

IIS — нативное решение для Windows с глубокой интеграцией в ОС и стеком Microsoft. Apache и Nginx — кроссплатформенные, часто используются в связке с Linux. IIS проще в начальной настройке через GUI, обладает мощными инструментами диагностики и отличной поддержкой ASP.NET.

Можно ли использовать IIS для хостинга PHP?

Да! Установите компонент «Поддержка CGI» при установке IIS, а затем скачайте и настройте PHP через FastCGI. Современные версии PHP хорошо работают с IIS.