Як зробити хостинг для сайту на своєму комп'ютері
Створення хостингу на домашньому ПК або будь-якому іншому мережевому пристрої цілком узгоджується зі світовими тенденціями до підвищення рівня автономності та безпеки власного цифрового оточення. Також це дає можливість економити кошти та оперативно вносити зміни в конфігурацію хостингу. Існує безліч підходів до реалізації домашнього хостингу, проте більшість з них вимагають наявності технічних знань і не забезпечують належного рівня безпеки. HomeServerHQ – інноваційне безкоштовне рішення для домашнього хостингу, що дозволяє виконати розгортання і налаштування конфігурації хостингу в напівавтоматичному режимі протягом декількох хвилин. Розглянемо цей програмний продукт більш детально.
Що таке HomeServerHQ?
Рішення є однією з реалізацій відомої моделі корпоративної архітектури FA (Federated Architecture), що описує взаємодію та обмін даними між напівавтономними інформаційними системами з децентралізованою структурною організацією.
Продукт має відкритий вихідний код і поширюється безкоштовно. Завантажити користувацькі ISO-файли для самостійного розгортання можна на сайті розробників.
Архітектура HomeServerHQ наведена нижче. З малюнка видно, що система побудована на основі віртуальної приватної мережі, в якій присутній домашній комп'ютер з встановленим сервером HomeServer, WiFi-маршрутизатор і додатковий сервер RelayServer, який є точкою доступу до Інтернету для всіх пристроїв домашньої мережі.
Всі дані користувачів надійно захищені, оскільки зберігаються на HomeServer, який не має прямого підключення до Інтернету. Йому присвоюється лише локальна IP-адреса нарівні з іншими пристроями приватної мережі.
RelayServer забезпечує ретрансляцію даних, що передаються між локальною і глобальною мережами, а також управління http-трафіком за рахунок наявності в своєму складі зворотного проксі. Йому присвоюється публічна IP-адреса, отримана від вашого Інтернет-провайдера. Сервер може бути розгорнутий на одному з пристроїв в межах будинку або ж на зовнішньому орендованому VPS-сервері.
Весь внутрішній трафік мережі шифрується і передається по тунелю, створеному за допомогою додатково встановленого протоколу WireGuard. Це сприяє підвищенню рівня безпеки, оскільки до мережі можуть підключатися лише пристрої з встановленим WireGuard.
Встановлення та розгортання обох серверів відбувається в напівавтоматичному режимі при запуску серверного скрипта однією командою в термінальному режимі або одним клацанням миші в разі використання користувацького ISO-файлу для розгортання серверної ОС.
Для повноцінного використання всіх Інтернет-служб необхідна наявність окремого домену, під яким будуть публікуватися власні веб-сайти і створюватися поштові скриньки. Кожен HomeServer може мати безліч доменів, а кожен RelayServer може обслуговувати безліч пристроїв з встановленим HomeServer, що робить HomeServerHQ універсальним засобом для організації великої кількості приватних мереж всередині великого будинку (див. малюнок нижче).
Така «домашня» мережа завжди буде з вами, оскільки до неї можна віддалено підключитися з будь-якої точки світу.
Можливості HomeServerHQ
Продукт надає широкий набір функцій і можливостей для організації комфортних умов роботи, серед яких, зокрема, наступні:
- Повне конфігурування Email- і VPN-сервера, файрвола;
- Автоматична інтеграція підтримуваних служб;
- Авто-підтримка https;
- Засоби мережевої взаємодії з іншими HomeServers;
- Тунелювання вихідного трафіку для Docker-контейнерів;
- Відсутність на домашньому роутері відкритих портів;
- Розміщення в мережі Інтернет-сайтів і сервера електронної пошти;
- Необмежена кількість пристроїв для VPN;
- Доступ до VPN з будь-якої точки світу;
- Безпечна інфраструктура;
- Вихідний код продукту має криптографічний підпис;
- Встановлення та оновлення додатків;
- Користувацький інтерфейс управління на основі консолі та веб;
- Готові сценарії резервного копіювання та відновлення;
- Безкоштовне використання та відкритий код;
- Не потрібна технічна підготовка для встановлення та обслуговування.
Встановлення та розгортання
Встановлення продукту може бути здійснено двома способами: на «голі» машини за допомогою користувацького ISO Oliver build, завантаженого з сайту розробників; шляхом запуску серверного скрипта на вже розгорнутій ОС, що підтримується сервером HomeServer.
Скористаємося другим способом. Для цього розбиваємо процес на наступні етапи:
- Виконання системних вимог;
- Завантаження та запуск серверного скрипта;
- Післяінсталяційне налаштування.
Виконання системних вимог
У Таблиці 1 наведено системні вимоги до «заліза» та програмної частини для встановлення HomeServer і RelayServer.
Таблиця 1. Системні вимоги для встановлення та розгортання HomeServerHQ.
Сервер |
ОС |
RAM |
CPU |
Зберігання файлів |
Додаткове ПО |
HomeServer |
Debian 12 Ubuntu 22.04 LTS Ubuntu 24.04 LTS Mint 22 (Wilma)
|
≥ 8GB |
Ядро: ≥4 f: ≥2GHz |
1. ≥ 150 GB (SSD) – для встановлення ; 2. ≥ 150 GB (SSD) – для бекапів
|
1. SSH Terminal (Putty, Tabby) 2. WireGuard
|
RelayServer |
Debian 12 Ubuntu Server 22.04 LTS Ubuntu Server 24.04 LTS Mint 22
|
≥ 2GB |
Ядро: ≥2 f: ≥2GHz |
≥ 20 GB (SSD) |
Ми використовуємо комп'ютери з попередньо встановленими на них ОС Ubuntu 22.04 LTS (HomeServer) і ОС Ubuntu Server 22.04 LTS (RelayServer) з виконаними вимогами по «залізу».
Завантаження і запуск серверного скрипта
Після підготовки машин можна переходити до наступного етапу – завантажити на сервер HomeServer файл серверного скрипта з ім'ям hshq.sh і запустити його на виконання. Для того щоб полегшити процес установки, відкриємо вікно текстового редактора і введемо туди назви серверів і відповідні їм IP-адреси та паролі root-користувачів.
Тепер авторизуємося на HomeServer як користувач root, після чого введемо команду завантаження скрипта з сайту розробників:
# wget –q -N https://homeserverhq.com/hshq.sh
Переглянемо вміст поточного каталогу, щоб переконатися, що скрипт завантажено:
# ls
Запустимо його:
# bash hshq.sh
На першому екрані з'явилося запрошення майстра установки, в якому необхідно підтвердити свою згоду на установку програми за допомогою кнопки Yes.
На другому екрані з'явилося повідомлення про необхідність зміни root-користувача на звичайного. Підтверджуємо свою згоду і переходимо до процесу створення нового користувача.
У новому вікні вводимо ім'я doug для нового користувача і натискаємо ОК, після чого з'являється вікно для введення пароля.
Створимо новий пароль за допомогою безкоштовного генератора паролів і скопіюємо його в буфер.
Вставимо пароль для нового користувача doug в текстовий документ з інформацією про сервери, як показано нижче.
Вставимо пароль у зазначену позицію у вікні інсталятора та натиснемо ОК.
Підтвердимо введений пароль, натиснувши ОК.
На наступному екрані з'явилося повідомлення про успішне створення користувача doug і про перенесення скрипта в його домашній каталог /home/doug/. Після натискання кнопки ОК активується процес розгортання програми, як показано нижче.
На черговому екрані інсталятора пропонується вибрати потрібну дію:
- Виконати базову інсталяцію;
- Редагувати конфігурацію;
- Встановити залежності;
- Видалити все;
- Вийти з системи.
Вибираємо базову інсталяцію і натискаємо ОК.
Інсталятор вивів запит про необхідність створення файлу конфігурації. Підтверджуємо і вносимо відповідний запис в наш текстовий документ.
Вводимо створений пароль для файлу конфігурації у вікно програми і натискаємо ОК.
Підтверджуємо введений пароль, після чого установка, як показано нижче, продовжується.
Далі слід ввести доменне ім'я і підтвердити свій вибір.
Після цього інсталятор пропонує розпочати інсталяцію RelayServer на виділену нами машину, але для цього просить ввести пароль облікового запису користувача doug, як показано нижче.
Копіюємо пароль з текстового файлу і вставляємо в потрібну позицію у вікні інсталятора.
Підтверджуємо введений пароль і йдемо далі.
Далі нам пропонується ввести IP-адресу для RelayServer.
Копіюємо адресу з файлу і натискаємо ОК.
На наступному екрані залишаємо порт 22, встановлений за замовчуванням, і натискаємо ОК.
Після цього нам пропонується ввести пароль користувача root. Копіюємо пароль з файлу і натискаємо ОК.
Далі слідує ряд завершальних екранів з підсумковою інформацією за результатами установки серверів.
На нижньому екрані виводяться відомості про подальші кроки після встановлення. Цю інформацію потрібно скопіювати у вікно редактора, щоб потім слідувати цим інструкціям.
Тепер ми повинні увійти в обліковий запис користувача doug на RelayServer за допомогою однієї з програм термінального доступу, наприклад, Tabby, і ввести наступну команду для завершення установки:
# screen -r hshqInstall
Після цього обидва сервери будуть автоматично перезавантажені і система буде готова до виконання післяінсталяційних налаштувань.
Післяінсталяційне налаштування
Після розгортання серверів залишається виконати ряд додаткових дій:
- Встановити протокол WireGuard для шифрування даних приватної мережі;
- Налаштувати DNS в обліковому записі свого постачальника доменних імен;
- Перевірити роботу Інтернет-служб, згідно з інструкціями розробників.
Ці додаткові питання є загальними і тому виходять за рамки нашої статті і тут розглядатися не будуть.