0-0-0. Инструкция установки из локального репозитория
Установка дополнительных компонентов:
bash
dpkg --list | grep -q '^ii debconf ' || { apt-get install -o Dpkg::Options::="--force-confold" -y debconf; }
apt-get install -o Dpkg::Options::="--force-confold" -y libtext-iconv-perl
DEBIAN_FRONTEND=noninteractive apt-get install -o Dpkg::Options::="--force-confold" -y grub-common grub2-common
Установка дополнительных зависимостей:
bash
apt-get install -o Dpkg::Options::="--force-confold" -y lsb-release whiptail gnupg apt-transport-https adduser dialog
Создание конфигурационного каталога Yunohost:
bash
mkdir -p /etc/yunohost/
Настройка репозиториев Yunohost:
bash
echo "deb [trusted=yes] file:/var/local/repo ./" | sudo tee /etc/apt/sources.list.d/yunohost.list
Автоматическая настройка конфигурационных параметров пакетов перед их установкой:
bash
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
Убедиться, что существует файл /var/log/auth.log:
bash
sudo touch /var/log/auth.log
Установка репозитория для PHP (если это необходимо):
bash
echo "deb [trusted=yes] file:/var/local/repo ./" | sudo tee /etc/apt/sources.list.d/extra_php_version.list
sudo cp /path/to/extra_php_version.gpg /etc/apt/trusted.gpg.d/
Установка Yunohost:
bash
export SUDO_FORCE_REMOVE=yes
chattr -i /etc/resolv.conf
apt-get install -o Dpkg::Options::="--force-confold" -y debhelper dh-autoreconf
apt-get install -o Dpkg::Options::="--force-confold" -o APT::install-recommends=true -y yunohost yunohost-admin postfix php7.4-fpm mariadb-server
Проверка и активация DBus:
bash
systemctl is-active dbus || systemctl enable dbus --now
Перезапуск сервисов:
bash
service slapd restart
service unscd restart
service nslcd restart
Очистка после установки:
bash
rm -f /etc/ssh/ssh_host_*
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-get clean
=======================================
Открываем файл
/usr/lib/python3/dist-packages/yunohost/tools.py
Находим функцию def tools_postinstall() на 148 строке
Начиная с 207 строки удаляем этот кусок кода:
# If this is a nohost.me/noho.st, actually check for availability
dyndns = not ignore_dyndns and is_yunohost_dyndns_domain(domain)
if dyndns:
# Check if the domain is available...
try:
available = _dyndns_available(domain)
# If an exception is thrown, most likely we don't have internet
# connectivity or something. Assume that this domain isn't manageable
# and inform the user that we could not contact the dyndns host server.
except Exception:
raise YunohostValidationError(
"dyndns_provider_unreachable", provider="dyndns.yunohost.org"
)
else:
if not available:
if dyndns_recovery_password:
# Try to unsubscribe the domain so it can be subscribed again
# If successful, it will be resubscribed with the same recovery password
dyndns_unsubscribe(
domain=domain, recovery_password=dyndns_recovery_password
)
else:
raise YunohostValidationError("dyndns_unavailable", domain=domain)
------------------------------
Сохраняем файл и выходим из текстового редактора
Запускаем браузер, в адресную строку вводим https://127.0.0.1
Начинаем пост-установку.
После того как экран станет чёрным, перезагружаем компьютер