异常关机后,ownCloud 仍响应 HTTP 错误 500

异常关机后,ownCloud 仍响应 HTTP 错误 500

前几天,我的基于 Raspbian 的 ownCloud 服务器遭遇了断电。从那以后,我就无法使用 ownCloud:在浏览器中,我只看到一个空白页,似乎没有完成加载,DAVdroid 和桌面同步客户端抱怨收到 HTTP 错误 500(内部服务器错误)。

我甚至无法进入 ownCloud 管理界面。系统日志中没有任何可疑条目。这是怎么回事?

答案1

有关 ownCloud 故障排除的通用指南位于官方网站

ownCloud 日志文件就我的情况而言是/var/www/owncloud/data/owncloud.log空的。

PHP5 错误日志默认情况下是禁用的(至少在 Raspbian 上)。您需要在 中/etc/php5/apache2/php.ini通过设置log_errors为 On 并在 中设置日志文件的路径来启用它们error_log。之后,您需要重新启动 Web 服务器以使更改生效 — 我跳过了整个步骤。

Apache 错误日志存储在/var/log/apache2/error.log(在 Raspbian 上 —​​ 路径可能因发行版而异)。日志在重新启动时或每 24 小时轮换一次,前一个日志被重命名为error.log.1,再前一个日志被 gzip 压缩并命名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

(请注意,gzip 压缩日志的命令不同)。

Apache 错误日志有很多类似这样的行:

[2017 年 3 月 4 日星期六 14:32:15.682697] [:错误] [pid 12325] [客户端 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,否则将找不到)。

之后,我仍然需要使用管理员帐户登录,转到应用程序并重新启用我的应用程序。

服务器又恢复了。

相关内容