Linux 无效命令‘;订单’;,服务器配置中未包含的模块可能拼写错误或定义失败

Linux 无效命令‘;订单’;,服务器配置中未包含的模块可能拼写错误或定义失败,linux,apache,Linux,Apache,当我尝试启动或重新启动apache服务器时,会收到以下消息: /etc/apache2/apache2.conf的第162行出现语法错误: 命令“Order”无效,可能拼写错误或由服务器配置中未包含的模块定义 操作“configtest”失败。 Apache错误日志可能包含更多信息。 失败了 我试着在谷歌上找到这个错误并修复它: 我得到一个错误: 模块authz_主机不存在 有人帮我修吗 谢谢! 您需要启用authz_主机模块 我不确定您使用的是什么Linux发行版,但这里有一些示例 Ubun

当我尝试启动或重新启动apache服务器时,会收到以下消息:

/etc/apache2/apache2.conf的第162行出现语法错误: 命令“Order”无效,可能拼写错误或由服务器配置中未包含的模块定义 操作“configtest”失败。 Apache错误日志可能包含更多信息。 失败了

我试着在谷歌上找到这个错误并修复它:

我得到一个错误:

模块authz_主机不存在

有人帮我修吗


谢谢!

您需要启用
authz_主机
模块

我不确定您使用的是什么Linux发行版,但这里有一些示例

Ubuntu:

sudo a2enmod authz_host
sudo service apache2 restart
vi /etc/httpd/conf/httpd.conf

# Make sure this line is not commented:
...
LoadModule authz_host_module modules/mod_authz_host.so
...
RHEL:

sudo a2enmod authz_host
sudo service apache2 restart
vi /etc/httpd/conf/httpd.conf

# Make sure this line is not commented:
...
LoadModule authz_host_module modules/mod_authz_host.so
...

在SUSE 12上,authz_主机已经启用,因此我需要遵循willoller的评论并启用mod_access_compat:

a2enmod mod_access_compat
service apache2 restart

对于Apache 2.4,请取消注释/添加以下模块:

LoadModule access_compat_module modules/mod_access_compat.so
LoadModule authz_host_module modules/mod_authz_host.so

我只是在从openSUSE 13.2升级到openSUSE Leap 42.1时遇到了同样的问题

问题不在于apache2配置中缺少模块

问题是从Apache2.2升级到Apache2.4。 “订单”和“允许”必须重写如下(示例):

在第2.2条中:

Order allow,deny
Allow from all
在第2.4条中:

Require all granted
您可以在此处找到更多选项和示例:

如果您在Gentoo上运行Apache2.4,请确保启用以下
使用将
mod_authz_主机构建为
apache
二进制文件的
标志:

  • apache2_模块_授权_主机
    :基于主机(名称或IP地址)的组授权
  • apache2模块访问兼容:基于主机(名称或IP地址)的组授权。作为与以前版本兼容的模块提供

如果您是从源代码编译Apache2.4,那么您可以使用构建时配置选项()遵循相同的指导。

对于Apache2.4,您可能还需要
mod\u access\u compat
。谢谢“willoller”-“mod\u access\u compat”这个东西对我有用。@Jhill,我按照您的步骤找到了错误:sudo a2enmod authz_host。在这方面你能帮我吗?请注意,在不可能进行配置升级的情况下,有可用的。在此之后,我现在无法访问我的一些项目。我被拒绝访问,403。我不得不用
a2dismod\u access\u compat再次禁用它,然后重新启动apache2服务。请看1968年的答案,它对我有用。