0. Ручная установка
1. Убедиться, что система, на которую устанавливается Yunohost - это Debian 11.x
Для этого открываем файл /etc/debian_version
Внутри должно быть значение 11.x где х - это номер подверсии
==========================================================
2. Переходим в режим суперпользователя (root). Для этого вводим "sudo -i" и пароль суперпользователя
==========================================================
3. Проверяем, есть ли доступ к интернету, а заодно к сайту Yunohost. Для этого в адресную строку браузера вводим yunohost.org
Если сайт открывается, значит всё нормально.
==========================================================
4. Установить curl
apt install curl
==========================================================
5. Проверить версию ядра ситсемы командой
uname -r
Версия должна быть минимум 3.12
==========================================================
6. Проверить, содержится ли в переменной окружения PATH каталог /sbin командой
echo "$PATH"
Если в выведенном списке нет этого каталога, то надо выполнить команду PATH=/sbin:\$PATH
==========================================================
7. Убедиться, что установлен systemd командой
command -v systemctl
Вывод должен показать строку "/usr/bin/systemctl"
Ещё можно просто выполнить команду systemctl - появится список служб.
==========================================================
8. Убедиться, что архитектура процессора - amd64 (x86_64). Для этого надо выполнить команду
uname -m
В выводе должно быть показано либо x86_64, либо amd64
==========================================================
9. Не устанавливать Yunohost в Docker и других контейнерах, так как могут быть ошибки.
В systemd-nspawn возможно ошибок не будет (чистый chroot не использовать)
==========================================================
10. Убедиться, что НЕ установлен Apache2. Выполнить команду
dpkg --get-selections | grep -v deinstall | grep 'apache2\s'
Если результат пустой - Apache2 не установлен
==========================================================
11. Убедиться, что НЕ установлен bind9. Выполнить команду
dpkg --get-selections | grep -v deinstall | grep 'bind9\s'
Если результат пустой - bind9 не установлен
==========================================================
==========================================================
12. ОБНОВЛЕНИЕ СИСТЕМЫ И УСТАНОВКА ДОПОЛНИТЕЛЬНЫХ КОМПОНЕНТОВ
----------------------------------------------------------
dpkg --list | grep -q '^ii debconf ' || { apt update --allow-releaseinfo-change; apt install debconf; }
apt update --allow-releaseinfo-change
apt-get -o Dpkg::Options::="--force-confold" -y install libtext-iconv-perl
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confold" -y install --only-upgrade grub-common grub2-common
apt-get -o Dpkg::Options::="--force-confold" -y dist-upgrade
==========================================================
==========================================================
13. УСТАНОВКА ЕЩЁ НЕКОТОРЫХ ЗАВИСИМОСТЕЙ
----------------------------------------------------------
apt-get update --allow-releaseinfo-change
apt-get install -o Dpkg::Options::="--force-confold" -y lsb-release whiptail gnupg apt-transport-https adduser
apt-get install -o Dpkg::Options::="--force-confold" -y dialog
==========================================================
==========================================================
14. Создаём конфигурационный каталог Yunohost
mkdir -p /etc/yunohost/
==========================================================
15. В дальнейших шагах конфигурационные файлы для:
- postfix
- dovecot
- mysql
- nginx
- metronome
будут перезаписаны. Если эти компоненты были установлены ранее и там имеются какие-то конфигруации
==========================================================
16. Проверить локали с помощью команды:
locale -a
Если en_US.UTF-8 и ваши нужные локали (например, ru_RU.UTF-8) уже присутствуют, функция вам не понадобится.
На всякий случай можно проверить локали на наличие проблем и устанить эти проблемы. Инструкция записана в дополнительном файле 0a.
Тем не менее влияние проблем локали на установку Yunohost незначительны
==========================================================
17. Настройка репозиториев
echo "deb [signed-by=/usr/share/keyrings/yunohost-archive-keyring.gpg] http://forge.yunohost.org/debian/ bullseye stable" | sudo tee /etc/apt/sources.list.d/yunohost.list
curl --fail --silent https://forge.yunohost.org/yunohost_bullseye.asc | gpg --dearmor | sudo tee /usr/share/keyrings/yunohost-archive-keyring.gpg
apt-get update
apt-get update --allow-releaseinfo-change
==========================================================
18. Автоматическая настройка конфигурационных параметров пакетов перед их установкой
debconf-set-selections << EOF
slapd slapd/password1 password yunohost
slapd slapd/password2 password yunohost
slapd slapd/domain string yunohost.org
slapd shared/organization string yunohost.org
slapd slapd/allow_ldap_v2 boolean false
slapd slapd/invalid_config boolean true
slapd slapd/backend select MDB
postfix postfix/main_mailer_type select Internet Site
postfix postfix/mailname string /etc/mailname
nslcd nslcd/ldap-bindpw password
nslcd nslcd/ldap-starttls boolean false
nslcd nslcd/ldap-reqcert select
nslcd nslcd/ldap-uris string ldap://localhost/
nslcd nslcd/ldap-binddn string
nslcd nslcd/ldap-base string dc=yunohost,dc=org
libnss-ldapd libnss-ldapd/nsswitch multiselect group, passwd, shadow
postsrsd postsrsd/domain string yunohost.org
EOF
=========================================================
19. Убедиться, что существует файл /var/log/auth.log
Если не существует - создать его командой:
touch /var/log/auth.log
=========================================================
20. Установка репозитория для PHP
- Создать файл
touch /etc/apt/sources.list.d/extra_php_version.list
- Вставить в этот файл строку
deb https://ftp.mpi-inf.mpg.de/mirrors/linux/mirror/deb.sury.org/repositories/php/ bullseye main
- В этот каталог /etc/apt/trusted.gpg.d/ вставить файл extra_php_version.gpg взятый из каталога с этой инструкцией
=========================================================
=========================================================
21. УСТАНОВКА YUNOHOST
---------------------------------------------------------
- Разрешение удаления sudo
export SUDO_FORCE_REMOVE=yes
---------------------------------------------------------
- Снятие неизменяемости с /etc/resolv.conf
chattr -i /etc/resolv.conf
---------------------------------------------------------
- Установка зависимостей отдельно
apt-get -o Dpkg::Options::="--force-confold" -y install debhelper dh-autoreconf
---------------------------------------------------------
- Установка Yunohost и его зависимостей
apt-get -o Dpkg::Options::="--force-confold" \
-o APT::install-recommends=true \
-y install yunohost yunohost-admin postfix php7.4-fpm mariadb-server
========================================================
22. Проверить, активен ли DBus. Выполнить команду
systemctl is-active dbus
В выводе терминала должно быть слово active
Если это не так, выполнить команду, которая включит и одновременно запустит сервис
systemctl enable dbus --now
========================================================
23. Перезапустить сервисы
service slapd restart
service unscd restart
service nslcd restart
========================================================
24. Очистка после установки
- Удаление SSH ключей
rm -f /etc/ssh/ssh_host_*
---------------------------------
- Создание новых SSH ключей
yes | ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
yes | ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
yes | ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t ecdsa -b 521
---------------------------------
- Удаление логов
find /var/log -type f -exec rm {} \;
---------------------------------
- Очистка кэша apt
apt-get clean
========================================================
25. Определить локальный и глобальный айпи
Если у сервера белый статический айпи, можно использовать https://глабальный_ip
Иначе, для открытия станицы Юнохоста для постустановки, нужно использовать https://локальный_ip
Либо просто ввести в терминале команду
yunohost tools postinstall
========================================================
26. После настройки остановить службу metronome, и удалить эту программу
apt remove metronome