Unknown DAV provider: svn?

Posted in apps , howto

Problem

Apache fails to start with Unknown DAV provider: svn? when you try to start the Apache service.

Your Apache configuration, either in conf/httpd.conf or conf.d/svn.conf, looks something like this:

<Location /repos>
  # Enable Subversion
  DAV svn

  # Directory containing all repository for this path
  SVNParentPath /absolute/path/to/directory/containing/your/repositories

  # LDAP Authentication & Authorization is final; do not check other databases
  AuthLDAPAuthoritative on

  # Do basic password authentication in the clear
  AuthType Basic

  # The name of the protected area or "realm"
  AuthName "Your Subversion Repository"

  # Active Directory requires an authenticating DN to access records
  # This is the DN used to bind to the directory service
  # This is an Active Directory user account
  AuthLDAPBindDN "CN=someuser,CN=Users,DC=your,DC=domain"

  # This is the password for the AuthLDAPBindDN user in Active Directory
  AuthLDAPBindPassword somepassword

  # The LDAP query URL
  # Format: scheme://host:port/basedn?attribute?scope?filter
  # The URL below will search for all objects recursively below the basedn
  # and validate against the sAMAccountName attribute
  AuthLDAPURL "ldap://your.domain:389/DC=your,DC=domain?sAMAccountName?sub?(objectClass=*)"

  # Require authentication for this Location
  Require valid-user
</Location>

You are missing mod_dav_svn.so, so there’s no LoadModule line in your configuration for SVN.

Solution

Install the mod_authz_svn.so and mod_dav_svn.so modules and specify the LoadModule lines in your configuration.

If you’ve got access to yum/apt/etc., then you’re probably just missing the mod_dav_svn package.

# rpm -ql mod_dav_svn
/etc/httpd/conf.d/subversion.conf
/usr/lib64/httpd/modules/mod_authz_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so

Add these lines to your configuration:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

Now try restarting Apache.

To create a new repository http://localhost/repos/stuff using this configuration, run as root:

# cd /var/www/svn
# svnadmin create stuff
#chown -R apache.apache stuff
Posted by admica   @   3 February 2010

Related Posts

0 Comments

No comments yet. Be the first to leave a comment !
Leave a Comment

Name

Email

Website

Previous Post
« Silicon Dioxide Layering - Breathable Liquid Glass Nanotech Coating
Next Post
Securing MySQL Server is Easy »
Powered by Wordpress   |   Lunated designed by ZenVerse