configuration-templates – Rev 8

Subversion Repositories:
Rev:
########################################################################
# Subversion - multi-repo configuration.                               #
# Sources: http://svnbook.red-bean.com/                                #
# Depends on Apache modules:                                           #
#    dav, dav_svn, authz_svn, dontdothat, alias, auth_digest,          #
#    authn_core, authn_file, authz_core, authz_user                    #
#                                                                      #
########################################################################

## The trailing '/' in /svn/ is needed to browse repos with a browser!
RedirectMatch ^(/svn)$ $1/

## Tuning:
KeepAlive on
MaxKeepAliveRequests 1000


# http://subversion.apache.org/docs/release-notes/1.7.html#server-performance-tuning
# Calculate your own values!
# For mod_dav_svn, a 1GB cache configuration with maximum data coverage looks like this 
<IfModule dav_svn_module>
    SVNInMemoryCacheSize 1048576
    SVNCacheFullTexts on
    SVNCacheTextDeltas on
</IfModule>

## Multiple Repos with Digest auth:
## - AuthName is an arbitrary name that you choose for the authentication
##   domain. Most browsers display this name in the dialog box when prompting
##   for username and password.
## - AuthType specifies the type of authentication to use.
## - AuthUserFile specifies the location of the password file to use.
##
<IfModule dav_svn_module>
    <Location /svn/>
        <ifModule mime_module>
                RemoveEncoding  .gz .tgz .Z
                RemoveType      .gz .tgz .Z
        </ifModule>

        ## Enable Subversion
        DAV svn

        ## Directory containing all repository for this path
        SVNParentPath /space/svn/

        ## List repositories collection
        SVNListParentPath on

        ## Disable WebDAV automatic versioning
        SVNAutoversioning off

        ## Return a descriptive name for the repository.
        SVNReposName "Project XYZ repo"

        ## Anonymous access
        AuthzSVNAnonymous off

        ## XSL to display files - sample in subversion share distribution
        # SVNIndexXSLT "/style/svnindex.xsl"
        
        ##
        ## You can use the htdigest program to create the password database:
        ##   htdigest -c "etc/apache24/svn-auth.passwd" SVN-repo admin
        ##
        ## Authentication: Digest
        AuthType Digest
        AuthName "SVN repositories"
        AuthDigestProvider file
        AuthDigestDomain /svn/ http://mirror.my.dom/svn2/
        AuthUserFile etc/apache24/svn-auth.passwd
        ## Authentication: Basic
        # AuthType Basic
        # AuthName AuthName "SVN repositories"
        # AuthUserFile etc/apache24/svn-auth.passwd

        ## Authorization: Allow anonymous to read but only valid users may write.
        <LimitExcept GET PROPFIND OPTIONS REPORT>
                Require valid-user
        </LimitExcept>

        ## Do not limit large update requests
        LimitXMLRequestBody 0
    </Location>
</IfModule>