Ubuntu 14.04 升级导致 Apache2 崩溃

Ubuntu 14.04 升级导致 Apache2 崩溃

我刚刚升级到 ubuntu 14.04,现在 apache2 无法启动,出现错误:

root@dennisHome:~# /etc/init.d/apache2 restart
* Restarting web server apache2
...fail!
* The apache2 configtest failed.

配置测试的输出是:

apache2: Syntax error on line 244 of /etc/apache2/apache2.conf: 
Syntax error on line 1 of /etc/apache2/mods-enabled/authz_default.load: Cannot load       /usr/lib/apache2/modules/mod_authz_default.so into server: 
/usr/lib/apache2/modules/mod_authz_default.so: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information

看起来 mod_authz_default.so 不再存在了,我该怎么做才能解决这个问题?

答案1

在升级到 Ubuntu 14.04 时,您还将转到 Apache 2.4(可能从 2.2 开始)。这不是一个微不足道的变化,您会发现这里这需要调整的列表。您将看到有一些工作要做。特别是,该页面指出(除其他事项外):

这些模块已被删除:mod_authn_default、mod_authz_default、mod_mem_cache。

这就是您收到上述错误消息的原因。您可以尝试注释掉有问题的行,即 apache.conf 的第 244 行,看看您的系统是否可以通过这种方式(但我对此表示怀疑)。

答案2

如果你的模块是从 mods-enabled 目录自动加载的,那么有问题的行很可能位于你的 conf 文件的此部分:

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

在这种情况下,您需要转到启用 mods 的目录(/etc/apache2/mods-enabled默认)并删除该authz_default.load文件的符号链接。

这是因为 mods-enabled 中的符号链接将指向 mods-available 中的文件,而该文件在 Apache 2.4 中不再存在。

相关内容