We used to use Collabnet SVN/Apache combo on a Windows server with LDAP authentication, and whilst the performance wasn't brilliant it used to work perfectly.
After switching to a fresh Ubuntu 10 install, and setting up an Apache/SVN/LDAP configuration, we have HTTPS access to our repositories, using Active Directory authentication via LDAP.
We're now having a very peculiar issue. Whenever a new user accesses a repository, our SVN clients (we have a few depending on the tool, but for arguments sake, let's stick to Tortoise SVN) report "Error 500 - Unknown Response". To get around this, we have to log into the repo using a web browser and navigate 'backwards' until it works
E.G:
- SVN Checkout
https://svn.example.local/SVN/MyRepo/MyModule/
- Error 500 (bad) - Webbrowse to
https://svn.example.local/SVN/MyRepo/MyModule/
- Error 500 (bad) - Webbrowse to
https://svn.example.local/SVN/MyRepo/
- Error 500 (bad) - Webbrowse to
https://svn.example.local/SVN/
- Forbidden 403 (correct) - Webbrowse to
https://svn.example.local/SVN/MyRepo/
- OK 200 (correct) - SVN Checkout
https://svn.example.local/SVN/MyRepo/MyModule/
- Error 500 (bad) - Webbrowse to
https://svn.example.local/SVN/MyRepo/MyModule/
- OK 200 (correct) - SVN Checkout
https://svn.example.local/SVN/MyRepo/MyModule/
- OK 200 (correct)
It seems to require authentication up the tree, starting from the svnparentpath
up through to the module required.
Has anyone seen anything like this before? Any ideas on where to start before I ditch it back to Collabnet's SVN server?
Update
Using Apache2, Here is the /svn
location from my httpd.conf:
<Location /svn>
DAV svn
SVNParentPath /var/lib/svn
AuthName "Subversion Repositories"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://dc1.domain.local:389/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)" NONE
AuthLDAPBindDN "domain\apacheaccount"
AuthLDAPBindPassword superawesomepassword
require valid-user
</Location>
The only errors in /var/logs/apache2/error.log
are legitimate authentication errors from when I've used the wrong password. In the access.log
, an Error 500 line looks like:
192.168.161.101 - fname.sname [11/May/2010:08:39:08 +1000] "OPTIONS /svn/MyRepo HTTP/1.1" 500 634 "-" "SVN/1.6.6 (r40053) neon/0.28.6"