适用于 apache 2.2 的自定义 ldap 配置

适用于 apache 2.2 的自定义 ldap 配置

系统:Suse linux 11 patchset 2 上的 Apache 2.2.12,带有 PHP 和 Perl。

我想创建一个自定义 ldap.conf 文件,供 Apache 用于对远程系统进行用户身份验证。我无法将配置信息放在 /etc/openssl/ldap.conf 或 /etc/ldap.conf 中——说来话长。
但是,我可以创建自己的 /etc/openldap/apache_ldap.conf。

问题是 - 我可以在 Apache (也许是 PHP) 中的哪里告诉 Apache 查找并使用我自定义的 apache_ldap.conf 中的设置?我的自定义 ldap conf 文件将包括 TLS_REQCERT、uri 和 base 之类的内容。

答案1

如果你只需要询问LDAP 目录,您不需要以任何方式改变 LDAP 配置。

你需要做的是使用mod_ldap连接到 LDAP 目录并mod_authnz_ldap利用该信息对用户进行身份验证。

Apache 文档提供了如何执行此操作的示例。实际配置可能非常特定于您的部署,因此请仔细检查示例并进行修改以适应您的需求。

答案2

我是如何在 Suse 11 上的 Apache 2.1.12 上修复这个问题的:

  1. 创建本地 ldaprc 文件:从几周前的 ldap.conf 中获取命令并执行以下操作: - 创建 ldaprc 文件和 .ldaprc 文件,剪切并粘贴 ldap.conf 内容。 - 将这些文件复制到 3 个地方:/home/ /srv/www /srv/www/htdocs - 将这些文件的所有权更改为 ,chmod 更改为 655 或类似设置。

            RESULT:  Apache restarted, but got [LDAP: ldap_simple_bind_s() failed][Can't contact LDAP server]
    
  2. 已添加到 httpd.conf:“LDAPVerifyServerCert off”以替代 ldap.conf 中的“TLS_REQCERT never”

ldapconf 或 .ldapconf 告诉 Apache 覆盖 /etc/ldap.conf。一些参考资料指出此替代 ldap conf 必须位于 /srv/www 中,一些参考资料指出本地目录(在我们的例子中是 /srv/www/htdocs),而另一些参考资料指出它必须位于 $HOME 目录(即 /home/)中。
我将进行一些反复试验,看看我们可以省去这些众多 ldaprc 文件中的哪一个。但这是基本修复。

相关内容