YunoHost: универсальный сервер на базе Debian для самостоятельного хостинга
YunoHost — это универсальная серверная операционная система, основанная на Debian. Он в первую очередь предназначен для того, чтобы сделать самостоятельный хостинг доступным для всех. Используя YunoHost, вы можете легко разместить свой собственный почтовый сервер, веб-сервер, сервер LDAP, DNS-сервер, сервер резервного копирования, платформу CMS, такую как Wordpress, или что-нибудь и все, что угодно, с помощью нескольких щелчков мыши. Вы можете разместить его как на своем домашнем сервере, так и на любом VPS. Это полностью бесплатно и с открытым исходным кодом. Исходный код доступен на GitHub.
YunoHost — это минимальный дистрибутив Linux, который поставляется со следующим набором приложений:
- Nginx: веб-сервер.
- Postfix : SMTP-сервер электронной почты.
- Dovecot: сервер электронной почты IMAP и POP3.
- Rspamd: фильтрация спама в электронной почте.
- Метроном: сервер XMPP.
- OpenLDAP: сервер LDAP.
- Dnsmasq: DNS-сервер.
- SSOwat: система веб-аутентификации единого входа (SSO).
- Let's Encrypt: менеджер сертификатов.
Все вышеперечисленное программное обеспечение можно установить и настроить через веб-интерфейс. Кроме того, YunoHost поставляется с системой приложений. Система приложений — это не что иное, как репозиторий сообщества проверенных вспомогательных сценариев для установки дополнительных сервисов или веб-приложений, таких как WordPress, Roundcube, phpMyAdmin, TinyTInyRSS и других. Полный список официальных приложений YunoHost можно просмотреть здесь.
Возможности ЮноХоста
Что касается возможностей YunoHost, то можно перечислить следующее:
- Многопользовательская поддержка с интеграцией LDAP,
- Поддержка нескольких доменов,
- Система электронной почты,
- Сервер обмена мгновенными сообщениями,
- Единый вход (SSO),
- Система приложений,
- Резервная система,
- Система сервисов конфигурации регенерации,
- и много.
Установить ЮноХост
YunoHost доступен как отдельная версия, или вы можете установить его поверх существующей операционной системы Debian. Также вы можете скачать коробки YunoHost Vagrant и образы Raspberry Pi. Все установочные образы можно скачать по ссылке ниже.
Для целей данного руководства я буду использовать ISO-образ YunoHost. После загрузки ISO-образа создайте загрузочный USB-накопитель или SD-карту, как описано по ссылке ниже.
- Etcher - красивое приложение для создания загрузочных SD-карт или USB-накопителей
Загрузите систему с загрузочного диска. Вас встретит следующее загрузочное сообщение. Выберите «Графическая установка» и нажмите Enter.
Выберите язык, который будет использоваться в процессе установки, и нажмите ENTER.
Выберите свое местоположение и нажмите ENTER. Выбранное местоположение будет использоваться для установки вашего часового пояса.
Выберите раскладку клавиатуры, которую хотите использовать.
Теперь начнется установка базы YunoHost. Если вы включили DHCP, все параметры сети будут настроены автоматически. Если нет, вам придется настроить их вручную.
Далее выберите жесткий диск, на который вы хотите установить загрузчик. Если у вас несколько жестких дисков, вам необходимо выбрать правильный жесткий диск (конечно, если у вас несколько жестких дисков).
После установки загрузчика ваша система автоматически перезагрузится.
Войдите в систему как пользователь root. Пароль по умолчанию для пользователя root — "yunohost".
После установки YunoHost
Первое, что нам следует после установки любого дистрибутива - обновить его. Поскольку YunoHost основан на Debian, команды, совместимые с Debian, будут работать в YunoHost.
Чтобы обновить YunoHost, просто запустите:
apt-get update
apt-get upgrade
Теперь откройте веб-браузер в любой удаленной системе и перейдите по адресу http://yunohost_ip/. Вы увидите предупреждение о сертификате безопасности. просто проигнорируйте, добавив IP-адрес сервера yunohost в список исключений. Затем появится страница приветствия. Нажмите Начать, чтобы продолжить.
Если вы выбрали конфигурацию после установки через Интернет, вам будет предложено выбрать имя домена. Это первое доменное имя, связанное с вашим сервером YunoHost, но оно также будет использоваться пользователями вашего сервера для доступа к порталу аутентификации. Соответственно, его будет видно всем, поэтому выбирайте его внимательно.
- Если у вас есть зарегистрированный домен, выберите первый вариант, например У меня уже есть доменное имя, и введите его. Например, ostechnix.com.
- Если у вас нет доменного имени и вам не нужны .nohost.me или .noho.st, вы можете использовать локальный домен. Например, вы можете использовать что-то вроде ostechnix.local. Затем настройте маршрутизатор на перенаправление локального доменного имени на ваш сервер.
- Если у вас еще нет зарегистрированного домена или вы хотите использовать службу DynDNS YunoHost, выберите поддомен .nohost.me или .noho.st (т. е. testostechnix.nohost.me). Для этого выберите второй вариант и введите выбранное вами доменное имя. Домен будет настроен автоматически, и вам не потребуется никаких дополнительных действий по настройке.
Поскольку это всего лишь тестовая среда, я выбрал ostechnix.local в качестве своего доменного имени.
Затем установите пароль администратора для веб-панели YunoHost и нажмите «GO», чтобы продолжить.
YunoHost приступит к настройке всех необходимых сервисов. Это займет несколько секунд.
Наконец, введите пароль администратора, который вы только что создали на предыдущем шаге, и нажмите Войти.
Вот как выглядит веб-панель YunoHost.
Отсюда вы можете создавать, удалять и управлять пользователями, доменами, устанавливать приложения, настраивать службы и т. д. Кроме того, вы можете проверять, запущена ли служба или нет, контролировать систему, дисковую и сетевую активность, создавать резервные копии пользовательских данных, почты, файлов конфигурации. и так далее.
Альтернативно вы можете запустить следующую команду для завершения шагов после установки:
yunohost tools postinstall
Введите основной домен, установите новый административный пароль и нажмите ENTER, чтобы завершить настройку.
Main domain: ostechnix.local
New administration password:
Confirm new administration password:
Success! LDAP has been initialized
yunohost.org
Success! The configuration has been updated for service 'ssl'
Generating a 2048 bit RSA private key
.........................................................+++
..........................................+++
writing new private key to '/usr/share/yunohost/yunohost-config/ssl/yunoCA/ca/cakey.pem'
-----
Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....done.
Success! Successfully installed a self-signed certificate for domain ostechnix.local!
Success! The domain has been created
Success! The main domain has been changed
--2017-03-15 14:13:08-- https://app.yunohost.org/official.json
Resolving app.yunohost.org (app.yunohost.org)... 37.187.18.36
Connecting to app.yunohost.org (app.yunohost.org)|37.187.18.36|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28122 (27K) [application/json]
Saving to: ‘/var/cache/yunohost/repo/yunohost.json.tmp’
/var/cache/yunohost 100%[=====================>] 27.46K 48.2KB/s in 0.6s
2017-03-15 14:13:16 (48.2 KB/s) - ‘/var/cache/yunohost/repo/yunohost.json.tmp’ saved [28122/28122]
Success! The app list has been fetched
Success! The SSOwat configuration has been generated
Success! The administration password has been changed
Success! The firewall has been reloaded
update-rc.d: error: no runlevel symlinks to modify, aborting!
Success! The configuration has been updated for service 'glances'
Success! The configuration has been updated for service 'nslcd'
Success! The configuration has been updated for service 'metronome'
Success! The configuration has been updated for service 'postfix'
Success! The configuration has been updated for service 'rspamd'
Success! The configuration has been updated for service 'nginx'
Success! The configuration has been updated for service 'rmilter'
Success! The configuration has been updated for service 'dnsmasq'
Success! The configuration has been updated for service 'fail2ban'
Success! The configuration has been updated for service 'mysql'
Success! The configuration has been updated for service 'avahi-daemon'
Success! The configuration has been updated for service 'dovecot'
Success! The configuration has been updated for service 'nsswitch'
Success! The configuration has been updated for service 'slapd'
Success! The configuration has been updated for service 'ssh'
Success! YunoHost has been configured
Администрирование YunoHost из командной строки
YunoHost также можно управлять из командной строки.
Сначала вам необходимо подключиться к серверу YunoHost через SSH. Корневой доступ по SSH запрещен по умолчанию. Создайте обычное использование, подключитесь через SSH и переключитесь на пользователя root.
ssh username@yunohost-ip
Типичное использование Yunohost:
yunohost -h -v
Команды для управления доменами:
yunohost domain [-h] {info,add,list,remove}
# Команды для управления мониторингом:
yunohost monitor [-h] {enable,network,show-stats,update-stats,disk,system,disable}
# Команды для управления сервисами:
yunohost service [-h] {status,start,enable,log,stop,disable}
Команды для управления Брандмауэром:
yunohost firewall [-h]{installupnp,checkupnp,list,stop,disallow,reload,allow,removeupnp}
Команды для управления резервным копированием:
yunohost backup [-h] {init} ...
Команды для управления приложениями:
yunohost app [-h] {map,ssowatconf,install,checkport,listlists,removelist,info,upgrade,service,fetchlist,checkurl,list,remove,removeaccess,setting,initdb,addaccess}
Команды для управления пользователями:
yunohost user [-h] {info,create,list,update,delete} ...
Для получения более подробной информации обратитесь к странице документации, приведенной в конце этого руководства.
Рекомендуем прочитать:
- M23 - система развертывания и управления программным обеспечением с открытым исходным кодом для Linux
И это все. YunoHost действительно представляет собой комплексное серверное решение, которое значительно упрощает развертывание сервера и веб-приложений. Это подходит для среды тестирования и разработки, а также для ленивых администраторов Linux, которые хотят развернуть сервер в кратчайшие сроки.
Ваше здоровье!
Ресурсы:
- Сайт YunoHost
- Документация YunoHost