我正在尝试在 apache 2.2 服务器上的网站上安装基本 ldap 身份验证。我将其放在我的 /etc/apache2/apache2.conf 文件中
LoadModule ldap_module /usr/lib/apache2/modules/mod_ldap.so
LoadModule authnz_ldap_module /usr/lib/apache2/modules/mod_authnz_ldap.so
我找到了这些模块,所以我确信它们存在。
我将其放在我的 /etc/apache2/sites-avaible/default 中
<VirtualHost *:80>
ServerName monitoring.site.local
DocumentRoot /var/www/Monitoring/public
<Directory /var/www/Monitoring/public>
AuthBasicProvider ldap
AuthType Basic
AuthzLDAPAuthoritative off
AuthName "Monitoring"
AuthLDAPURL "ldap://dc1.site.local:389/DC=site,DC=local?sAmaccountName?sub.(objClass=*)"NONE#
AuthLDAPBindDN "CN=Admin,CN=Users,DC=site,DC=local"
AuthLDAPBindPassword secret
require valid-user
....
但是当我尝试重新启动服务器时出现此错误
/etc/apache2/sites-enabled/000-default 第 23 行语法错误:命令“AuthBasicProvider”无效,可能是拼写错误或由服务器配置中未包含的模块定义操作“configtest”失败。Apache 错误日志可能有更多信息。...失败!
我尝试使用 a2enmod 启用一些模块,但没有成功。我的 Apache 服务器:服务器版本:Apache/2.2.17 (Ubuntu)
答案1
根据Apache 文档 AuthBasicProvider
指令由 提供mod_auth_basic
。您应该通过运行来检查此模块是否在您的配置中启用apache2 -M