LDAP/Active DirectoryでSVN認証を機能させるのにいくつか問題があります。私のSVNインストールは正常に機能しますが、Apache vhostでLDAPを有効にした後、ユーザーを認証することができません。
選択したLDAPブラウザーを使用してActive Directoryに正常に接続できますが、これを機能させることができないようです。
私のvhostファイルは次のとおりです。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerAlias svn.domain.local
ServerName svn.domain.local
DocumentRoot /var/www/svn/
<Location /test>
DAV svn
#SVNListParentPath On
SVNPath /var/local/svn/test
AuthzSVNAccessFile /var/local/svn/svnaccess
AuthzLDAPAuthoritative off
AuthType Basic
AuthName "SVN Server"
AuthBasicProvider ldap
AuthLDAPBindDN "CN=adminuser,OU=SBSAdmin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local"
AuthLDAPBindPassword "admin password"
AuthLDAPURL "ldap://192.168.1.6:389/OU=SBSUsers,OU=Users,OU=MyBusiness,DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)"
Require valid-user
</Location>
CustomLog /var/log/Apache2/svn/access.log combined
ErrorLog /var/log/Apache2/svn/error.log
</VirtualHost>
私のerror.logには、バインドエラーが表示されないようです(他の場所を探しているのでしょうか?)。
[Thu Jun 21 09:51:38 2012] [error] [client 192.168.1.142] user alex: authentication failure for "/test/": Password Mismatch, referer: http://svn.domain.local/test/
「AuthLDAPURL」の最後に、TLSとNONEを使用している人を見ましたが、私の場合はどちらも役に立たないようです。
私はLDAPモジュールをロードし、私が知っている限りチェックを行ったので、どんな助けでも大歓迎です。ありがとう
セットする REFERRALS off
サーバー内/etc/ldap/ldap.conf
そしてさらに試みる。
そして、URL行に「NONE」を追加してみてください。
AuthLDAPURL "ldap://192.168.1.6:389/OU=SBSUsers,OU=Users,OU=MyBusiness,DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE
Ldapsearchを試してください。 .ldaprc
をホームディレクトリに追加します。
Host 192.168.1.6
BASE DC=domain,DC=local
BINDDN CN=adminuser,OU=SBSAdmin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local
これを使って:
ldapsearch -D "CN=adminuser,OU=SBSAdmin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local" -W sAMAccountName=user
BindDNパスワードを要求します。
Diegoがポイントを獲得し、最終的に機能するようになりました。それは私の仮想ホストのパラメータの順序を変更した場合かもしれませんが、これは私にとってうまくいったものです。また、LDAP GUIツールから直接管理ユーザーDNをコピーして、正しいバインドの詳細を確認しました。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerAlias svn.domain.local
ServerName svn.domain.local
DocumentRoot /var/www/svn/
<Location />
DAV svn
SVNParentPath /var/local/svn/
SVNListParentPath On
AuthBasicProvider ldap
AuthType Basic
AuthzLDAPAuthoritative off
AuthName "SVN Server"
AuthLDAPURL "ldap://192.168.1.6:389/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE
AUTHLDAPBindDN "CN=admin,OU=Admin Users,OU=Users,OU=MyBusiness,DC=domain,DC=local"
AuthLDAPBindPassword ######
require valid-user
</Location>
</VirtualHost>
それが他の誰かを助けることを願っています!
それはあなたの質問に直接答えないかもしれませんが、 Subversion Edge を使用することを検討しましたか?使用は無料です(AGPLv3ライセンス)。
これを見るとわかるように、 スクリーンショット LDAP統合の設定は非常に簡単です。 SSPIモジュールをインストールすることもできますが、これには手作業が必要です。