apache svn 配置实例

<VirtualHost *:443>
        ServerName svn.phpdr.net
        ErrorLog logs/svn.phpdr.net_error.log
        CustomLog logs/svn.phpdr.net_access.log common

        SSLEngine on
        SSLProtocol TLSv1 TLSv1.1 TLSv1.2 
        SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
        SSLCertificateFile ssl/svn.phpdr.net/public.pem 
        SSLCertificateKeyFile ssl/svn.phpdr.net/214108480000696.key
        SSLCertificateChainFile ssl/svn.phpdr.net/chain.pem
        <Location />
                DAV svn 
                SVNPath /srv/svn/ares
                SVNListParentPath On
                AuthzSVNAccessFile /srv/svn/apache_authz
                AuthType Basic
                AuthName "Welcom to Ares Repository"
                AuthUserFile /srv/svn/apache_user
                Require valid-user
        </Location>
</VirtualHost>

 

使用mod_dav_svn访问Subversion仓库

在前面的日志中,讲述了如何使用Subversion提供的svnserve服务,通过svn://协议访问远端的仓库数据。实际上,Subversion的设计包括了一个抽象的网络层,这意味着版本库是可以通过各种服务器进程访问的。理论上来会说,Subversion可以使用无限数量的网络协议来实现,甚至可以直接用perl利用相关的接口来编写自定义协议。但日常中,用得最多的就是svn://协议,和用mod_dav_svn模块通过Apache服务进行访问。
通过HTTP协议访问版本库是Subversion的亮点之一,这种方式具备许多svnserve服务器所没有的特性,使用上更加灵活。
继续阅读

SVN如何支持匿名用户访问

方法一(推荐)
在svn安装目录下找到,conf/httpd.conf文件,如果是手动集成apache的则找到apache的配置文件。
找到中的

Require valid-user

改为

<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

重启服务,这样设置以后,svn下的所有内容都不在需要验证用户,可以直接访问。
缺点:svn自身的访问权限设置失效了。更多的时候我们希望用户先用匿名方式尝试访问,如果不行,在输入用户名和密码验证访问。
继续阅读