我正在尝试使用 Active Directory 配置 Apache Subversion,但域用户的凭据不起作用。我是 Subversion 新手,但我首先遇到的是:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/svn-users
Require valid-user
</Location>
这可以通过使用 htpasswd 创建的凭据来实现。
我现在对该/etc/httpd/conf.d/subversion.conf
文件进行了如下编辑:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Authorization Realm"
AuthzLDAPAuthoritative off
AuthBasicProvider ldap
AuthLDAPURL ldap://server.example.local/dc=example,dc=local?sAMAccountName" NONE
AuthLDAPBindDN "CN=Administrator,CN=Users,DC=example,DC=com"
AuthLDAPBindPassword "<password>"
Require valid-user
</Location>
当我检查 /var/log/httpd/access_log 时,我没有看到错误,只有这个:
192.168.1.3 - user1 [26/Aug/2015:07:45:05 +0200] "GET /svn/project_repo HTTP/1.1" 401 479 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130104 Firefox/10.0.12"
当我检查 /var/log/httpd/error_log 时,我发现密码不匹配:
[Wed Aug 26 08:05:22 2015] [error] [client 192.168.1.3] user user1: authentication failure for "/svn/project_repo": Password Mismatch
但我确信密码是正确的。
还有其他日志可以检查吗?还是我的配置有误?
编辑:
显然 DN 是错误的,我dsquery user > c:\dn.txt
在 AD 服务器上运行了以获取正确的 DN。当我现在尝试登录时,我收到内部服务器错误,但文件中没有错误/var/log/httpd/error_log
。还有其他文件我可以检查吗?
答案1
我找到了答案此链接说你应该将端口号更改为 3268。现在它正在工作!我的/etc/httpd/conf.d/subversion.conf
文件现在如下所示:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Authorization Realm"
AuthzLDAPAuthoritative off
AuthBasicProvider ldap
AuthLDAPURL "ldap://server.example.LOCAL:3268/dc=example,dc=local?sAMAccountName" NONE
AuthLDAPBindDN "CN=Administrator,CN=Users,DC=example,DC=local"
AuthLDAPBindPassword "PASSWORD"
Require valid-user
</Location>