← К вики

Установка и настройка IIS

Как установить веб-сервер IIS на Windows Server и разместить первый сайт.

Время: 15 мин · Сложность: ★★☆☆☆

Подходит: ✓ Windows Server 2019 · ✓ Windows Server 2022


Краткое описание

IIS (Internet Information Services) — встроенный веб-сервер Windows. Он устанавливается как роль через Диспетчер серверов или одной командой PowerShell. После установки сервер сразу отдаёт страницы по HTTP — без дополнительных служб и конфигураций.

Когда пригодится

  • Нужен веб-сервер под Windows без установки сторонних пакетов
  • Хостинг ASP.NET или ASP.NET Core приложений
  • Раздача статических файлов или корпоративного сайта

Что понадобится

  • RDP-подключение к серверу
  • Права администратора
  • Открытый порт 80 в брандмауэре (настроим в процессе)

Пошаговая инструкция

1. Установите IIS

Откройте PowerShell с правами администратора — Win+X → «Windows PowerShell (администратор)»:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

Установка займёт 1–2 минуты. В конце появится строка Success: True.

Альтернативно — через GUI: Диспетчер серверов → «Добавить роли и компоненты» → тип установки «На основе ролей» → выберите сервер → поставьте галочку «Веб-сервер (IIS)» → установите.

2. Откройте порт в брандмауэре

New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

Если планируете HTTPS, добавьте и порт 443:

New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow

3. Проверьте, что IIS запустился

Откройте браузер прямо на сервере и перейдите на http://localhost. Должна открыться стандартная страница IIS с синим логотипом и текстом «Internet Information Services».

Или проверьте состояние службы через PowerShell:

Get-Service W3SVC

Статус Running означает, что IIS работает.

4. Разместите свой сайт

Самый простой способ — заменить содержимое стандартного сайта. Скопируйте файлы сайта в:

C:\inetpub\wwwroot\

Файл index.html в этой папке станет главной страницей. Стандартный iisstart.htm можно удалить.

5. Создайте отдельный сайт (для второго домена или порта)

Откройте Диспетчер IIS: Win+Rinetmgr → Enter.

В левой панели разверните дерево сервера → правой кнопкой на «Сайты» → «Добавить веб-сайт»:

  • Имя сайта — любое, например mysite
  • Физический путь — папка с файлами сайта, например C:\sites\mysite
  • Тип — HTTP
  • Порт — 80 (или другой, если порт уже занят стандартным сайтом)
  • Имя узла — домен, например example.com (оставьте пустым для доступа по IP)

Нажмите «ОК». Сайт появится в списке и запустится автоматически.

Создайте папку для файлов:

New-Item -ItemType Directory -Path "C:\sites\mysite"

Проверка результата

Перейдите в браузере (с любого устройства) на http://SERVER_IP. Должна открыться страница вашего сайта или стандартная страница IIS.

Если создали отдельный сайт с привязкой к домену — убедитесь, что DNS-запись A указывает на IP сервера, и откройте http://example.com.

Возможные ошибки

403 Forbidden

У учётной записи IIS_IUSRS нет прав на чтение папки с сайтом. Откройте свойства папки → «Безопасность» → «Изменить» → «Добавить» → введите IIS_IUSRS → поставьте «Чтение и выполнение» → «ОК».

Или через PowerShell:

icacls "C:\sites\mysite" /grant "IIS_IUSRS:(OI)(CI)R"

500 Internal Server Error

Ошибка в приложении. Откройте Просмотр событий (eventvwr.msc) → «Журналы Windows» → «Приложение» — там будет подробная трассировка ошибки.

Порт 80 уже занят

Другой процесс использует порт 80. Проверьте, какой:

netstat -ano | findstr ":80 "

По PID из вывода найдите процесс в диспетчере задач. Часто это Skype или другой веб-сервер.

FAQ

Как добавить HTTPS?

В Диспетчере IIS выберите сайт → «Привязки» → «Добавить» → тип HTTPS, порт 443, выберите SSL-сертификат. Сертификат предварительно нужно импортировать в хранилище сертификатов Windows или получить через Win-ACME (бесплатные сертификаты Let's Encrypt).

Как настроить привязку к домену?

При создании сайта или через «Привязки» укажите «Имя узла» — например example.com. IIS будет направлять запросы к этому сайту только если в заголовке Host указан этот домен.

Где хранятся логи IIS?

По умолчанию в C:\inetpub\logs\LogFiles\. Каждый сайт пишет в отдельную папку (W3SVC1, W3SVC2 и т. д.). Логи в формате W3C Extended, читаются любым текстовым редактором или Log Parser.

Полезные ссылки

Следующие статьи

Сейчас работают только те cookie, без которых сайт не откроется. Разрешите ещё аналитические — будем видеть, где интерфейс мешает, и чинить это.