Как сделать хостинг для сайта на своем компьютере
Создание хостинга на домашнем ПК или любом другом сетевом устройстве вполне согласуется с мировыми тенденциями к повышению уровня автономности и безопасности собственного цифрового окружения. Также это даёт возможность экономить средства и оперативно вносить изменения в конфигурацию хостинга. Существует множество подходов к реализации домашнего хостинга, однако большинство из них требуют наличия технических знаний и не обеспечивают должного уровня безопасности. 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 в аккаунте своего поставщика доменных имён;
 - Проверить работу Интернет-служб, согласно инструкциям разработчиков.
 
Эти дополнительные вопросы являются общими и поэтому выходят за рамки нашей статьи и здесь рассматриваться не будут.