无效命令‘AuthzLDAPAuthoritative’

无效命令‘AuthzLDAPAuthoritative’

规格:Apache 2.24 操作系统:Suse /RedHat /Windows

Windows:Apache httpd Linux:Apache DS(LDAP)

实现Apache Httpd + LDAP + SSO的任务(mod_session.so)

出现如下所述的错误

"Invalid command 'AuthzLDAPAuthoritative', perhaps misspelled or defined by a module not included in the server configuration"

该设置在 apache Httpd 2.22 + LDAP - SSO 中运行,因此根据文档,mod_session 应该与 apache 2.24 一起工作..... :(

有人有什么解决方案吗?

关于karthik

答案1

你应该读一下这个: http://httpd.apache.org/docs/2.4/upgrading.html#run-time

该指令在 2.4 版之后被删除;

答案2

不确定是否是同样的问题,因为我切换到了 2.4 而不是 2.2.24。使用 httpd 2.2.22 时一切正常,使用 2.4.4 时则停止工作。

我正在 httpd.conf 中加载必要的模块:

LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule ldap_module modules/mod_ldap.so

我的 Ldap Conf 如下所示:

<Location />
       AuthType Basic
       AuthName "LDAP Authentication"
       AuthBasicProvider ldap file
       AuthzLDAPAuthoritative off
       AuthLDAPURL "URL"
       AuthLDAPBindDN "BindDN"
       AuthLDAPBindPassword "BindPassword"
       Require valid-user 
       Order allow,deny
       Allow from all
</Location>

错误信息显示:

/opt/httpd/dev/bin/apachectl -f /opt/httpd/UAT/conf/httpd.conf -k start
AH00526: Syntax error on line 60 of /opt/httpd/UAT/conf/vhosts/_hobbit.conf:
Invalid command 'AuthzLDAPAuthoritative', perhaps misspelled or defined by a module not included in the server configuration
make: *** [start] Error 1

我在邮件列表中发现了同样的错误:邮件列表链接
看起来他找到了解决方案:解决方案链接

我已经按照他说的进行了编译,使用我自己的 apr/apr-util 和所有 ldap 标志(--with-ldap、--enable-ldap,...),但我仍然无法让它工作。

也许有人能弄清楚吗?

编辑/解决方案:好的。从我的虚拟主机配置中删除“AuthzLDAPAuthoritative off”有效。看来这个设置在 2.4 版中被删除了。

2.2 mod_authnz_ldap 文档中存在设置,但 2.4 mod_authnz_ldap 文档中不存在设置。(由于声誉不佳,无法发布链接)

不知道您是否可以将其从配置中删除,但我认为之后它应该可以工作。

答案3

看起来你还没有加载authnz_ldap_module

LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

答案4

# sudo apt-get install libapache2-mod-authnz-external
..
# a2enmod
..
Which module(s) do you want to enable (wildcards ok)?
*authnz*
Enabling module authnz_external.
Considering dependency ldap for authnz_ldap:
Enabling module ldap.
Enabling module authnz_ldap.
To activate the new configuration, you need to run:
service apache2 restart
..

相关内容