Apache 2.4和LDAP

use*_*854 6 apache ldap

我有一台运行RHEL 6.5和httpd 2.2的服务器,我对网页进行了LDAP身份验证,完全符合以下要求:

<Directory /var/www/html/restricted>
  AuthType Basic
  AuthName "Restricted files"
  AuthBasicProvider file ldap
  AuthUserFile /etc/httpd/local_users
  AuthGroupFile /etc/httpd/local_groups

  AuthLDAPBindDN CN=bind,OU=Generic-Logon,OU=Generic,DC=example,DC=com
  AuthLDAPBindPassword lamepassword
  AuthLDAPURL ldaps://ldap.example.com:636/dc=example,dc=com?sAMAccountName?sub

  AuthzLDAPAuthoritative off

  require group restricted
  require ldap-group CN=ug-employees,OU=Dept,OU=Dept-Groups,DC=example,DC=com
  require ldap-group CN=ug-others,OU=Dept,OU=Dept-Groups,DC=example,DC=com
</Directory>
Run Code Online (Sandbox Code Playgroud)

用户在访问受限制的页面时遇到了500多个错误,一些谷歌搜索告诉我从httpd 2.2到2.4可以解决这个问题.我安装了一台带有RHEL 7和httpd 2.4的新服务器,并且完全相同.但现在...

[~]$ sudo apachectl configtest
AH00526: Syntax error on line 426 of /etc/httpd/conf/httpd.conf:
Unknown Authn provider: ldap
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?RHEL 7手册说LDAP身份验证已经发布到httpd 2.4和AFAICT,我遵循apache.org的指示.FWIW,我不能在yum中安装任何LDAP模块或安装在我的/ etc/httpd/modules中.

思考?我知道我错过了一些小事.

谢谢!

frn*_*foe 8

根据Redhat的支持网站,您应该运行

# subscription-manager repos --enable rhel-7-server-optional-rpms
# yum install mod_ldap -y
Run Code Online (Sandbox Code Playgroud)

请参阅:https://access.redhat.com/solutions/977573


Sha*_*rpC 6

如果您使用 Debian / Ubuntu 并因为收到错误而来到此页面:

未知的身份验证提供商:ldap

那么这个命令应该修复它(如果不以 root 身份运行则添加前缀sudo):

a2enmod authnz_ldap
Run Code Online (Sandbox Code Playgroud)


小智 3

如果您使用 Centos 7 或 RHEL 7,这应该可以解决问题:

sudo yum install -y mod_ldap
Run Code Online (Sandbox Code Playgroud)