在公网上搭建的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






posted @ 2012-07-11 17:23  爱知菜  阅读(375)  评论(0编辑  收藏  举报