Skip to content

Instantly share code, notes, and snippets.

Created Jan 30, 2020
What would you like to do?
September 30, 2015
Apache Haus Distribution
Application: Mod subversion 1.9.2
Distribution File:
sqlite-amalgamation 3081101
OpenSSL 1.0.1
Serf 1.3.8
Original Home:
Win64 binary by: Mario
** This build for Apache 2.4.x only! **
Requires at least 2.4.13
Supported Windows Versions:
Windows Vista 64 bit (no tested but assume to work)
Windows 7 64bit
Windows Server 2008 64bit
Windows Server 2008 R2
Windows Server 2012
Windows Server 2016
The module is built with Visual Studio® 2012, be sure to install the
new Visual C++ 2012 Redistributable Package, download from;
mod_subversion (mod_svn) supports a subversion repositority over apache with or without SSL.
Often useful for users behind a firewall with limited web access.
Also the apache users can be used for auth.
If you upgrade from a lower version like 1.7.x or 1.6.x it is highly recommended to dump your repos and set it up in the new format.
a) More speed b) it might happen if you stay in the old format that the repo breakes.
Copy the folder bin and modules to your Apache 2.4.x folder
Configuration and documentation:
Can be found at
If you want to use only the svn command line tools without using apache you have to download aoache and copy
libapr-1.dll, libapriconv-1.dll, libaprutil-1.dll, libeay32.dll, ssleay32.dll into the folder where svn bin folder.
LoadModule dav_module modules/
LoadModule dav_fs_module modules/
LoadModule auth_digest_module modules/
LoadModule dav_svn_module modules/
LoadModule authz_svn_module modules/
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /Repositories/
SVNIndexXSLT "/svnindex.xsl"
SVNPathAuthz on
AuthzSVNAccessFile "C:/Repositories/authz"
AuthName "Subversion Repositories"
AuthType Basic
AuthUserFile "C:/Repositories/htpasswd"
require valid-user
mod_dontdothat is an Apache module that allows you to block specific types
of Subversion requests. Specifically, it's designed to keep users from doing
things that are particularly hard on the server, like checking out the root
of the tree, or the tags or branches directories. It works by sticking an
input filter in front of all REPORT requests and looking for dangerous types
of requests. If it finds any, it returns a 403 Forbidden error.
It is enabled via single httpd.conf directive, DontDoThatConfigFile:
<Location /svn>
DAV svn
SVNParentPath /path/to/repositories
DontDoThatConfigFile /path/to/config.file
DontDoThatDisallowReplay off
The file you give to DontDoThatConfigFile is a Subversion configuration file
that contains the following sections.
/*/trunk = allow
/ = deny
/* = deny
/*/tags = deny
/*/branches = deny
/*/* = deny
/*/*/tags = deny
/*/*/branches = deny
As you might guess, this defines a set of patterns that control what the
user is not allowed to do. Anything with a 'deny' after it is denied, and
as a fallback mechanism anything with an 'allow' after it is special cased
to be allowed, even if it matches something that is denied.
Note that the wildcard portions of a rule only swallow a single directory,
so /* will match /foo, but not /foo/bar. They also must be at the end of
a directory segment, so /foo* or /* are valid, but /*foo is not.
These rules are applied to any recursive action, which basically means any
Subversion command that goes through the update-report, like update, diff,
checkout, merge, etc.
The DontDoThatDisallowReplay option makes mod_dontdothat disallow
replay requests, which is on by default.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment