diff --git a/rhodecode/svn_support/templates/mod-dav-svn.conf.mako b/rhodecode/svn_support/templates/mod-dav-svn.conf.mako --- a/rhodecode/svn_support/templates/mod-dav-svn.conf.mako +++ b/rhodecode/svn_support/templates/mod-dav-svn.conf.mako @@ -1,27 +1,63 @@ # Auto generated configuration for use with the Apache mod_dav_svn module. - +# +# WARNING: Make sure your Apache instance which runs the mod_dav_svn module is +# only accessible by RhodeCode. Otherwise everyone is able to browse +# the repositories or run subversion operations (checkout/commit/etc.). +# # The mod_dav_svn module does not support subversion repositories which are # organized in subfolders. To support the repository groups of RhodeCode it is # required to provide a block for each group pointing to the # repository group sub folder. - +# # To ease the configuration RhodeCode auto generates this file whenever a # repository group is created/changed/deleted. Auto generation can be configured # in the ini file. +# +# To include this configuration into your apache config you can use the +# `Include` directive. See the following example snippet of a virtual host how +# to include this configuration file. +# +# +# ServerAdmin webmaster@localhost +# DocumentRoot /var/www/html +# ErrorLog ${APACHE_LOG_DIR}/error.log +# CustomLog ${APACHE_LOG_DIR}/access.log combined +# Include /path/to/generated/mod_dav_svn.conf +# + + # The mod_dav_svn module takes the username from the apache request object. + # Without authorization this will be empty and no username is logged for the + # transactions. This will result in "(no author)" for each revision. The + # following directives implement a fake authentication that allows every + # username/password combination. + AuthType Basic + AuthName "Subversion proxy" + AuthBasicProvider anon + Anonymous * + Require valid-user + DAV svn SVNParentPath ${parent_path_root} SVNListParentPath ${'On' if svn_list_parent_path else 'Off'} + Allow from all Order allow,deny % for repo_group in repo_groups: + AuthType Basic + AuthName "Subversion proxy" + AuthBasicProvider anon + Anonymous * + Require valid-user + DAV svn SVNParentPath ${parent_path_root_stripped}${repo_group.full_path} SVNListParentPath ${'On' if svn_list_parent_path else 'Off'} + Allow from all Order allow,deny