Собственно имеется сервер subversion apache2 + web_dav + mod_authnz_ldap
На сервере несколько svn репозитариев
В результате необходимо получать ссылку вида http://mysite.com.ua/svn/repo1 или http://mysite.com.ua/svn/repo2 и т.д.
В url важно. должно быть /svn/
Собственно вот так настроиваю virtualhost для одного репозитария:
Код: Выделить всё
<-----><Location /svn/>
<-----><------>DAV svn
<-----><------>SVNParentPath "/usr/home/svn-repository/"
<-----><------>SVNListParentPath On
<-----></Location>
<------><Location /repo1>
<------><------>DAV svn
#<-----><------>SVNParentPath "/usr/home/svn-repository/repo1/"
#<-----><------>SVNListParentPath On
<------><------>SVNPath "/usr/home/svn-repository/repo1"
<------><------>SVNPathAuthz On
<------><------>SVNAutoversioning On
<------><------>AuthType Basic
<------><------>AuthName "SVN authorization"
<------><------>AuthzLDAPAuthoritative On
<------><------>AuthBasicProvider ldap
<------><------>AuthLDAPUrl ldap://gateway.local:389/ou=ldapuser,dc=local?uid?sub?(objectClass=*) NONE
<------><------>AuthLdapGroupAttribute memberUid
<------><------>AuthLDAPGroupAttributeIsDN Off
<------><------># RW group
<------><------><Limit OPTIONS CHECKOUT REPORT GET PROPFIND PROPATCH DELETE MERGE PUT POST MKCOL MKCTIVITY COPY MOVE LOCK UNLOCK>
<------><------><------>Require ldap-group cn=writeaccess,ou=svnaccess,ou=ldapuser,dc=local
<------><------></Limit>
<------><------># RO group
<------><------><Limit GET PROPFIND OPTIONS REPORT>
<------><------><------>Require ldap-group cn=readaccess,ou=svnaccess,ou=ldapuser,dc=local
<------><------></Limit>
<------></Location>
В таком виде svn не запрашивает пароль на repo1, а отдает его всем подряд, т.к. включено SVNParentPath "/usr/home/svn-repository/"
Если коментирую секцию:
Код: Выделить всё
<-----><Location /svn/>
<-----><------>DAV svn
<-----><------>SVNParentPath "/usr/home/svn-repository/"
<-----><------>SVNListParentPath On
<-----></Location>
Замучался уже, не могу ни как победить ...
Заранее спасибо.