# Устранение неполадок

## Команда не найдена при попытке запустить v-команду как root

Добавьте в /root/.bashrc следующий код:

```bash
if [ "${PATH#*/usr/local/hestia/bin*}" = "$PATH" ]; then
. /etc/profile.d/hestia.sh
fi
```

И выйдите из системы и войдите снова.

После этого вы сможете запустить любую v-команду, которую захотите.

## Отключение «Использовать список разрешенных IP-адресов для попыток входа» через командную строку

С выпуском Hestia v1.4.0 мы добавили определенные функции безопасности, включая возможность ограничить вход определенными IP-адресами. Если ваш IP-адрес изменится, вы больше не сможете войти. Чтобы отключить эту функцию, выполните следующие команды:

```bash
# Отключить функцию
v-change-user-config-value admin LOGIN_USE_IPLIST 'no'
# Удалить перечисленные IP-адреса
v-change-user-config-value admin LOGIN_ALLOW_IPS ''
```

## Могу ли я обновить свои cronjobs через `crontab -e`?

Нет, не можете. При обновлении HestiaCP crontab просто перезапишется. Изменения также не будут сохранены в резервных копиях.

## После обновления Apache2 я не могу перезапустить Apache2 или Nginx

В сообщении об ошибке указано (98) Адрес уже используется: AG0072: make_sock: не удалось привязаться к адресу 0.0.0.0:80

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

```bash
Файл конфигурации '/etc/apache2/apache2.conf'
==> Изменен (вами или скриптом) с момента установки.
==> Дистрибьютор пакета отправил обновленную версию.
Что вы хотите с этим сделать? Возможны следующие варианты:
Y или I: установить версию сопровождающего пакета
N или O: сохранить текущую установленную версию
D: показать различия между версиями
Z: запустить оболочку для изучения ситуации
Действие по умолчанию — сохранить текущую версию.
*** apache2.conf (Y/I/N/O/D/Z) [default=N] ?
```

Если вы видите это сообщение **ВСЕГДА** нажмите "N" или **ENTER**, чтобы выбрать значение по умолчанию!

Однако если вы ввели Y или I. Затем замените конфигурацию, которая находится в папке /root/hst_backups/xxxxx/conf/apache2/, и скопируйте apache2.conf и ports.conf в папку /etc/apache2/

xxxxxx — это дата/время создания резервной копии во время последнего обновления HestiaCP

Если у вас нет резервной копии, вы также можете скопировать конфигурацию из /usr/local/hestia/install/deb/apache2/apache2.conf в /etc/apache2.conf, а также пустой /etc/apache2/ports.conf

## Невозможно привязать адрес

В редких случаях сетевая служба может работать медленнее, чем Apache2 и/или Nginx. В этом случае Nginx или Apache2 откажутся запуститься. ```bash
systemctl status nginx
```

Создаст ошибку error

```bash
nginx: [emerg] bind to x.x.x.x:80 failed (99: не удалось назначить запрошенный адрес)
```

или в случае Aapche2

```bash
(99)Не удалось назначить запрошенный адрес: AH00072: make_sock: не удалось привязаться к адресу x.x.x.x:8443
```

Следующая команда должна разрешить службам назначать несуществующие IP-адреса

```bash
sysctl -w net.ipv4.ip_nonlocal_bind=1
```

## Ошибка: 24: Слишком много открытых файлов

```bash
2022/02/21 15:04:38 [emerg] 51772#51772: open() "/var/log/apache2/domains/<redactedforprivacy>.error.log" не удалось (24: слишком много открытых файлов)
```

или

```bash
2022/02/21 15:04:38 [emerg] 2724394#2724394: open() "/var/log/nginx/domains/xxx.error.log" не удалось (24: слишком много открытых файлов)
```

Эта ошибка означает, что в Nginx слишком много открытых файлов. Чтобы решить эту проблему:

/etc/systemd/system/nginx.service.d/override.conf

```bash
[Service]
LimitNOFILE=65536
```

Затем выполните:

```bash
systemctl daemon-reload
```

Добавьте это в файл конфигурации Nginx (должен быть меньше или равен LimitNOFILE!)

```bash
worker_rlimit_nofile 16384
```

Затем перезапустите nginx с помощью systemctl restart nginx

Чтобы проверить, выполните:

```bash
cat /proc/ < nginx-pid > /limits
```