MAATRIX / Блог / Как установить и настроить YunoHost на VPS

Как установить и настроить YunoHost на VPS

MAATRIX

YunoHost — не панель управления хостингом в привычном смысле, а целый дистрибутив для самостоятельного хостинга: вы ставите его поверх Debian на свой VPS и получаете системный сервер, каталог из сотен готовых приложений и веб-интерфейс, где Nextcloud, WordPress, чат, почта и VPN устанавливаются в пару кликов. Разберём, как развернуть YunoHost с нуля — от подготовки сервера до первого приложения — и на что обратить внимание, чтобы система не превратилась в свалку из полузабытых сервисов. YunoHost решает конкретную задачу: дать человеку без глубоких знаний Linux рабочий self-hosted стек — свою почту, облако, чат, блог — без ручной настройки Nginx, TLS и systemd-юнитов под каждый сервис. Взамен вы отдаёте часть контроля: YunoHost сам управляет доменами, сертификатами, портами и структурой файловой системы, и лезть туда руками в обход панели не стоит — сломаете логику пакетного менеджера приложений. Если вам важна максимальная гибкость конфигурации — присмотритесь к Docker Compose или голому серверу; если важна скорость запуска десятка сервисов на одном домене — YunoHost выигрывает.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Что такое YunoHost и когда он оправдан

YunoHost базируется на Debian и добавляет поверх системы слой автоматизации: единый LDAP-каталог пользователей, общий портал SSO, менеджер доменов и сертификатов, встроенный почтовый сервер (Postfix + Dovecot + Rspamd) и каталог приложений (YunoHost Apps Catalogue), где каждое приложение — это Debian-пакет со скриптами установки, обновления и удаления.

Типичные сценарии: личный или семейный сервер с почтой на своём домене, Nextcloud для файлов и календаря, Matrix или XMPP для чата, WordPress или Ghost для блога, Vaultwarden для паролей — и всё это на одном VPS, с единым входом через SSO-портал. Для небольшой команды или продвинутого частного пользователя это экономит недели ручной настройки.

Ограничения тоже стоит понимать заранее. YunoHost — проект сообщества, не коммерческий продукт с SLA: часть приложений в каталоге поддерживается активно, часть — заброшена или обновляется с задержкой. Система тяжелее «голого» сервера по потреблению ресурсов из-за LDAP, почтового стека и служебных процессов, а при высокой нагрузке на конкретный сервис (например, Nextcloud с большим объёмом файлов) может понадобиться выносить его отдельно. Для production-инфраструктуры с жёсткими требованиями к аптайму лучше рассматривать выделенные решения под каждый сервис, а YunoHost держать для личных и вспомогательных задач.

Требования к серверу и подготовка

YunoHost официально ставится на чистый Debian — актуальная стабильная ветка последних лет собирается на Debian 12 (Bookworm). Заказывайте VPS именно с образом Debian, без предустановленных панелей, Docker или веб-серверов: установщик YunoHost жёстко перестраивает Nginx, DNS-резолвинг и структуру сети под себя, и конфликтующие сервисы лучше убрать заранее, а не чинить постфактум.

По ресурсам ориентируйтесь на следующий минимум, с запасом под реальные приложения:

РесурсМинимумКомфортно
CPU1 vCPU2 vCPU
RAM1 ГБ2–4 ГБ
Диск20 ГБ40+ ГБ, SSD/NVMe
ОСDebian 12, чистая установка

Сам по себе YunoHost без приложений съедает заметную часть 1 ГБ памяти на LDAP, Postfix, Dovecot и служебные демоны — если планируете держать Nextcloud, почту и ещё пару сервисов одновременно, закладывайте от 2 ГБ. Подключитесь к серверу по SSH — если ключевая авторизация ещё не настроена, сначала пройдите через подключение по SSH-ключу, это упростит и дальнейшую работу с YunoHost. Обновите систему перед установкой:

apt update && apt -y upgrade

Если сервер будет держать почту на собственном домене, заранее проверьте у провайдера, не заблокирован ли исходящий 25-й порт — многие хостинги блокируют его по умолчанию против спама, и почтовый стек YunoHost без него не сможет отправлять письма напрямую. У MAATRIX порт 25 на VPS не блокируется по умолчанию, но для больших рассылок и лучшей репутации всё равно рекомендуем настраивать корректный PTR-запись через поддержку.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Установка YunoHost и настройка домена

