🐹 Nextcloud ошибка: «Internal Server Error — The server encountered an internal error and was unable to complete your request. — Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report. — More details can be found in the server log.»

Содержание:

1. Признаки ошибки.
2. Исправление ошибки.
3. Оригиналы источников информации.


1. Признаки ошибки.

Обновил ты такой свой сервер CentOS 7 с Nextcloud. И тут Nextcloud тебе жалуется при попытке войти на него.

Оригинал информации с экрана монитора:

Оригинальный текст сообщения:

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

Перевод:

Внутренняя ошибка сервера

Сервер столкнулся с внутренней ошибкой и не смог выполнить ваш запрос.
Пожалуйста, свяжитесь с администратором сервера, если эта ошибка повторяется несколько раз, пожалуйста, включите технические детали ниже в свой отчет.
Более подробную информацию можно найти в журнале сервера.

Хотя все было обновлено по инструкции, простой традиционной командой обновления CentOS 7:

# yum -y update

2. Исправление ошибки.

После обновления программ на сервере по линии PHP возможна одна мелкая и не приятная ошибка «HTTP 500 Internal Server Error», которую можно исправить по инструкции.

Если не помогло открыть Nextcloud, смотрим логи.

{"reqId":"G7jdl5sVX3"...(много букв)..."class":"OC\\Memcache\\Redis","type":"->"...(еще много букв и конец)

В общем капитан Очевидность с мест сообщает, что отпал Redis — сервер кэширования!

Проверим что мешает запускаться Redis:

# journalctl -ex -u redis

Ответ:

Или так:

# systemctl status redis -l

Так и есть:

Присмотримся подробнее в причину краха запуска.

Файл конфигурации Redis /etc/redis.conf содержит что-то, что вышло из строя и Redis не стартует.

Process: 2680 ExecStart=/usr/bin/redis-server /etc/redis.conf --daemonize no --supervised systemd (code=exited, status=1/FAILURE)

Подробности выглядят так:

Failed to start Redis persistent key-value database.

Получается, что новая версия Redis пытается при старте подключиться с своим базам данных кэша от старой версии Redis и сама себя не понимает!

Посмотрим, где в файле конфигурации содержится указание на каталог хранения баз данных Redis:

# mcedit /etc/redis.conf

Открываем файл конфигурации и ищем упоминания про базы данных Redis:

Из записей файла конфигурации мы узнаем каталог — место хранения файла базы данных кэша /var/lib/redis.

Сотрите любым удобным для вас способом содержимое каталога /var/lib/redis с базами данных Redis. Нужно смело стереть все файлы внутри каталога. При перезапуске службы Redis файл базы данных кэша будет создан корректно и служба запустится без ошибок.

# sudo systemctl restart redis

Команда была принята без ошибок!

Проверим статус службы Redis:

# systemctl status redis -l

Ответ:

Служба Redis запущена и работает корректно.

Проверим работу Nextcloud. Открываем адрес и нас приветствует заставка входа в систему! 

Ошибка устранена!

3. Оригиналы источников информации

  1. community.nethserver.org «Redis-rspamd failed to start after restore».

Читайте также: