Ubuntu 9.04 中针对 AD 的 Apache 身份验证

Ubuntu 9.04 中针对 AD 的 Apache 身份验证

我正在尝试针对 Active Directory...嗯...目录配置 RT(请求跟踪器)的测试设置。

我正在寻找一个简单的操作指南,看来大约有七种方法可以做到,并且这些操作指南都根据您拥有的 RT 版本的年限、apache、已更新和运行的模块、维护的模块、您已经在运行的模块而有所不同……每次我遇到有关所遵循的流程的问题时,我都会用 Google 搜索并找到另一个操作指南,它又让我回到第一步,例如“NTLM 模块已经有一段时间没有维护了,因此您需要先配置并运行 kerberos……”啊!

我拥有的是全新安装的 Ubuntu 9.04,并通过 Synaptic 进行了最新更新。我已经从 Synaptic Universe repo 安装了 RT 和 Apache2。根据我的发现,我想我需要配置 RT 以通过 Apache 进行身份验证,以便用户登录和提交工单。

这意味着配置 Apache 以针对 AD 进行身份验证。我只是希望 Apache 进行身份验证,而不是机器。我只需要用户登录 RT 的 Web 界面来处理票证。是否有当前的操作指南可以逐步指导如何使用 Apache(最好是 RT)根据 AD 获取用户身份验证,以便我可以实现这一点?

答案1

我以前曾使用 mod_ldap 和 apache 做过这个(虽然不是用 RT)。确保模块正在加载,然后在您的配置中执行如下操作:

<Directory /var/www/>
Order Allow,Deny
Allow From All
AuthName "Blah Blah Blah"
AuthType Basic
AuthLDAPBindDN "cn=USER,ou=Users,dc=example,dc=com"
AuthLDAPBindPassword "PASSWORD"
AuthLDAPURL "ldap://1.2.3.4:389/dc=example,dc=com?samAccountName?"
require valid-user
require group cn=FoobarGroup,ou=Groups,dc=example,dc=com
</Directory>

默认情况下,AD 不允许匿名 LDAP 绑定,因此您需要在 AD 中创建一个角色帐户。我通常会创建一个用户,并确保它是仅有的“域来宾”组的成员。这将确保用户帐户具有足够的权限绑定到 LDAP,但在域中没有其他权限。

您可以修改 AuthLDAPURL 值以仅匹配某些帐户和属性。

我相信 mod_ldap 是随 ubuntu 中默认的 apache 安装一起提供的,因此要加载它,您只需执行以下操作:

a2enmod ldap
/etc/init.d/apache2 restart

祝你好运!

答案2

您需要来自 wiki.bestpractical.com 或 CPAN 的 RT External Auth 插件,然后按照文档操作即可。RT-External-Auth 会得到维护并保持最新。

如果您有任何问题,只需跳转到 irc.perl.org 上的 #rt 并大声喊出来,因为我们中的一些人已经这样做过几次了 :)

相关内容