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

Like this post? Share it!

Digg Twitter StumbleUpon Delicious Technorati Facebook RSS

3 Comments

Comments
Jan 2, 2011
1:23 pm
#1 avejidah :

Thanks. Here’s for debian based systems.

sudo apt-get install libapache2-svn

Jan 24, 2011
10:18 am
#2 Roger :

where in the helllllll do i download the mod_dav_snv for win32???

Jan 25, 2011
12:26 pm
#3 admica :

In Linux it’s simple: yum install mod_dav_svn
Don’t know about win32. I wouldn’t run a web server on Windows unless it was a honeypot.

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