1.Subversion1.6.9版本的安装包自带了Apache2.2.13,所以无需额外安装Apache服务器。下载地址是(需要注册后再下载)http://www.collab.net/downloads/subversion/
2.一路默认安装,如果需要修改仓库根目录或者Apache2.2.13端口可以自行修改为自己想要的,Apache默认端口为80,Subversion默认仓库存储路径为C:\svn_repository。
安装的过程中会自动将Subversion和Apache注册成服务,安装完成后重启一下电脑,运行services.msc查看服务,可以看到 “CollabNet Subversion Apache”和“CollabNet Subversion svnserve”两个服务已经自动启动,如果不想让他们自动启动,可以修改为手动启动。
注:安装结束时没有提示重启电脑,但重启之前Apache服务无法启动,提示“The requested operation has failed!”。
3.重启电脑后运行C:\Program Files\CollabNet\Subversion Server\httpd\bin的“ApacheMonitor.exe”打开Apache控制台,可以看到控制台的状态栏有如下内容:
Apache/2.2.13 (Win32) DAV/2 SVN/1.6.5
4.运行命令提示符cmd
cd C:\Program Files\CollabNet\Subversion Server
svnadmin create c:\rep
//用svnadmin命令创建名为rep的仓库(这条命令成功后,在rep下会出现很多文件夹和文件)
cd C:\Program Files\CollabNet\Subversion Server\httpd\bin
htpasswd -cm c:\rep\user.txt admin
//用htpasswd命令创建用户(admin),同时生成密码认证文件,c参数为create,m参数为MD5加密方式
New password: ******
Re-type new password: ******
Adding password for user admin //加入用户成功
htpasswd -m c:\rep\user.txt test
//用htpasswd命令创建用户(test),注意如果在这时加入c参数会覆盖掉之前创建的用户及文件。
New password: ******
Re-type new password: ******
Adding password for user test //加入用户成功
5.在C:\rep下新建文本文件access.txt。建议用UtralEdit或EditPlus编辑工具打开,若用记事本打开,注意不要勾上“格式”里的“自动换行”,输入以下内容:
[/]
admin = rw
test = r
* =
6.用UtralEdit或EditPlus编辑工具打开C:\Program Files\CollabNet\Subversion Server\httpd\conf下的httpd.conf文件,
找到115行和116行的代码如下:
115 LoadModule dav_module modules/mod_dav.so
116 LoadModule dav_svn_module modules/mod_dav_svn.so
在116行下面加入如下一行代码,这行代码就成为了117行:
LoadModule authz_svn_module modules/mod_authz_svn.so
文件最后面的信息如下:
DAV svn
SVNParentPath C:\svn_repository
修改为:
DAV svn
SVNPath C:\rep
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "C:\rep\user.txt"
AuthzSVNAccessFile "C:\rep\access.txt"
Require valid-user
7.通过ApacheMonitor控制台在任务栏右下角的图标的Restart命令重新启动apache,用IE打开http://localhost/rep,输入用户名admin与密码,这时应该可以看到
rep - Revision 0: /
--------------------------------------------------------------------------------
Powered by Subversion version 1.6.5 (r38866).
//说明经配置成功了
8.至此,Subversion 1.6.5在Windows下的安装完成。后面若需要新增用户或修改用户的密码,参考上面的第4点,若需要控制各用户访问库里各目录的权限,参考第5点去修改access.txt文件就可以了。之所以没有采用默认的authz和passwd,是这两个文件名没有后缀,在Windows下要选打开的程序,其实这不太重要了,反正可以识别得到。
9.要方便地使用Subversion,还是要装一个客户端TortoiseSVN比较好用。下载地址是http://tortoisesvn.net/downloads
10.嗯,后面再模仿实现一下用pre-commit控制日志不允许为空(网上搜到的在Linux下实现的脚本都不成功),用post-commit实现自动build和邮件通知,与LDAP的集成,svnmanager,sveton等。
我在安装的过程中遇到过一个问题,就是刚开始建库的时候,比如安装时一路默认安装到C:\svn_repository,然后我用命令把库也建到这个目录下:
svnadmin create C:\svn_repository
修改httpd.conf里的 为
DAV svn
SVNPath C:\svn_repository
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "C:\rep\user.txt"
AuthzSVNAccessFile "C:\rep\access.txt"
Require valid-user
然后用http://localhost/svn去访问,一直提示出错Http 401出错(禁止访问)
server sent unexpected return value (403 Forbidden) in response to OPTIONS request for 'http://localhost/svn'
我估计是不允许将库直接建到默认安装路径C:\svn_repository,而是应该要建到里面的某一个子目录。