В WSL
Данная конфигурация в основном предназначена для локального тестирования опытными пользователями. Из-за ограничений со стороны WSL (в частности, изменения IP-адреса) самостоятельный хостинг с её помощью может быть сложным и здесь не будет описан.
Предварительные требования
- Windows 10 и выше
- Права администратора
- Подсистема Windows для Linux, установленная из меню «Дополнительные компоненты» Windows
- Рекомендуется: Приложение Windows Terminal (Preview), установленное из Microsoft Store. Значительно лучше стандартного Терминала, так как предлагает ярлыки для дистрибутивов WSL.
Введение
WSL — это полезная функция Windows 10, позволяющая использовать псевдо-дистрибутивы Linux через командную строку. Назовём их псевдо-дистрибутивами, потому что, хотя они и не совсем похожи на виртуальные машины, они используют возможности виртуализации, что делает их интеграцию с Windows практически бесшовной. Например, Docker для Windows теперь может использовать WSL вместо Hyper-V.
Имейте в виду, что сама эта конфигурация не является каким-либо контейнером. Если что-то сломается, возможности отката нет.
Возможно, вам потребуется полностью удалить дистрибутив Debian и восстановить его целиком.
Установка Debian
Давайте установим YunoHost в отдельный дистрибутив, не изменяя дистрибутив по умолчанию. В терминале PowerShell:
# Let's go in your home directory and prepare the working directories
cd ~
mkdir -p WSL\YunoHost
# Download the Debian appx package and unzip it
curl.exe -L -o debian.zip https://aka.ms/wsl-debian-gnulinux
Expand-Archive .\debian.zip -DestinationPath .\debian
# Import the Debian base into a new distro
wsl --import YunoHost ~\WSL\YunoHost ~\debian\install.tar.gz --version 2
# Cleanup
rmdir .\debian -R
Теперь вы можете получить к нему доступ: выполните команду wsl.exe -d YunoHost
Она работает под управлением Debian 9 Stretch, так что давайте обновим её:
# In WSL
sudo sed -i 's/stretch/bookworm/g' /etc/apt/sources.list`
sudo apt update
sudo apt upgrade
# optional
sudo apt full-upgrade
# wget needed for later setup
sudo apt install wget -y
Запрет WSL изменять конфигурационные файлы
Отредактируйте файл /etc/wsl.conf, добавив в него следующий код:
[network]
generateHosts = false
generateResolvConf = false
Принудительное использование iptables-legacy
В YunoHost теперь используется nftables, поэтому данные инструкции могут быть устаревшими.
Иногда после установки YunoHost не работает с nf_tables, новым программным обеспечением, заменяющим iptables.
Однако мы по-прежнему можем явно использовать старый добрый iptables:
# In WSL
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
Установка Systemd
В Debian на WSL отсутствует systemd, программное обеспечение для настройки служб.
Это ключевой элемент для YunoHost и для любого приличного дистрибутива Debian (серьёзно, MS, что за чертовщина?). Давайте установим его:
- Установите среду выполнения dotNET:
# In WSL
wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
sudo apt install -y apt-transport-https
sudo apt update
sudo apt install -y dotnet-sdk-3.1
- Установите Genie:
# In WSL
# Add their repository
echo "deb [trusted=yes] https://wsl-translinux.arkane-systems.net/apt/ /" > /etc/apt/sources.list.d/wsl-translinux.list
# Install Genie
sudo apt update
sudo apt install -y systemd-genie
Установка YunoHost
# In WSL
# Let's switch to the root user, if you were not already
sudo su
# Initialize the Genie bottle to have systemd running
genie -s
# Your hostname should have been appended with "-wsl"
Запуск сценария установки
- Откройте командную строку на вашем сервере напрямую или через SSH
- Убедитесь, что у вас есть права root (или введите
sudo -i, чтобы стать root) - Выполните следующую команду:
curl https://install.yunohost.org | bash
Всегда следите за тем, чтобы в конце https стояла буква s.
Возможно, вам сначала потребуется установить curl и ca-certificates, выполнив команду:
apt install curl ca-certificates
Опытным пользователям, обеспокоенным подходом curl | bash,, рекомендуется прочитать статью "Является ли curl|bash небезопасным?" в блоге Sandstorm, а также, возможно, это обсуждение на Hacker News.
Доступ к командной строке
При запуске дистрибутива всегда используйте команду genie -s.
wsl -d YunoHost -e genie -s
Создайте резервную копию и восстановите дистрибутив
Создайте первую резервную копию дистрибутива
Как уже упоминалось, возможности отката не предусмотрено. Поэтому давайте экспортируем ваш свежий дистрибутив. В PowerShell:
cd ~
wsl --export YunoHost .\WSL\YunoHost.tar.gz
В случае сбоя удалите и восстановите весь дистрибутив
cd ~
wsl --unregister YunoHost
wsl --import YunoHost .\WSL\YunoHost .\WSL\YunoHost.tar.gz --version 2
Перейти к начальной настройке
Если вы восстанавливаете сервер с помощью резервной копии YunoHost, пропустите этот шаг и вместо этого восстановите резервную копию, а не выполняйте шаг после установки.
В данной документации предполагается, что вы находитесь в той же локальной сети, что и ваша установка YunoHost.
Для VPS используйте публичный IP-адрес вместо локального домена или адреса.
- Из веб-интерфейса
- Из командной строки
На компьютере откройте браузер и попробуйте подключиться к веб-панели администратора:
- если вы устанавливаете на VPS, вы, вероятно, использовали метод установки
curl | bash, и он должен был указать вам адрес, обычноhttps://xx.xx.xx.xx(с публичным IPv4-адресом вашего сервера) - если вы устанавливаете дома и предполагаете, что вы находитесь в той же локальной сети, что и сервер,
- вы можете попробовать открыть https://yunohost.local (это может сработать, а может и нет, в зависимости от того, поддерживает ли ваш компьютер и сеть протокол Bonjour)
- если вы уже знаете локальный IP-адрес машины, перейдите по адресу
https://xx.xx.xx.xx(с локальным IP-адресом, обычно начинающимся с192.168) - в противном случае вам потребуется узнать его локальный IP-адрес перед продолжением.
При первом посещении вы, скорее всего, столкнётесь с предупреждением о безопасности, связанным с сертификатом, используемым сервером. На данный момент ваш сервер использует самоподписанный сертификат. Позже вы сможете добавить сертификат, автоматически распознаваемый веб-браузерами, как описано в документации по сертификатам. На данный момент вам следует добавить исключение безопасности, чтобы принять текущий сертификат. (Однако, ПОЖАЛУЙСТА, не привыкайте слепо принимать подобные предупреждения безопасности!)
В результате вы должны попасть на эту страницу:

Также вы можете выполнить пост-установку с помощью команды yunohost tools postinstall непосредственно на сервере или через SSH.

Основной домен
Настройки, специфичные для WSL
Вам придётся выбрать фиктивный домен, поскольку он будет недоступен извне.
Например, ynh.wsl. Самая сложная часть — это показ этого домена для вашего хостинг-провайдера.
Измените файл C:\Windows\System32\drivers\etc\hosts. В нём должна быть строка, начинающаяся с ::1, обновите её или добавьте при необходимости, чтобы получить:
::1 ynh.wsl localhost
Если вы хотите создать поддомены, не забудьте добавить их также в файл hosts:
::1 ynh.wsl subdomain.ynh.wsl localhost
Это будет домен, используемый пользователями вашего сервера для доступа к порталу аутентификации. Позже вы сможете добавить другие домены и при необходимости изменить основной домен.
- Если вы новичок в самостоятельном размещении и у вас ещё нет доменного имени, мы рекомендуем использовать .nohost.me / .noho.st / .ynh.fr (например,
homersimpson.nohost.me). Если оно еще не занято, домен будет настроен автоматически, и вам не потребуется никаких дополнительных шагов настройки. Обратите внимание, что недостатком является отсутствие полного контроля над конфигурацией DNS. - Если у вас уже есть доменное имя, вы, вероятно, захотите использовать его здесь. Позже вам потребуется настроить записи DNS, как описано здесь.
Да, вам обязательно нужно настроить доменное имя. Если у вас нет доменного имени и вы не хотите использовать .nohost.me / .noho.st / .ynh.fr, вы можете создать фиктивный домен, например, yolo.test, и изменить свой локальный файл /etc/hosts таким образом, чтобы этот фиктивный домен указывал на соответствующий IP-адрес, как объяснено здесь.
Первый пользователь
На этом этапе создаётся первый пользователь. Вам следует выбрать имя пользователя и достаточно сложный пароль. (Мы не можем не подчеркнуть, что пароль должен быть надёжным!) Этот пользователь будет добавлен в группу администраторов и, следовательно, сможет получить доступ к пользовательскому порталу, веб-интерфейсу администратора и подключаться через SSH или SFTP. Администраторы также будут получать электронные письма, отправленные на адреса root@yourdomain.tld и admin@yourdomain.tld: эти письма могут использоваться для отправки технической информации или оповещений. Позже вы можете добавить дополнительных пользователей, которых также можно добавить в группу администраторов.
Этот пользователь заменяет старого пользователя admin , на которого могут ссылаться некоторые старые страницы документации. В этом случае просто замените admin на ваше имя пользователя.
Проведите первичную диагностику
После завершения процесса установки вы сможете войти в веб-интерфейс администратора, используя учётные данные первого созданного вами пользователя.
Система диагностики призвана обеспечить простой способ проверки правильности настройки всех критически важных аспектов вашего сервера и помочь вам в устранении неполадок. Диагностика будет запускаться дважды в день и отправлять оповещение по электронной почте в случае обнаружения проблем.
Не пугайтесь! При первом запуске диагностики вполне ожидаемо увидеть множество предупреждений (жёлтых или красных), поскольку обычно требуется настроить DNS-записи (если вы не используете домен .nohost.me/noho.st/ynh.fr), а также настроить перенаправление портов на домашнем маршрутизаторе.
Если уведомление неактуально (например, потому что вы не планируете использовать определённую функцию), можно смело пометить проблему как «игнорируемую»: для этого перейдите в раздел веб-панели администратора > Диагностика (Diagnosis), и нажмите кнопку игнорирования для данной конкретной проблемы.
В частности, к системам, установленным в WSL или на виртуальных машинах, скорее всего, нельзя будет получить доступ извне без дополнительной настройки сети в VirtualBox и на вашем компьютере.
- (Рекомендуется) Через веб-интерфейс
- Из командной строки
Для запуска диагностики перейдите в раздел «Диагностика» (Diagnosis) в веб-интерфейсе администратора. Нажмите кнопку «Запустить начальную диагностику» (Run initial diagnosis) — вы должны увидеть экран, подобный этому:

yunohost diagnosis run
yunohost diagnosis show --issues --human-readable
Получите сертификат Let's Encrypt
После настройки DNS-записей и перенаправления портов (если оно требуется) вы сможете установить сертификат Let's Encrypt. Это избавит новых посетителей от того пугающего предупреждения о безопасности, которое возникало ранее.
Более подробные инструкции и информацию о сертификатах SSL/TLS можно найти на соответствующей странице.
- Из веб-интерфейса
- Из командной строки
Перейдите в раздел «Домены» > Нажмите на свой домен > «Сертификат» (Domains > Domain > Certificate)

yunohost domain cert install
🎉 Поздравляем!
Теперь ваш сервер достаточно хорошо настроен. Если вы новичок в YunoHost, рекомендуем ознакомиться с обзором возможностей. Также вы можете установить понравившиеся приложения. Не забудьте настроить резервное копирование !