删除 /etc/apache2 后出现“无效命令‘Order’”

删除 /etc/apache2 后出现“无效命令‘Order’”

我在为 Wordpress 设置开发环境时遇到了很大麻烦。

几周前我把一切都搞砸了,今天下午我想重新开始。

我尝试通过卸载软件包并删除 /etc/apache2 目录来重置 Apache。

然后我重新安装了 Apache2 并使用以下命令恢复目录:

sudo apt-get install --reinstall apache2.2-common

Localhost 导航到“It Works!”页面,但是 Apache 不会重新启动,这让我很紧张。

我一直收到这个错误:

Syntax error on line 160 of /etc/apache2/apache2.conf:
Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.

...失败!

有什么想法吗?我只是想建立一个可以工作的 LAMP 设置。

答案1

由于配置文件中的错误,Apache 无法重新启动。您apache2.conf手动编辑了吗?调试语法错误,/etc/apache2/apache2.conf然后sudo service apache restart应该就可以正常工作了。

答案2

Order指令由mod_authz_host模块,并且删除目录/etc/apache2导致其处于非活动状态。您需要重新启用该模块。

删除整个目录并不是重新开始的好方法,原因有二:其中有其他软件包拥有的文件,并且 Ubuntu 的软件包管理器认为您的更改是故意的。apt-get install --reinstall不会破坏您的配置更改。

如果您想要删除某个软件包及其所有配置,正确的方法是使用dpkg --purge。然后,当您重新安装该软件包时,您将恢复到默认配置。

从这里恢复的最简单方法可能是清除所有apache2.2软件包。然后重新安装apache2.2

(另一种方法是使用dpkg -i --force-confmiss /var/cache/apt/archives/apache2.2-common-*.deb仅恢复丢失的配置文件,但如果删除目录也破坏了一些安装时配置,这可能还不够。)

相关内容