# Решение ошибок

# Перестала считаться статистика, что делать?

  • Зайдите на страницу Обслуживание > Состояние, проверьте, когда последний раз срабатывал крон.
  • Проверьте наличие ошибок в Обслуживание>Логи>Системный лог.

Расшифровки некоторых ошибок есть на этой странице. Если не можете починить самостоятельно, напишите на support@keitaro.io.

# Connection attempt failed: SQLSTATE[08004] [1040] Too many connections

Превышено максимальное количество подключений, которое выставлено в конфигурации MySQL. Увеличьте значение max_connections в /etc/my.cnf и перезагрузите MySQL.

# Connection attempt failed: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket

База данных не выдерживает нагрузки. Зайдите в Настройки Keitaro, во вкладке "Системные" найдите опцию "Хранилище обработчика трафика" и выберите "Файлы" или "Redis".

# Ошибка "MySQL server has gone away" (или "No file or directory")

  1. Проверьте наличие wait_timeout. Это можно сделать в терминале:
mysql -e "show variables like 'wait_timeout';"

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 30 |
+---------------+-------+

Чтобы отключить, удалите или закоментируйте в конфиге /etc/my.cnf строку #wait_timeout=10

Затем перезагрузите MySQL.

service mysqld restart
service mysql restart
service mariadb restart
  1. Убедитесь, что в настройках у хранилища данных выбрано "Файлы" или "Redis".

# Не удается сохранить обновленную лицензию

Проверьте наличие свободного места. Например, через консоль: df -h

Появится, примерно, такой результат: Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk1 465Gi 407Gi 57Gi 88% 106779354 15058244 88% /

Предпоследняя колонка показывает % занятости места.

# Как избавиться от "[IPv6]" в отчетах

Для этого можно отключить IPv6 на сервере. Это заставит всех подключаться к серверу строго по IPv4.

CentOS

Отредактируйте файл /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

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

sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

Timeweb.ru

IPv6 отключается по запросу в техподдержку.

Cloudflare

Cloudflare принудительно включает IPv6 на всех новых домена, отключить эту опцию не так просто. Для отключения необходимы некоторые технические навыки и опыт работы с терминалом.

  1. Зайдите в "Network". Найдите настройку "IPv6 Compatibility" у домена. Вы сейчас видите, что она в состоянии On и отключить ее нельзя. Поэтому переходите к следующему шагу.
  2. Скопируйте в блокнот следующий код:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ZONEID/settings/ipv6" \
     -H "X-Auth-Email: EMAIL" \
     -H "X-Auth-Key: API_KEY" \
     -H "Content-Type: application/json" \
     --data '{"value":"off"}'
  1. Замените ZONEID на зону, ее можно взять на странице Overview
  2. Замените EMAIL на email вашего аккаунта. И API_KEY на ключ, который берется на странице "My Profile", называется "Global API Key".
  3. Скопируйте исправленный код из блокнота и запустите код в терминале вашего сервера по SSH.
  4. Проверьте, что настройка "IPv6 Compatibility" у домена стала Off. Каждый домен отключается отдельно, поэтому нужно повторить операцию несколько раз, если у вас несколько доменов.

# Трекер не открывается, при не работающем MySQL.

Данные шаги понадобятся тем, у кого трекер не будет запускаться из-за тогоб что службы баз данных MySQL не работают или отказываются запускаться, а БД трекера оказалась битой. Чаще всего это происходит, когда база данных трекера MySQL упала из-за проблемы записи/чтения с SSD диска, ввиду отказа SSD устройства или любой другой его неполадки(битые или неисправные блоки, ошибки I/O чтения записи, битая память). Прежде всего Вам необходимо будет поднять MySQL в recovery для того что бы трекер заработал, а Вы в дальнейшем могли сделать дамп БД трекера и перенести трекер на сервер с исправным SSD.

  1. В терминале сервера Вашего трекера выполните:
sudo touch /forcefsck
  1. Произведите перезагрузку VPS/VDS сервера из панели управления VPS/VDS хостинга, либо же следующей командой в терминале сервера:
reboot
  1. Запустите службу БД MySQL следующей командой
service mysql start

или же

systemctl start mysql

После этого служба MySQL будет запущена в recovery режиме, что позволит выполнить дальнейшее создание дампа БД командой mysqldump.

# Изменения префикса таблицы

Если при переносе трекера и последующем развертывании из mysql дампа БД возникает ошибка при проверке префикса таблицы - значит префикс таблицы Вашего трекера был изменен. Автоматическая установка трекера не примет такой дамп БД, но изменить префикс (кроме как штатными способами через phpmyadmin) можно еще с помощью команды в терминале. С помощью потокового текстового редактора sed можно заменить префикс таблицы на keitaro_ Для этого Вам необходимо разархивировать Ваш дамп БД(желательно копию), после чего в терминале трекера в одной папке с Вашим дампом БД введите команду:

sed -i s/someprefix_/keitaro_/g dump.sql

Где someprefix_ - текущий префикс таблицы Вашей БД. То есть если, например, имеем префикс таблицы test_ а заменить нам его нужнно на keitaro_ наша команда будет иметь вид:

sed -i s/test_/keitaro_/g dump.sql

ВНИМАНИЕ Данная команда работает на строгое соответствие - то есть если Вы ошибетесь в слове или пробеле, то потоковый редактор пройдется по всему Вашему дампу и заменит указанное в нем слово. Если Вы не знаете или не уверены в своих действиях - пожалуйста обратитесь в техническую поддержку трекера. В другом случае, если Вы неудачно произведете замену префикса в БД трекера - Вы рискуете нарушить и поломать саму базу.