Установка YunoHost в Debian 9

YunoHost – это открытая платформа, которая упрощает установку и настройку self-hosted приложений, включая почтовые клиенты, менеджеры паролей и даже сайты WordPress. Собственная почта и другие подобные приложения обеспечивают конфиденциальность и увеличивают контроль над вашей личной информацией. YunoHost позволяет вам настраивать параметры, создавать пользователей и самостоятельно размещать свои приложения с помощью графического интерфейса пользователя. YunoHost предоставляет маркет приложений, которые вы можете добавить на свой хостинг. Интерфейс выступает в качестве домашней страницы для всех ваших приложений.

Данный мануал поможет установить и настроить YunoHost на сервере Debian 9. В процессе установки вы научитесь создавать DNS-записи, настраивать YunoHost для поддержки сертификата Let’s Encrypt и добавлять необходимые приложения.

Требования

  • Сервер Debian 9, полностью настроенный по этому мануалу (пользователь sudo и включенный брандмауэр также пригодятся).
  • 1 Гб памяти минимум.
  • Доменное имя, направленное на ваш сервер. Читайте мануал Как настроить имя хоста.

1: Установка YunoHost

На этом этапе нужно установить YunoHost с помощью официального скрипта. YunoHost предоставляет открытый скрипт, который поможет вам установить и настроить все необходимое для работы YunoHost.

Перед загрузкой скрипта перейдите во временный каталог. Если загрузить его в каталог /tmp, то скрипт удалится при перезагрузке, когда он уже будет не нужен.

cd /tmp

Чтобы загрузить скрипт, введите:

wget -O yunohost https://install.yunohost.org/

Команда загрузит скрипт и сохранит его в текущем каталоге как файл yunohost.

Запустите скрипт:

sudo /bin/bash yunohost

Когда будет предложено перезаписать файлы конфигурации, выберите yes.

После этого вы увидите экран Post-installation, подтверждающий установку YunoHost.

YunoHost packages have been installed successfully!
[…]
Do you want to proceed with YunoHost post-installation now?

Выберите Yes, чтобы продолжить.

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

YunoHost установлен на ваш сервер.

2: Настройка DNS

Теперь у вас есть экземпляр YunoHost, и вы можете в первый раз получить доступ к панели администратора. Здесь можно настроить записи DNS и домен, который будет обслуживать YunoHost.

Для начала введите в браузер IP-адрес вашего сервера или домен, который вы выбрали только что. Вы увидите предупреждение о том, что соединение не защищено.

This Connection Is Not Private.

Браузер реагирует так потому, что пока YunoHost использует стандартный самоподписанный сертификат. Но вы все равно можете попасть на свой сайт, потому что вскоре мы настроим сертификат Let’s Encrypt.

Теперь введите пароль администратора, чтобы получить доступ к панели YunoHost.

Для корректной работы YunoHost нужно настроить параметры DNS и указать ваш домен. В панели администратора перейдите в раздел Domains и выберите свой домен. Теперь вы увидите страницу Operations, где вы можете получить доступ к настройкам конфигурации DNS.

Нажмите DNS configuration. YunoHost выведет образец файла зоны для вашего домена. Этот файл нужно использовать для настройки записей вашего домена.

Теперь, чтобы настроить DNS-записи, откройте панель управления сервером.

Тут ваши действия зависят от хостинг-провайдера. Но в целом стратегия такая: нужно открыть настройки сети и указать ваш домен в соответствующем поле.

Вы попадете в настройки доменного имени. На этой странице должны быть поля, в которые можно добавлять записи для YunoHost.

Запись NS, как правило, уже есть. Вам нужно добавить следующие записи, используя образец файла, предоставленный YunoHost:

  • Две записи А:
  1. В name поставьте @, укажите IP сервера, TTL оставьте 3600.
  2. В name поставьте *, укажите IP сервера, TTL оставьте 3600.
  • Две записи SRV:
  1. В hostname укажите _xmpp-client._tcp, в port – 5222, priority 0, weight 5, в TTL укажите 3600.
  2. В hostname укажите _xmpp-server._tcp, в port – 5269, priority 0, weight 5, в TTL укажите 3600.
  • Три записи CNAME:
  1. В hostname укажите muc, в alias — @, в TTL установите 3600.
  2. В hostname укажите pubsub, в alias — @, в TTL установите 3600.
  3. В hostname укажите vjud, в alias — @, в TTL установите 3600.

Чтобы настроить почту, создайте такие записи:

  • Запись MX: в hostname поставьте @, в mail укажите свой домен.
  • Три записи TXT:
  1. Скопируйте строку TXT, включая двойные кавычки, из образца файла зоны в поле value, которое начинается с «v=spf1», добавьте @ в hostname, TTL оставьте 3600.
  2. Скопируйте длинную строку TXT, включая двойные кавычки, из образца файла зоны в поле value, добавьте mail._domainkey в hostname, TTL оставьте 3600.
  3. Скопируйте строку TXT, включая двойные кавычки, из образца файла зоны в поле value (типа «v=DMARC1; p=none»), добавьте _dmarc в hostname, TTL оставьте 3600.

