Skip to main content

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

Начинаем пост-установку.
После того как экран станет чёрным, перезагружаем компьютер