Официальный способ установки — универсальный скрипт, который сам определяет версию системы и разворачивает YunoHost поверх неё:

curl https://install.yunohost.org | bash

Перед запуском на серьёзной системе стоит открыть скрипт в браузере и бегло свериться с документацией проекта — привычка проверять сторонние install-скрипты перед выполнением от root оправдывает себя. Установка займёт от 10 до 20 минут: скрипт подтянет пакеты, настроит Postfix, Dovecot, Nginx, PHP, LDAP (slapd) и сформирует базовую структуру. По завершении сервер уйдёт в перезагрузку — это нормально.

Пока сервер устанавливается, займитесь доменом. У YunoHost два пути:

  • Свой домен. Направьте A-запись (и AAAA, если есть IPv6) на IP сервера. Если домен уже используется под другие задачи, можно повесить YunoHost на поддомен. Подробно процесс настройки DNS разобран в статье про настройку домена и DNS — принципы для YunoHost те же, разница только в том, что дальше домен добавляется через саму панель, а не вручную в Nginx.
  • Бесплатный поддомен от YunoHost. Если своего домена нет, во время пост-установки можно подписаться на бесплатный DynDNS-поддомен вида ваше-имя.nohost.me или ваше-имя.ynh.fr — этого достаточно, чтобы получить рабочий HTTPS-сертификат и попробовать систему без покупки домена. Для боевого проекта собственный домен всё же предпочтительнее — он не зависит от инфраструктуры проекта YunoHost.

Проверить, что A-запись разошлась, можно так:

dig +short ваш-домен.ru

Пост-установка и первый вход в веб-панель

После перезагрузки сервера выполните пост-установку — она задаёт основной домен, пароль администратора и завершает настройку LDAP и почты. Сделать это можно из консоли:

yunohost tools postinstall

Мастер спросит основной домен (или предложит подписаться на бесплатный поддомен, если своего нет) и пароль администратора — задавайте длинный и уникальный, от него зависит доступ ко всей системе, включая SSO-портал. Тот же мастер доступен и через браузер: откройте https://ip-адрес-сервера/ сразу после установки, и если пост-установка ещё не пройдена, YunoHost сам покажет форму — это удобнее для тех, кто не хочет работать через консоль.

После пост-установки веб-панель администратора доступна по адресу https://ваш-домен/yunohost/admin/. Здесь стоит:

  1. Создать первого обычного пользователя (Пользователи → Создать) — под этой учёткой удобнее пользоваться приложениями день в день, оставив root-администратора отдельно.
  2. Проверить раздел «Диагностика» — YunoHost сразу сообщит о проблемах: незакрытых портах, некорректном DNS, недоступном 25-м порту для почты.
  3. Просмотреть «Домены» и убедиться, что основной домен подхватился и сертификат Let's Encrypt выпустился (об этом — дальше).