Для поддержки Let’s Encrypt нужна новая запись CAA:

  • В hostname укажите @, в authority – letsencrypt.org, tag – issue, flags – 128, в TTL укажите 3600.

Создав все необходимые DNS-записи, вы увидите список в панели управления.

Вы настроили все записи DNS, необходимые для работы сервисов YunoHost. На следующем этапе можно защитить свое соединение, установив Let’s Encrypt.

3:  Настойка сертификата Let’s Encrypt

SSL-сертификат Let’s Encrypt зашифрует ваши соединения по HTTPS, когда ваши пользователи или вы зайдете на сайт. YunoHost включает функцию установки Let’s Encrypt на ваш домен через пользовательский интерфейс.

В Domains выберите свой домен. Перейдите в раздел Operations. Здесь в Manage SSL certificates выберите SSL certificates. Вы увидите опцию Install a Let’s Encrypt certificate. Выберите ее, чтобы установить такой сертификат.

Теперь для вашего домена будет установлен сертификат Let’s Encrypt. Вы больше не увидите предупреждений при посещении своего домена или IP-адреса. Сертификат Let’s Encrypt будет автоматически обновляться по умолчанию. Чтобы в дальнейшем вручную обновить свой сертификат Let’s Encrypt или вернуться к самоподписанному сертификату, вы можете снова использовать страницу Operations.

Вы настроили шифрование и защитили свой домен. Дальше мы попробуем создать нового пользователя и аккаунт электронной почты, чтобы начать установку приложений YunoHost.

4: Установка приложений

YunoHost предоставляет возможность устанавливать ряд предварительно упакованных веб-приложений. Чтобы начать установку и работу с приложениями, необходимо создать обычную учетную запись пользователя без прав администратора и аккаунт электронной почты. Вы можете сделать это через панель администратора.

Найдите раздел Users.

Нажмите зеленую кнопку New user (в правой части экрана). Введите учетные данные нового пользователя.

По умолчанию у этого пользователя уже есть связанный адрес электронной почты, доступ к которому можно получить через любой почтовый клиент IMAP. В качестве альтернативы вы можете установить почтовый клиент на YunoHost (об этом немного позже).

На данный момент мы настроили все основные функции YunoHost и создали пользователя с электронной почтой. Теперь через панель администратора можно получить доступ к приложениям, которые готовы к установке. В этом мануале мы попробуем установить легкое почтовое приложение Rainloop, но вы можете установить любое из доступных приложений, следуя этим инструкциям.

Перейдите в раздел Applications в панели администратора. Здесь вы можете выбрать и установить любое из официальных приложений.

В списке выберите Rainloop. Вам будут предложены опции приложения:

  • Label for Rainloop: здесь можно выбрать метку, которая будет отображаться на домашней странице пользователей YunoHost.
  • Choose a domain for Rainloop: доменное имя приложения.
  • Choose a path for Rainloop: URL приложения, например /rainloop. Чтобы остаться в корне домена, просто поставьте /. Помните, если вы сделаете это, вы не сможете использовать этот домен для других приложений.
  • Is it a public application?: укажите, будет ли приложение доступным для анонимных пользователей (или только для зарегистрированных).
  • Enter a strong password for the ‘admin’ user: введите сложный пароль администратора.
  • Do you want to add YunoHost users to the recipients suggestions?: если выбрать Yes, то приложение будет предлагать адреса электронной почты и имена других пользователей в качестве получателей при составлении писем.
  • Select default language: язык.

Выбрав удобные опции, нажмите Install.

Установка Rainloop завершена. Откройте браузер и введите путь, который вы выбрали при установке приложения (например, example.com/rainloop). Вы увидите главную панель Rainloop.

Вы можете повторить этот раздел, чтобы создать больше пользователей и установить другие дополнительные приложения по своему усмотрению.

В разделе Applications панели администратора также можно установить сторонние пользовательские приложения, извлекая данные из репозиториев GitHub.

Теперь на вашем сервере есть настроенный и защищенный экземпляр YunoHost.

Заключение

В этом мануале вы узнали, как установить YunoHost на свой сервер, создали учетную запись и установили приложение. У вас есть централизованное место для размещения всех ваших self-hosted приложений, включая почтовый клиент. На сайте YunoHost можно получить полный список приложений, как официальных, так и неофициальных. Также читайте официальное руководство по устранению неполадок, в котором можно найти информацию о сервисах, конфигурации и обновлениях YunoHost.

Tags: , , ,