После нечистого выключения ownCloud продолжает отвечать с ошибкой HTTP 500

380
user149408

Мой сервер ownCloud на основе Raspbian на днях отключился. С тех пор я не могу использовать ownCloud: в браузере я просто получаю пустую страницу, которая, кажется, не завершает загрузку, DAVdroid и клиент синхронизации с настольным компьютером жалуются на получение HTTP-ошибки 500 (внутренняя ошибка сервера).

Я даже не могу добраться до интерфейса пользователя ownCloud. В системном журнале нет записей, которые кажутся подозрительными. Что дает?

1

1 ответ на вопрос

0
user149408

Общее руководство по устранению неполадок ownCloud находится на официальном веб-сайте .

OwnCloud лог - файлы находятся в /var/www/owncloud/data/owncloud.logпустовал в моем случае.

Журналы ошибок PHP5 по умолчанию отключены (по крайней мере на Raspbian). Вам необходимо включить их /etc/php5/apache2/php.ini, установив log_errorsна Вкл и указав путь для файла журнала в error_log. После этого вам нужно перезапустить ваш веб-сервер, чтобы изменения вступили в силу - я пропустил весь этот шаг.

Журналы ошибок Apache хранятся в /var/log/apache2/error.log(на Raspbian - путь может сильно отличаться между дистрибутивами). Журналы чередуются при перезапуске или каждые 24 часа, при этом предыдущий журнал переименовывается error.log.1, журнал перед сжатием и именованием error.log.2.gzи т. Д. Для журналов более 10+. Их можно посмотреть так:

sudo less /var/log/apache2/error.log sudo less /var/log/apache2/error.log.1 sudo zcat /var/log/apache2/error.log.2.gz | less 

(обратите внимание на другую команду для gzipped журналов).

Журналы ошибок Apache имели много строк, подобных этим:

[Суббота, 04 марта 14: 32: 15.682697 2017] [: error] [pid 12325] [client 10.15.1.19:56016] Ошибка синтаксического анализа PHP: синтаксическая ошибка, неожиданный «41» (T_LNUMBER), ожидание «)» в / var / www / owncloud / 3rdparty / phpseclib / phpseclib / phpseclib / Crypt / Hash.php в строке 385

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

Данный файл является частью установки ownCloud, поэтому я подумал, что проще всего будет переустановить пакет ownCloud (я выбрал путь deb).

Так как ownCloud с тех пор выпустил новую версию, 9.1.4 (мой сервер все еще на 9.1.3), переустановка не удалась, потому что оригинальный пакет больше не был доступен в его старом местоположении.

Поэтому я решил рискнуть и запустить обновление, которое, как я полагал, восстановит отсутствующий файл таким же образом. (Вероятно, переустановка также сработала бы и восстановила бы службу быстрее.)

После обновления, по крайней мере, ownCloud приветствовал меня уведомлением о том, что он находится в режиме обслуживания. Следующие команды завершили обновление:

sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off sudo -u www-data php /var/www/owncloud/occ upgrade 

(обратите внимание, что путь occдолжен быть указан, иначе он не будет найден).

После этого мне все еще нужно было войти в систему с учетной записью администратора, перейти в «Приложения» и снова включить мои приложения.

И сервер вернулся из мертвых.

Похожие вопросы