Як підняти власний хостинг-сервіс на сервері Windows Server 2025: сайти, домени, SSL, FTP, MySQL і панель керування
Короткий опис: якщо у вас є сервер на Windows Server 2025 і хороший інтернет-канал, ви можете підняти власний хостинг для сайтів, схожий за логікою на панель ADM.tools: додавання сайтів, доменів, SSL-сертифікатів, FTP-доступу, баз даних, резервних копій і файлового менеджера. Найзручніший варіант — створити Linux-віртуальну машину на Hyper-V і встановити панель керування хостингом.
Що саме ми будемо робити
На фото показана панель керування хостингом, де можна керувати сайтами, піддоменами, PHP, SSL, файлами, логами, FTP, базами даних і резервними копіями. Повністю повторити інфраструктуру великого хостинг-провайдера складно, але для власних сайтів, сайтів клієнтів або невеликого хостинг-сервісу можна зробити дуже схожу систему.
Найкраща схема для вашого випадку:
- Windows Server 2025 — основна система на фізичному сервері.
- Hyper-V — для запуску віртуальної машини.
- Linux VM — Ubuntu Server або Debian.
- Панель керування — HestiaCP, CloudPanel, CyberPanel або aaPanel.
- Docker — за бажанням, для окремих сервісів.
Для старту я рекомендую не Docker, а саме Linux-віртуалку + HestiaCP. Це найпростіший варіант, якщо потрібен класичний хостинг з сайтами, FTP, MySQL, SSL, поштою, логами і резервними копіями.
Який варіант обрати
| Варіант | Коли підходить | Складність |
|---|---|---|
| Linux VM + HestiaCP | Класичний хостинг для WordPress, OpenCart, Joomla, PHP-сайтів | Низька |
| Linux VM + CloudPanel | Швидкі PHP-сайти без пошти, з акцентом на продуктивність | Низька |
| Linux VM + Docker | Коли потрібні окремі контейнери для кожного сайту | Середня |
| Windows Server + IIS | ASP.NET, внутрішні корпоративні сайти | Середня |
Якщо ваша ціль — підняти сервіс, схожий на ADM.tools, де можна додавати сайти, FTP, бази, SSL і PHP, тоді найпростіший шлях — HestiaCP на Linux-віртуалці.
Що потрібно перед стартом
- Фізичний сервер або потужний ПК з Windows Server 2025.
- Процесор з підтримкою віртуалізації.
- Мінімум 16 ГБ RAM, краще 32–64 ГБ.
- SSD або NVMe-диск.
- Білий статичний IP.
- Нормальний інтернет-канал.
- Домен, наприклад example.com.
- Доступ до DNS-зони домену.
- Налаштований роутер або FortiGate.
Важливо: якщо у вас немає білого статичного IP, повноцінний хостинг буде працювати погано. Сайти ще можна прокинути через тунелі або Cloudflare, але пошта, SSL, FTP і нормальна робота DNS будуть проблемними.
Крок 1. Підготуйте Windows Server 2025
Спочатку потрібно підготувати сам сервер. Він буде виконувати роль гіпервізора, тобто запускати Linux-віртуалку.
- Встановіть всі оновлення Windows Server 2025.
- Задайте статичну IP-адресу в локальній мережі.
- Назвіть сервер зрозуміло, наприклад HOST-SRV01.
- Перевірте, що сервер не йде в сон.
- Увімкніть план живлення High Performance.
- Перевірте стабільність дисків і оперативної памʼяті.
Для хостингу дуже важлива стабільність. Якщо сервер зависає, має проблеми з RAID, RAM або мережею — спочатку виправте це, і тільки потім запускайте сайти.
Крок 2. Увімкніть Hyper-V
Hyper-V потрібен для створення Linux-віртуалки.
Відкрийте Server Manager:
- Натисніть Add roles and features.
- Оберіть Role-based or feature-based installation.
- Оберіть ваш сервер.
- Поставте галочку Hyper-V.
- Додайте всі запропоновані компоненти.
- Завершіть встановлення.
- Перезавантажте сервер.
Після перезавантаження відкрийте Hyper-V Manager.
Крок 3. Створіть віртуальний комутатор
Щоб Linux-віртуалка мала доступ до інтернету і локальної мережі, потрібно створити віртуальний switch.
- Відкрийте Hyper-V Manager.
- Перейдіть у Virtual Switch Manager.
- Оберіть External.
- Натисніть Create Virtual Switch.
- Назвіть його, наприклад WAN-Switch.
- Оберіть фізичну мережеву карту сервера.
- Залиште галочку Allow management operating system to share this network adapter.
- Збережіть налаштування.
Після цього віртуальні машини зможуть виходити в інтернет через фізичну мережеву карту сервера.
Крок 4. Створіть Linux-віртуальну машину
Для панелі хостингу краще використовувати Ubuntu Server або Debian. Наприклад, Ubuntu Server 24.04 LTS або Debian 12.
Рекомендовані ресурси для старту:
- CPU: 4 ядра.
- RAM: 8–16 ГБ.
- Disk: 100–300 ГБ SSD.
- Network: External Virtual Switch.
У Hyper-V:
- Натисніть New → Virtual Machine.
- Назвіть VM, наприклад WEB-HOST01.
- Оберіть Generation 2.
- Виділіть 8 або 16 ГБ RAM.
- Підключіть VM до WAN-Switch.
- Створіть VHDX-диск, наприклад 200 ГБ.
- Підключіть ISO Ubuntu Server або Debian.
- Запустіть VM.
Крок 5. Встановіть Linux
Під час встановлення Linux:
- Оберіть мову системи.
- Налаштуйте мережу.
- Задайте імʼя сервера, наприклад web-host01.
- Створіть адміністративного користувача.
- Увімкніть OpenSSH Server.
- Встановіть систему на весь диск.
- Дочекайтесь завершення встановлення.
- Перезавантажте VM.
Після запуску перевірте IP-адресу командою:
ip a
Також перевірте доступ до інтернету:
ping 8.8.8.8
ping google.com
Крок 6. Оновіть Linux
Після встановлення потрібно оновити систему.
sudo apt update
sudo apt upgrade -y
sudo reboot
Після перезавантаження знову підключіться до сервера по SSH.
Крок 7. Налаштуйте статичну IP-адресу для Linux VM
Для хостингу VM повинна мати постійну локальну IP-адресу. Наприклад:
- Windows Server: 192.168.1.10
- Linux VM: 192.168.1.20
- Gateway: 192.168.1.1
- DNS: 1.1.1.1, 8.8.8.8
На Ubuntu мережа часто налаштовується через Netplan. Відкрийте файл:
sudo nano /etc/netplan/00-installer-config.yaml
Приклад налаштування:
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.20/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
Застосуйте налаштування:
sudo netplan apply
Крок 8. Прокиньте порти на роутері або FortiGate
Щоб сайти відкривалися з інтернету, потрібно зробити port forwarding на Linux VM.
Основні порти:
| Порт | Для чого потрібен |
|---|---|
| 80 | HTTP-сайти |
| 443 | HTTPS-сайти |
| 22 | SSH-доступ |
| 8083 | Панель HestiaCP |
| 21 | FTP |
| 25 | SMTP-пошта |
| 465 | SMTPS |
| 587 | SMTP Submission |
| 993 | IMAPS |
Якщо пошта не потрібна, на старті достатньо прокинути:
- 80
- 443
- 22
- 8083
У FortiGate або роутері потрібно створити NAT-правило:
Ваш білий IP → 192.168.1.20
Для портів 80 і 443 це обовʼязково, інакше сайти не будуть відкриватися з інтернету.
Крок 9. Встановіть HestiaCP
HestiaCP — це безкоштовна панель керування хостингом. Вона дозволяє додавати сайти, домени, SSL, FTP, бази MySQL/MariaDB, поштові скриньки, DNS-зони, резервні копії і користувачів.
Підключіться до Linux VM по SSH і виконайте:
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
sudo bash hst-install.sh
Під час встановлення інсталятор поставить потрібні компоненти:
- Nginx
- Apache або PHP-FPM
- PHP
- MariaDB
- FTP
- DNS-сервер
- Поштовий сервер
- Firewall
- SSL
- Backup-систему
Після завершення встановлення ви отримаєте адресу панелі:
https://your-server-ip:8083
Також буде показаний логін і пароль адміністратора. Обовʼязково збережіть їх.
Крок 10. Зайдіть у панель керування
Відкрийте у браузері:
https://your-server-ip:8083
Браузер може показати попередження про SSL-сертифікат. Це нормально на першому етапі, бо панель ще використовує самопідписаний сертифікат.
Увійдіть під адміністратором. Після входу ви побачите панель, де можна створювати користувачів, сайти, бази даних, FTP і пошту.
Крок 11. Привʼяжіть домен до сервера
Наприклад, у вас є домен:
example.com
У DNS-зоні домену потрібно створити записи:
| Тип | Імʼя | Значення |
|---|---|---|
| A | @ | Ваш білий IP |
| A | www | Ваш білий IP |
| A | panel | Ваш білий IP |
Наприклад:
example.com A 93.xxx.xxx.xxx
www.example.com A 93.xxx.xxx.xxx
panel.example.com A 93.xxx.xxx.xxx
Після цього потрібно зачекати, поки DNS оновиться. Зазвичай це займає від кількох хвилин до кількох годин.
Крок 12. Створіть першого користувача хостингу
У HestiaCP краще не розміщувати сайти під адміністратором. Для кожного клієнта або групи сайтів створюйте окремого користувача.
- Зайдіть у HestiaCP.
- Перейдіть у розділ Users.
- Натисніть Add User.
- Вкажіть логін, наприклад client1.
- Вкажіть email користувача.
- Задайте пароль.
- Оберіть тарифний пакет.
- Збережіть користувача.
Так ви отримаєте окремий акаунт, схожий на хостинг-акаунт у провайдера.
Крок 13. Додайте сайт
Тепер можна додати сайт.
- Зайдіть під користувачем або адміністратором.
- Перейдіть у розділ Web.
- Натисніть Add Web Domain.
- Вкажіть домен, наприклад example.com.
- Увімкніть підтримку DNS, якщо потрібно.
- Увімкніть SSL, якщо домен вже направлений на сервер.
- Збережіть сайт.
Після цього на сервері буде створена папка сайту. Зазвичай шлях має вигляд:
/home/client1/web/example.com/public_html/
Саме в цю папку потрібно завантажувати файли сайту.
Крок 14. Увімкніть SSL-сертифікат
Щоб сайт відкривався по HTTPS, потрібно випустити SSL-сертифікат Let’s Encrypt.
- Відкрийте сайт у панелі.
- Натисніть Edit.
- Поставте галочку Enable SSL.
- Поставте галочку Use Let’s Encrypt.
- Поставте галочку Enable automatic HTTPS redirection, якщо потрібно.
- Збережіть налаштування.
Якщо DNS налаштований правильно і порти 80/443 відкриті, сертифікат буде виданий автоматично.
Крок 15. Створіть FTP-доступ
FTP потрібен, щоб завантажувати файли сайту через FileZilla або інший FTP-клієнт.
- У панелі відкрийте розділ Web.
- Оберіть потрібний сайт.
- Натисніть Edit.
- Увімкніть FTP-доступ.
- Створіть FTP-користувача.
- Задайте пароль.
- Збережіть.
Після цього у FileZilla можна підключатися так:
- Host: IP сервера або домен
- Username: FTP-логін
- Password: FTP-пароль
- Port: 21
Крок 16. Створіть базу даних MySQL/MariaDB
Для WordPress, OpenCart, Joomla та більшості CMS потрібна база даних.
- Перейдіть у розділ DB.
- Натисніть Add Database.
- Вкажіть назву бази.
- Вкажіть користувача бази.
- Задайте пароль.
- Збережіть.
Параметри для CMS будуть приблизно такі:
Database host: localhost
Database name: client1_wp
Database user: client1_wpuser
Database password: ваш пароль
Крок 17. Встановіть WordPress або OpenCart
Після створення сайту і бази можна встановити CMS.
Для WordPress:
- Завантажте WordPress з офіційного сайту.
- Розпакуйте архів.
- Завантажте файли у папку public_html.
- Відкрийте сайт у браузері.
- Вкажіть параметри бази даних.
- Створіть адміністратора WordPress.
- Завершіть встановлення.
Для OpenCart логіка схожа:
- Завантажте OpenCart.
- Залийте файли на хостинг.
- Створіть базу даних.
- Відкрийте сайт у браузері.
- Пройдіть майстер встановлення.
- Видаліть папку install після встановлення.
Крок 18. Налаштуйте PHP
У панелі можна керувати версією PHP і параметрами сайту. Це важливо для WordPress, OpenCart, Joomla та інших CMS.
Рекомендовані параметри для більшості сайтів:
memory_limit = 256M або 512M
upload_max_filesize = 64M або 128M
post_max_size = 64M або 128M
max_execution_time = 120 або 300
max_input_vars = 3000 або 5000
Якщо сайт на OpenCart або WordPress з великими плагінами, краще ставити:
memory_limit = 512M
max_execution_time = 300
max_input_vars = 5000
Крок 19. Налаштуйте резервні копії
Без резервних копій такий сервіс запускати не можна. Один збій диска, помилка користувача або зараження сайту можуть знищити всі дані.
Мінімальна схема backup:
- Щоденний backup сайтів.
- Щоденний backup баз даних.
- Зберігання копій мінімум 7–14 днів.
- Окрема копія на інший диск або NAS.
- Окрема копія поза сервером.
У HestiaCP є вбудований backup. Але краще додатково налаштувати копіювання на зовнішнє сховище.
Наприклад:
- локальний backup на другий диск;
- копія на Synology NAS;
- копія в хмару;
- періодична ручна перевірка відновлення.
Крок 20. Налаштуйте firewall
На Linux VM повинен бути увімкнений firewall. Відкритими мають бути тільки потрібні порти.
Приклад базових правил:
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8083/tcp
sudo ufw enable
sudo ufw status
Якщо FTP і пошта не потрібні, не відкривайте зайві порти.
Крок 21. Захистіть SSH
SSH — це прямий доступ до сервера, тому його потрібно захистити.
Рекомендовано:
- вимкнути root-доступ по SSH;
- використовувати складний пароль або SSH-ключі;
- обмежити доступ до SSH по IP;
- змінити стандартний порт 22, якщо потрібно;
- встановити Fail2Ban.
Встановлення Fail2Ban:
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Крок 22. Налаштуйте моніторинг
Для хостинг-сервісу потрібно контролювати:
- доступність сайтів;
- завантаження CPU;
- використання RAM;
- місце на диску;
- помилки дисків;
- логи веб-сервера;
- кількість inode;
- стан backup.
Для старту можна використовувати:
- Uptime Kuma;
- Netdata;
- Zabbix;
- Prometheus + Grafana;
- Telegram-сповіщення через скрипти.
Найпростіший варіант — поставити Uptime Kuma в Docker і перевіряти доступність сайтів.
Крок 23. Налаштуйте Docker для додаткових сервісів
Docker не обовʼязковий для класичного хостингу, але дуже корисний для окремих сервісів: моніторингу, тестових сайтів, Redis, панелей, ботів або внутрішніх інструментів.
Встановлення Docker:
sudo apt install docker.io docker-compose-v2 -y
sudo systemctl enable docker
sudo systemctl start docker
Перевірка:
docker --version
docker compose version
Але не змішуйте все без плану. Якщо у вас сайти на HestiaCP, не потрібно кожен WordPress одразу запускати в Docker. Для початку простіше і стабільніше використовувати класичну схему: Nginx/Apache + PHP + MariaDB.
Крок 24. Чи варто піднімати пошту на своєму сервері
Технічно HestiaCP може підняти поштовий сервер. Але пошта — це найскладніша частина власного хостингу.
Для нормальної роботи пошти потрібні:
- PTR-запис на IP;
- SPF;
- DKIM;
- DMARC;
- чистий IP без спам-історії;
- правильна репутація домену;
- відкритий порт 25;
- постійний контроль чорних списків.
Якщо вам потрібно просто хостити сайти, краще пошту залишити на зовнішньому сервісі: Google Workspace, Microsoft 365, Zoho, ukr.net для доменної пошти або інший поштовий провайдер.
Крок 25. Як зробити панель схожою на сервіс хостингу
Щоб сервіс був схожий на комерційний хостинг, потрібно налаштувати такі елементи:
- окремий користувач для кожного клієнта;
- обмеження по диску;
- обмеження по кількості сайтів;
- обмеження по базах даних;
- FTP-доступ тільки до свого сайту;
- окремі backup для кожного акаунта;
- SSL для кожного домену;
- логування доступу і помилок;
- моніторинг навантаження;
- регулярні оновлення системи.
У HestiaCP для цього можна створювати тарифні пакети. Наприклад:
| Пакет | Сайти | Диск | Бази | FTP |
|---|---|---|---|---|
| Start | 1 | 5 ГБ | 1 | 1 |
| Business | 5 | 20 ГБ | 5 | 5 |
| Pro | 10 | 50 ГБ | 10 | 10 |
Крок 26. Що робити з DNS
Є два варіанти:
Варіант 1. DNS залишити у реєстратора або Cloudflare
Це найпростіший і найнадійніший варіант. Ви просто створюєте A-записи, які ведуть на ваш сервер.
Наприклад:
@ A ваш_IP
www A ваш_IP
Варіант 2. Підняти власні NS-сервери
Це складніше. Потрібно мати мінімум два NS-сервери, наприклад:
ns1.example.com
ns2.example.com
Для маленького сервісу краще не ускладнювати. Використовуйте Cloudflare або DNS реєстратора.
Крок 27. Оптимальна схема для вашого сервера
Якщо у вас Windows Server 2025 і хороший канал, я б зробив так:
- Windows Server 2025 — тільки як гіпервізор.
- Hyper-V — для віртуальних машин.
- VM 1: Linux + HestiaCP для сайтів.
- VM 2: Linux + Docker для моніторингу.
- Окремий диск або NAS — для backup.
- FortiGate або роутер — для NAT і firewall.
- Cloudflare — для DNS і базового захисту.
Це буде набагато правильніше, ніж ставити все напряму на Windows Server.
Крок 28. Мінімальна структура сервісу
Після налаштування у вас буде така структура:
Інтернет
↓
Білий IP
↓
Роутер або FortiGate
↓
Windows Server 2025
↓
Hyper-V
↓
Linux VM
↓
HestiaCP
↓
Сайти, FTP, MySQL, SSL, backup
Клієнт або адміністратор зможе:
- додати сайт;
- створити піддомен;
- випустити SSL;
- зайти у файловий менеджер;
- створити FTP;
- створити базу даних;
- переглянути логи;
- зробити резервну копію;
- керувати PHP.
Крок 29. Що не варто робити
- Не ставте публічні сайти прямо на Windows Server без ізоляції.
- Не відкривайте всі порти в інтернет.
- Не запускайте сайти клієнтів під одним користувачем.
- Не вимикайте firewall.
- Не зберігайте backup тільки на тому самому диску.
- Не піднімайте пошту, якщо не готові займатися SPF, DKIM, DMARC і репутацією IP.
- Не давайте клієнтам root або SSH без потреби.
- Не оновлюйте все без backup.
Крок 30. Базова перевірка після запуску
Після встановлення перевірте:
- Сайт відкривається по HTTP.
- Сайт відкривається по HTTPS.
- SSL-сертифікат активний.
- FTP працює.
- База даних створюється.
- WordPress або OpenCart встановлюється.
- Backup створюється.
- Панель відкривається по порту 8083.
- SSH доступний тільки вам.
- Firewall увімкнений.
- Моніторинг бачить сайт.
Приклад фінальної конфігурації
| Фізичний сервер | Windows Server 2025 |
| Віртуалізація | Hyper-V |
| Основна VM | Ubuntu Server або Debian |
| Панель | HestiaCP |
| Веб-сервер | Nginx + Apache/PHP-FPM |
| База даних | MariaDB |
| SSL | Let’s Encrypt |
| Backup | Локально + NAS або хмара |
| DNS | Cloudflare або реєстратор домену |
| Моніторинг | Uptime Kuma або Zabbix |
Висновок
Підняти власний хостинг-сервіс на Windows Server 2025 реально, але краще не робити це напряму на Windows. Найправильніша схема — використовувати Windows Server 2025 як основу для Hyper-V, створити Linux-віртуалку і вже на ній встановити панель керування хостингом.
Для старту найзручніший варіант — Ubuntu Server або Debian + HestiaCP. Ви отримаєте панель, де можна додавати сайти, домени, SSL, FTP, бази даних, PHP-налаштування, логи і резервні копії. Це не повна копія великого хостинг-провайдера, але для власних проєктів, сайтів клієнтів або невеликого сервісу цього більш ніж достатньо.
Головне — не забути про безпеку, backup, firewall, моніторинг і нормальну ізоляцію користувачів. Саме ці речі відрізняють стабільний хостинг від сервера, який просто “якось відкриває сайти”.

