Subversion服务器使用Active Directory

时间:2015-03-05 18:21:08

标签: linux svn active-directory ldap centos

我在VMWare Workstation 11下运行Linux服务器进行颠覆控制。我还有一个在另一个VM下运行的Windows Server 2012 R2域控制器。我正在使用CentOS7并希望配置身份验证以使用Active Directory。我的CentOS7服务器已加入域,我可以执行任务来验证我是否已连接,例如。

$id myuser

我安装了mod_ldap,一切似乎都没问题,但是当我访问网站并尝试进行身份验证时,我会在错误日志中收到以下消息。

[Thu Mar 05 13:04:32.976448 2015] [auth_basic:error] [pid 2541] [client 
192.168.28.1:52099] AH01618: user myuser not found: /svn/testrepo

我不明白的一件事就是它说客户端192.168.28.1,当DC位于192.168.28.3时。也许有些问题,但我无法弄清楚为什么它显示了VMNet8适配器的IP。

以下是我的/etc/httpd/conf.d/svn.conf文件中的信息。

<location /svn>
DAV svn
SVNParentPath /svn
AuthType Basic
AuthName "Root Repo"
AuthUserFile /dev/null
AuthLDAPBindDN "CN=Apache User,CN=Users,DC=corp,DC=mydomain,DC=com"
AuthLDAPBindPassword apachePassword
AuthLDAPURL "ldap://192.168.28.3.corp.mydomain.com:389/DC=corp,DC=mydomain,DC=com?sAMAccountName?sub?(objectClass=*)"
require valid-user
</location>

无论我如何输入凭据,我总是会得到上述错误。

1 个答案:

答案 0 :(得分:2)

我实际上自己回答了这个问题。我不得不将我的LDAP网址更改为以下内容。

AuthLDAPURL "ldap://192.168.28.3/DC=corp,DC=mydomain,DC=com?
AMAccountName?sub?(objectClass=*)"

我想将域名添加到IP上是不行的。我还必须添加

AuthBasicProvider ldap

所以现在我的文件如下所示。

<location /svn>
DAV svn
SVNParentPath /svn
AuthType Basic
AuthBasicProvider ldap
AuthName "Root Repo"
AuthLDAPURL "ldap://192.168.28.3/DC=corp,DC=mydomain,DC=com?
sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN "CN=Apache User,CN=Users,DC=corp,DC=mydomain,DC=com"
AuthLDAPBindPassword apacheUserPassword
Require valid-user
</location>