Публичная часть того же домена — это SSO-портал (https://ваш-домен/), через который пользователи входят во все установленные приложения одной парой логин-пароль.

HTTPS, почта и безопасность из коробки

Сертификаты Let's Encrypt YunoHost выпускает и продлевает сам — вручную это нужно, только если что-то пошло не так или домен добавлен позже:

yunohost domain cert-install ваш-домен.ru

Диагностика в веб-панели сразу подскажет, если валидация не проходит — обычно причина в DNS, ещё не успевшем разойтись, или в закрытом 80-м порту у файрвола. Открытые порты YunoHost держит через собственный модуль:

yunohost firewall list
yunohost firewall allow TCP 443

Почтовый сервер настраивается автоматически вместе с доменом: MX, SPF и DKIM-записи YunoHost покажет в разделе «Домены» — их нужно вручную добавить у регистратора или в DNS-зоне, сам сервер их не публикует за вас. Без корректных SPF/DKIM/DMARC почта с вашего домена будет уходить в спам у крупных провайдеров — это общее правило для любого self-hosted почтового сервера, не специфика YunoHost.

Из коробки включены разумные умолчания безопасности: fail2ban на SSH и веб-порталы, автоматические security-обновления системы, LDAP с хешированными паролями. Дополнительно стоит включить двухфакторную аутентификацию для администратора в настройках профиля — про саму практику подробно рассказано в статье про двухфакторную аутентификацию для панелей управления, и она напрямую применима к YunoHost. Не открывайте SSH-порт по паролю наружу без необходимости — YunoHost не меняет эту базовую гигиену за вас.

Установка приложений и повседневное администрирование

Каталог приложений открывается в веб-панели через раздел «Каталог» — это витрина из сотен пакетов: Nextcloud, WordPress, Matrix Synapse, Jitsi Meet, Vaultwarden, Gitea, Mastodon, Wallabag и десятки других, каждый со своей страницей, уровнем поддержки (официальный, сообщества, экспериментальный) и требованиями. Установка приложения из панели — это выбор домена/поддомена, пути и нескольких параметров, дальше пакет разворачивается сам.

Тот же результат из консоли:

yunohost app install nextcloud

Команда запросит домен и путь интерактивно, либо их можно передать сразу аргументами — синтаксис аргументов отличается между версиями приложений, актуальный список параметров для конкретного пакета команда покажет сама при запуске без готового ответа.

Повседневные операции тоже удобнее делать через понятные команды:

yunohost app list
yunohost app upgrade nextcloud
yunohost app remove nextcloud
yunohost user create ivan -d ваш-домен.ru

Обновления системы и приложений разделены — обновляйте регулярно, но не откладывайте надолго, потому что часть приложений в каталоге поддерживается силами сообщества и после долгого простоя миграция версий может пройти не так гладко:

yunohost tools update
yunohost tools upgrade

Резервные копии — отдельная зона внимания. YунoHost умеет собирать бэкап системы и приложений одной командой:

yunohost backup create
yunohost backup list

По умолчанию архив кладётся локально на тот же диск — для боевого сервера этого недостаточно, копию нужно выгружать на другой сервер или в объектное хранилище, иначе при отказе диска бэкап пропадёт вместе с данными. Настройте выгрузку архивов вовне через cron и rsync/rclone сразу после первого успешного бэкапа, а не когда что-то уже сломается.

Если по мере роста проекта отдельные сервисы YunoHost начнут упираться в ресурсы одного VPS — то же приложение Nextcloud часто вырастает быстрее остальных, и о его типичных проблемах с производительностью и хранилищем можно почитать отдельно, прежде чем выносить его на отдельный сервер.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать сервер

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Частые вопросы

Чем YunoHost отличается от обычной хостинг-панели вроде CloudPanel или FastPanel?

Хостинг-панели управляют сайтами на одном веб-стеке (Nginx/PHP). YunoHost — целый self-hosted дистрибутив: единая система пользователей (LDAP), SSO-портал, встроенная почта и каталог готовых приложений, а не только сайтов. Общая логика та же, что в материале панель против чистого сервера: вы меняете часть гибкости на скорость развёртывания.

Можно ли поставить YunoHost поверх уже настроенного сервера с Nginx или Docker?

Не рекомендуется. Установщик перестраивает сетевой стек, DNS-резолвинг и веб-сервер под свои нужды, и конфликт с существующими сервисами почти гарантирован. Ставьте на чистый образ Debian.

Хватит ли 1 ГБ RAM?

Для голой системы после установки — да, но с запасом. С Nextcloud, почтой и парой дополнительных приложений система быстро упрётся в память при 1 ГБ; на практике комфортнее 2 ГБ и выше, особенно если приложений будет расти со временем.

Обязательно ли использовать домен, или можно работать по IP?

Работать полностью по IP не получится — YunoHost и Let's Encrypt требуют домен для сертификатов. Если своего домена нет, на пост-установке можно бесплатно подписаться на поддомен вида имя.nohost.me.

Что делать, если приложение из каталога сломалось после обновления?

Проверьте статус пакета в каталоге (официальный/сообщества/экспериментальный) и логи через yunohost app upgrade имя --debug. Для критичных сервисов держите свежий бэкап перед каждым обновлением — откат приложения через yunohost backup restore работает надёжнее, чем ручной разбор изменений в пакете.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →