Полное руководство по развертыванию веб-сервера для локальной сети
🔹 Введение: Что такое IIS и зачем он нужен?
IIS (Internet Information Services) — это мощный веб-сервер от Microsoft, встроенный в Windows Server. Он предназначен для хостинга веб-сайтов, веб-приложений и служб.
Основные возможности IIS:
- ✅ Хостинг веб-сайтов — поддержка HTML, CSS, JavaScript
- ✅ Безопасность — аутентификация, авторизация, SSL
- ✅ Масштабируемость — балансировка нагрузки, пулы приложений
- ✅ Управление — графический интерфейс и PowerShell
Сценарии использования в локальной сети:
- Внутренние корпоративные порталы
- Веб-интерфейсы для бизнес-приложений
- Тестовые среды для разработчиков
- Файловые хранилища с веб-доступом
- Документооборотные системы
🔹 1. Установка роли Web-сервера (IIS)
1.1. Предварительные требования
Системные требования:
- Windows Server 2012 Standard или Datacenter
- Минимум 512 МБ ОЗУ (рекомендуется 2 ГБ+)
- 1 ГБ свободного места на диске
- Статический IP-адрес
Сетевые требования:
- Настроенный сетевой интерфейс
- Открытый порт 80 (HTTP) и/или 443 (HTTPS)
- Разрешения в брандмауэре
1.2. Установка через Диспетчер серверов
- Запустите Диспетчер серверов
2. Добавление ролей и компонентов:
Нажмите "Добавить роли и компоненты"
Выберите "Установка ролей или компонентов" → "Далее"
3. Выбор сервера:
Выберите текущий сервер из пула серверов
Нажмите "Далее"
4. Выбор ролей сервера:
Отметьте "Веб-сервер (IIS)"
Появится окно добавления компонентов — нажмите "Добавить компоненты"
Нажмите "Далее"
5. Выбор служб ролей:
Основные службы (обязательно):
✅ HTTP-общие функции
✅ Документ по умолчанию
✅ Обзор каталогов
✅ Ошибки HTTP
✅ Статическое содержимое
Службы приложений (рекомендуется):
✅ Поддержка .NET 3.5
✅ Поддержка .NET 4.5
✅ ASP.NET 3.5
✅ ASP.NET 4.5
Службы работоспособности и диагностики:
✅ Ведение журнала HTTP
✅ Средства ведения журнала
✅ Монитор запросов
6. Подтверждение установки:
Просмотрите выбранные компоненты → "Далее"
Нажмите "Установить"
Дождитесь завершения установки
Нажмите "Закрыть"
1.3. Установка через PowerShell
# Установка роли Web-сервера IIS с основными компонентами
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
# Установка с дополнительными компонентами .NET
Install-WindowsFeature -Name Web-Server, Web-ASP, Web-ASP-Net45, Web-Net-Ext45
# Проверка установленных компонентов
Get-WindowsFeature -Name Web-* | Where-Object InstallState -eq "Installed"
🔹 2. Проверка установки и базовой работы
2.1. Тестирование работы IIS
- Откройте браузер на сервере
- Перейдите по адресу: http://localhost или http://127.0.0.1
- Должна появиться стартовая страница IIS 8
2.2. Открытие портов в брандмауэре
В PowerShell ввести следующие команды:
# Разрешение HTTP трафика (порт 80)
netsh advfirewall firewall add rule name="HTTP (IIS)" dir=in action=allow protocol=TCP localport=80
# Разрешение HTTPS трафика (порт 443)
netsh advfirewall firewall add rule name="HTTPS (IIS)" dir=in action=allow protocol=TCP localport=443
# Проверка открытых портов
netstat -an | findstr ":80"
2.3. Запуск оснастки управления IIS
- Диспетчер серверов → Средства → Диспетчер служб IIS
- Или через меню Пуск: Пуск → Администрирование → IIS Manager
🔹 3. Создание и настройка простого веб-сайта
3.1. Подготовка структуры папок
В PowerShell ввести следующие команды:
# Создание папки для сайта
New-Item -Path "C:\WebSites" -Name "MyCompanySite" -ItemType Directory
# Создание подпапок
New-Item -Path "C:\WebSites\MyCompanySite" -Name "wwwroot" -ItemType Directory
New-Item -Path "C:\WebSites\MyCompanySite" -Name "logs" -ItemType Directory
# Настройка прав доступа (если нужно)
icacls "C:\WebSites\MyCompanySite" /grant "IIS_IUSRS:(OI)(CI)RX"
3.2. Создание тестовой веб-страницы
Создайте файл текстовый файл index.txt в папке C:\WebSites\MyCompanySite\wwwroot\
Откройте ваш файл в WordPad и занесите в него следующие данные:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Корпоративный портал компании</title>
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
margin: 0;
padding: 0;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: #333;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
.header {
background: rgba(255, 255, 255, 0.95);
padding: 30px;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
margin-bottom: 20px;
text-align: center;
}
.content {
background: rgba(255, 255, 255, 0.9);
padding: 30px;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
h1 {
color: #2c3e50;
margin-bottom: 10px;
}
.status {
background: #2ecc71;
color: white;
padding: 10px 20px;
border-radius: 20px;
display: inline-block;
margin: 10px 0;
}
.info-box {
background: #f8f9fa;
border-left: 4px solid #3498db;
padding: 15px;
margin: 15px 0;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>🏢 Добро пожаловать в компанию "ТехноПрофи"</h1>
<div class="status">✓ Веб-сервер успешно запущен</div>
<p>Ваш корпоративный портал для внутреннего использования</p>
</div>
<div class="content">
<div class="info-box">
<h3>📊 Системная информация</h3>
<p><strong>Сервер:</strong> Windows Server 2012</p>
<p><strong>Веб-сервер:</strong> IIS 8.0</p>
<p><strong>Дата запуска:</strong> <span id="currentDate"></span></p>
</div>
<div class="info-box">
<h3>🔗 Быстрые ссылки</h3>
<p>• <a href="/documents/">Документы компании</a></p>
<p>• <a href="/contacts/">Контакты отделов</a></p>
<p>• <a href="/news/">Новости и объявления</a></p>
</div>
<div class="info-box">
<h3>📞 Техническая поддержка</h3>
<p>Внутренний телефон: 1111</p>
<p>Email: support@company.local</p>
</div>
</div>
</div>
<script>
// Отображение текущей даты
document.getElementById('currentDate').textContent = new Date().toLocaleDateString('ru-RU');
// Простой мониторинг активности
console.log('Веб-сайт компании загружен успешно');
</script>
</body>
</html>
После этого необходимо сохранить в формате Юникод (Unicode)"
- Файл → Сохранить как
- В диалоговом окне введите имя файла
- В поле "Тип файла" выберите: "Текстовый документ в формате Юникод (Unicode)"
После сохранения измените расширение файла на .html
Теперь можно открыть страницу и посмотреть что получилось.
3.3. Создание сайта через IIS Manager
- Запустите Диспетчер служб IIS
- Разверните узел сервера в левой панели
- Правой кнопкой на "Sites" → "Add Website..."
4. Заполните параметры сайта:
Site name: MyCompanyPortal
Physical path: C:\WebSites\MyCompanySite\wwwroot
Binding:
Type: http
IP address: All Unassigned
Port: 80
Host name: (оставьте пустым)
5. Нажмите OK для создания сайта
3.4. Создание сайта через PowerShell
# Импорт модуля IIS
Import-Module WebAdministration
# Создание нового сайта
New-Website `
-Name "MyCompanyPortal" `
-PhysicalPath "C:\WebSites\MyCompanySite\wwwroot" `
-Port 80 `
-HostHeader "" `
-Force
# Запуск сайта
Start-Website -Name "MyCompanyPortal"
# Проверка состояния
Get-Website -Name "MyCompanyPortal"
🔹 4. Настройка доступа в локальной сети
4.1. Определение IP-адреса сервера
# Просмотр сетевых настроек
ipconfig
# Или более детальная информация
Get-NetIPAddress -AddressFamily IPv4 | Where-Object {$_.InterfaceAlias -like "*Ethernet*"}
4.2. Настройка привязок сайта
Для доступа по IP-адресу:
- В Диспетчере служб IIS выберите сайт "MyCompanyPortal"
- Правой кнопкой → "Изменить привязки..."
- Добавьте или измените привязку:
IP address: Выберите конкретный IP сервера
Port: 80
Host name: (оставьте пустым)
Через PowerShell:
# Установка конкретного IP для сайта
Set-WebBinding -Name "MyCompanyPortal" -BindingInformation "*:80:" -PropertyName Port -Value 80
Set-WebBinding -Name "MyCompanyPortal" -BindingInformation "*:80:" -PropertyName IPAddress -Value "192.168.1.10"
4.3. Тестирование доступа с других компьютеров
- На клиентском компьютере в той же сети
- Откройте браузер
- Перейдите по адресу: http://192.168.0.1 (замените на IP вашего сервера)
🔹 5. Дополнительные настройки и оптимизация
5.1. Настройка документа по умолчанию
- В Диспетчере служб IIS выберите сайт
- Двойной клик на "Документ по умолчанию"
- Переместите его на первое место
5.2. Включение просмотра каталогов через PowerShell
# Включение просмотра каталогов (если нужно)
Set-WebConfigurationProperty `
-PSPath "IIS:\Sites\MyCompanyPortal" `
-Filter "system.webServer/directoryBrowse" `
-Name "enabled" `
-Value "true"
5.3. Настройка пула приложений
- В Диспетчере служб IIS выберите "Пулы приложений"
- Найдите пул для вашего сайта (обычно с тем же именем)
4. Правой кнопкой → "Расширенные настройки"
5. Основные настройки:
.NET CLR version: v4.0
Режим управляемого конвейера: Integrated
Режим запуска: AlwaysRunning
5.4. Настройка ведения логов через PowerShell
# Настройка логгирования
Set-WebConfigurationProperty `
-PSPath "IIS:\Sites\MyCompanyPortal" `
-Filter "system.webServer/httpLogging" `
-Name "dontLog" `
-Value "false"
# Просмотр логов
Get-ChildItem "C:\inetpub\logs\LogFiles"
🔹 6. Создание виртуальных каталогов
6.1. Добавление папки с документами через PowerShell
# Создание папки для документов
New-Item -Path "C:\WebSites\MyCompanySite\documents" -ItemType Directory
# Создание тестового файла
"<h1>Добро пожаловать в раздел документов</h1><p>Здесь будут храниться корпоративные документы.</p>" |
Out-File -FilePath "C:\WebSites\MyCompanySite\documents\index.html" -Encoding UTF8
Добавление виртуального каталога через Диспетчер служб IIS:
- Правой кнопкой на сайте → "Добавить виртуальный каталог"
2. Псевдоним: documents
Физический путь: C:\WebSites\MyCompanySite\documents
Нажмите OK
6.2. Тестирование виртуального каталога
- Основной сайт: http://192.168.0.1
- Документы: http://192.168.0.1/documents/
🔹 7. Мониторинг и управление
7.1. Просмотр статистики сайта
# Просмотр текущих запросов
Get-WebRequest
# Статистика сайта
Get-Website -Name "MyCompanyPortal" | Format-List *
# Просмотр логов в реальном времени
Get-Content "C:\inetpub\logs\LogFiles\W3SVC1\u_ex$(Get-Date -Format 'yyMMdd').log" -Wait
7.2. Управление состоянием сайта
# Остановка сайта
Stop-Website -Name "MyCompanyPortal"
# Запуск сайта
Start-Website -Name "MyCompanyPortal"
# Перезапуск сайта
Restart-WebItem "IIS:\Sites\MyCompanyPortal"
🔹 8. Устранение неисправностей
8.1. Типичные проблемы и решения
8.2. Команды диагностики
# Проверка работы IIS
Get-Service -Name W3SVC, WAS
# Проверка привязок сайта
Get-WebBinding -Name "MyCompanyPortal"
# Проверка ошибок в логах
Get-EventLog -LogName System -Source "Microsoft-Windows-IIS*" -After (Get-Date).AddHours(-1)
🔹 Заключение
Что мы достигли:
✅ Установили и настроили IIS на Windows Server 2012
✅ Создали функционирующий веб-сайт с корпоративным порталом
✅ Настроили доступ из локальной сети
✅ Добавили виртуальные каталоги для организации контента
✅ Обеспечили базовую безопасность и мониторинг
Дальнейшие шаги для развития:
- Настройка SSL/TLS для защищенного соединения (HTTPS)
- Создание нескольких сайтов с разными привязками
- Интеграция с базой данных для динамического контента
- Настройка аутентификации пользователей домена
- Реализация балансировки нагрузки для отказоустойчивости
- Автоматизация развертывания через Web Deploy
Ваш веб-сервер готов к работе и может использоваться для:
- Внутренних корпоративных порталов
- Демонстрационных сред для разработки
- Файловых хранилищ с веб-интерфейсом
- Хостинга веб-приложений бизнес-логики
IIS предоставляет надежную и масштабируемую платформу для веб-хостинга в корпоративной среде.