Общее руководство по устранению неполадок 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
должен быть указан, иначе он не будет найден).
После этого мне все еще нужно было войти в систему с учетной записью администратора, перейти в «Приложения» и снова включить мои приложения.
И сервер вернулся из мертвых.