Как установить и настроить YunoHost на VPS
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-резолвинг и структуру сети под себя, и конфликтующие сервисы лучше убрать заранее, а не чинить постфактум.
По ресурсам ориентируйтесь на следующий минимум, с запасом под реальные приложения:
| Ресурс | Минимум | Комфортно |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 1 ГБ | 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/. Здесь стоит:
- Создать первого обычного пользователя (Пользователи → Создать) — под этой учёткой удобнее пользоваться приложениями день в день, оставив root-администратора отдельно.
- Проверить раздел «Диагностика» — YunoHost сразу сообщит о проблемах: незакрытых портах, некорректном DNS, недоступном 25-м порту для почты.
- Просмотреть «Домены» и убедиться, что основной домен подхватился и сертификат 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 ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →