1

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

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

1 ответ1

0

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

Файлы журнала ownCloud в /var/www/owncloud/data/owncloud.log были пустыми в моем случае.

Журналы ошибок PHP5 по умолчанию отключены (по крайней мере на Raspbian). Вы должны включить их в /etc/php5/apache2/php.ini , установив для log_errors значение On и указав путь для файла журнала в 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 должен быть указан , иначе он не будет найден).

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .