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