在公网上搭建的svn的经验
需要apache
需要subversion,选最底下那个( http://subversion.apache.org/packages.html#windows )
需要TortoiseSVN
装apache,注意调整apache的监听端口,不要冲突
装subversion,如果是内网使用subversion监听的端口是3690,但这里因为是在外网使用,所以监听的端口就是apache的监听端口
配置Apache的httpd.conf文件
httpd.conf在apache目录下的conf目录下
找到下面两行
删除前面的注释符“#”,如下:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
并在这一大串LoadModule的最后添加上
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
同时要复制subversion目录下的mod_dav_svn.so和mod_authz_svn.so文件到apache目录的modules目录下
再装TortoiseSVN,使用TortoiseSVN创建工程版本文件( create repository here....)
再到httpd.conf文件中,在最后添加如下:
<Location /svn>
DAV svn
SVNParentPath D:/svnroot
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile bin/passwd
Require valid-user
</Location>
其中注意:D:/svnroot,是所有repository的父目录,如果你的svn只有一个repository,那么SVNParentPath D:/svnroot应改成SVNPath D:/repository,但一般一个svn都有好几个工程
最后是给你的svn添加权限
htpasswd –c E:/passwd/passwords username
这是创建权限文件
htpasswd –d E:/passwd/passwords username2
这是增加一个用户
注意权限文件要和AuthUserFile bin/passwd中指定的路径一致
然后重启apache就可以了,在外网上访问repository的时候不再是用svn://了,而是用http协议,例如:http://233.32.43.32:8070/svn/repo1