Windows: различия между версиями

Материал из wiki
Новая страница: «= Windows: подготовка и развёртывание self‑hosted сервисов = Windows — привычная среда для многих администраторов, которая также подходит для размещения облачных сервисов. Благодаря поддержке WSL2 (Windows Subsystem for Linux) и Docker Desktop, вы можете запускать Nextcloud, ZeroTier, VPN-сервер...»
 
м Защитил страницу Windows ([Редактирование=Разрешено только администраторам] (бессрочно) [Переименование=Разрешено только администраторам] (бессрочно))
 
(нет различий)

Текущая версия от 12:23, 4 августа 2026

Windows: подготовка и развёртывание self‑hosted сервисов

Windows — привычная среда для многих администраторов, которая также подходит для размещения облачных сервисов. Благодаря поддержке WSL2 (Windows Subsystem for Linux) и Docker Desktop, вы можете запускать Nextcloud, ZeroTier, VPN-серверы и другие приложения практически так же, как на Linux, сохраняя при этом родной графический интерфейс.

В этой статье описана настройка Windows 10/11 Pro или Windows Server 2019/2022 (рекомендуются редакции Pro/Enterprise, так как в Home ограничена поддержка контейнеров).

1. Подготовка системы

1.1. Активация WSL2 и виртуализации

Для работы Docker Desktop требуется подсистема Windows для Linux (WSL2) и включённая виртуализация в BIOS/UEFI.

Откройте PowerShell от имени администратора и выполните:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Перезагрузите компьютер.

После перезагрузки установите ядро WSL2 (скачайте пакет обновления с [официального сайта](https://learn.microsoft.com/ru-ru/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package)) и выполните:

wsl --set-default-version 2

Теперь можно установить дистрибутив Linux из Microsoft Store (например, Ubuntu 22.04) или через:

wsl --install -d Ubuntu

1.2. Установка необходимых компонентов

Установите актуальные версии:

  • Git for Windows (для клонирования репозиториев)
  • Visual C++ Redistributable (часто требуется для драйверов и утилит)

Также убедитесь, что в системе установлен OpenSSH-клиент (встроен в Windows 10/11, можно активировать в «Управление дополнительными компонентами»).

2. Установка Docker Desktop

Docker Desktop для Windows использует WSL2 для запуска контейнеров, что даёт почти нативную производительность.

  1. Скачайте установщик с [официального сайта Docker](https://www.docker.com/products/docker-desktop/).
  2. Запустите установку, согласившись с лицензией.
  3. В процессе установки отметьте опцию «Use WSL 2 instead of Hyper-V» (рекомендуется).
  4. После завершения перезагрузите компьютер.

При первом запуске Docker Desktop предложит войти в учётную запись (можно пропустить). Убедитесь, что в настройках (Settings → Resources → WSL Integration) включена интеграция с вашим дистрибутивом Ubuntu.

Проверьте работу в PowerShell:

docker --version
docker run hello-world

Также установите Docker Compose (он уже входит в состав Docker Desktop, достаточно проверить):

docker compose version

3. Развёртывание Nextcloud

Есть два основных подхода: через Docker (универсальный) или через официальный установщик для Windows (AIO – All-in-One). Рекомендую Docker, так как он даёт изоляцию и простоту обновлений.

3.1. Способ 1 – Docker Compose

Создайте папку для проекта, например, C:\nextcloud. Внутри создайте файл docker-compose.yml (можно использовать Блокнот, но лучше редактор с подсветкой, например, VS Code):

version: '3'

services:
  db:
    image: mariadb:10.6
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=secretrootpass
      - MYSQL_PASSWORD=secretpass
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud:stable
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - ./data:/var/www/html/data
      - ./config:/var/www/html/config
      - ./apps:/var/www/html/custom_apps
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=secretpass
    depends_on:
      - db

Замените пароли на свои. Откройте PowerShell в этой папке и выполните:

docker compose up -d

Nextcloud будет доступен по адресу http://localhost:8080 (или http://<IP-компьютера>:8080 для доступа с других устройств).

3.2. Способ 2 – официальный установщик Nextcloud AIO

Скачайте установщик с [nextcloud.com](https://nextcloud.com/install/#instructions-server). Запустите Nextcloud.exe, следуйте инструкциям мастера. Этот вариант подходит, если вы хотите минимально возиться с настройкой, но он менее гибкий.

4. Установка ZeroTier

ZeroTier для Windows устанавливается как обычное приложение.

  1. Скачайте MSI-инсталлятор с [zerotier.com](https://www.zerotier.com/download/).
  2. Запустите установку, соглашаясь с параметрами по умолчанию.
  3. После установки запустите приложение ZeroTier (значок в трее).
  4. Нажмите «Join Network» и введите идентификатор вашей сети.
  5. В веб-панели ZeroTier одобрите новое устройство.

Также можно управлять через командную строку (администратор):

cd "C:\Program Files\ZeroTier\One"
zerotier-cli join <network_id>
zerotier-cli listnetworks

Чтобы ZeroTier автоматически запускался при старте системы, в сервисах (services.msc) установите тип запуска «Автоматически» для службы ZeroTier One.

5. Настройка брандмауэра Windows

Для работы Nextcloud и ZeroTier необходимо открыть соответствующие порты в Защитнике Windows.

  1. Откройте «Брандмауэр Защитника Windows» → «Дополнительные параметры».
  2. Создайте правила для входящих подключений:
  * Nextcloud: порт 8080 (TCP) – разрешить.
  * ZeroTier: порт 9993 (UDP) – разрешить (если требуется прямое соединение).
  1. Также разрешите входящие соединения для приложений Docker и ZeroTier (обычно они добавляются автоматически при первом запуске).

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

Test-NetConnection -ComputerName localhost -Port 8080

6. Рекомендации по безопасности

  • Используйте учётные записи с ограниченными правами для запуска сервисов.
  • Настройте автоматические обновления Windows и Docker Desktop.
  • Включите шифрование диска (BitLocker) для защиты данных.
  • Для публичного доступа к Nextcloud обязательно настройте HTTPS через обратный прокси (например, Nginx или Caddy) с сертификатом Let's Encrypt.
  • Периодически проверяйте логи контейнеров через Docker Desktop (вкладка Containers).

7. Полезные команды для PowerShell

Команда Назначение
docker ps список запущенных контейнеров
docker logs <имя> просмотр логов контейнера
docker exec -it <имя> cmd вход в контейнер (если в образе есть cmd)
docker compose up -d перезапуск всех сервисов из папки
docker system prune -a очистка неиспользуемых образов и контейнеров

См. также

  • Linux – настройка Linux для self‑hosted сервисов
  • macOS – инструкция для macOS
  • Docker – подробнее о контейнеризации
  • Nextcloud – углублённая настройка Nextcloud
  • ZeroTier – расширенные сценарии ZeroTier
  • VPN – обзор и настройка VPN