超简单搭建功能全面易用的svn服务端 VisualSVN Server+ApachePasswd程序包
安装前准备:
VisualSVN-Server-1.6.3.msi:http://www.visualsvn.com/server/download/
ApachePasswd客户端修改密码程序包(本版置顶贴 svn使用FAQ里就有的),mod_cgi.so模块(任何版本的apache安装文件里都有)
VisualSVN-Server对操作系统的要求为:
• Windows® XP
• Windows 2003 Server
• Microsoft® Windows Vista®
• Windows 2008 Server
集成组件:Subversion 1.5.5,Apache 2.2.9.
第一步、VisualSVN-Server安装:
这个没什么可说的,安装了就知道,一路next,我选用的是https方式,比http的好处大家自己google去吧,客户端唯一与http不一样的就 是访问时多了个s,另外如果访问时不想带端口号,可以用https默认的端口号(443),就是80端口相对于http。
第二步、将已有仓库和用户权限信息无缝导入VisualSVN-Server
网上关于VisualSVN-Server的安装使用说明大部分都是新建仓库、用户和权限的,所以我要有些不同,这也是根据我的实际需要和操作过程来写的。
1、 修改VisualSVN-Server仓库路径指向已有仓库路径(这步也可以省略,通过VisualSVN-Server管理界面导入,但是会花费 一番时间将你的仓库导入到一个你并不希望的路径,为何不直接指定呢,既不需要浪费时间又保持了原来的仓库路径)
方法:打开注册表,regedit搜索RepositoriesRoot,你会发现在HKEY-LOCAL-MACHINE ——〉SOFTWARE——〉VisualSVN下,修改RepositoriesRoot的值为你的仓库路径,假设为G:/Repositories/
2、 修改****/VisualSVN Server/conf/httpd.conf
你会发现这个配置文件比独立安装apache简单多了,只需要修改下段:
<Location /svn/>
DAV svn
SVNListParentPath on
#仓库路径
SVNParentPath "G:/Repositories"
SVNIndexXSLT "/svnindex.xsl"
AuthName "Subversion Repositories"
AuthType Basic
AuthBasicProvider file
#用户密码文件
AuthUserFile "G:/Repositories/htpasswd"
#权限文件
AuthzSVNAccessFile "G:/Repositories/authz"
require valid-user
</Location>
保存配置文件,在服务重新启动VisualSVN Server,打开Manager,你会发现仓库、用户、权限都有了,看着好开心啊,比svnmanager方便多了。
第三步:实现客户端修改用户密码
因为VisualSVN也提供收费的客户端软件,在客户端软件里有修改密码功能,但是我们大部分用的还是TortoiseSVN啊,所以这个得自己动手了。大家都知道ApachePasswd客户端修改密码程序包,集成了Apache Server,肯定可以用的。
步骤如下:
A) 将mod_cgi.so copy到****/VisualSVN Server/bin目录下,这是cgi得以执行的必须包
B) 在VisualSVN Server下创建cgi-bin目录(VisualSVN Server真是做到十分的精简,连这个目录都删掉了),将ApachePasswd程序包释放到该目录下
C) 修改ApachePasswd.cgi.ini里的用户信息文件路径
D) 配置****/VisualSVN Server/conf/httpd-custom.conf(这个客户个性化配置文件非常好)
原来是空白的,增加
LoadModule cgi_module bin/mod_cgi.so
LoadModule alias_module bin/mod_alias.so
<IfModule alias_module>
ScriptAlias /cgi-bin/ "E:/Program Files/VisualSVN Server/cgi-bin/"
</IfModule>
好了,重新启动VisualSVN Server。测试一下,打开一个页面,输入https://IP/cgi-bin/ApachePasswd.cgi,出现修改密码页面,尽管还是那么朴实无华,但很亲切