SVN 配置总结
1 下载CollabNet Subversion Server [http://www.open.collab.net/products/subversion/]
2 由于CollabNet Subversion Server已经集成apache,无需下载apache
3 先默认安装 CollabNet Subversion Server,subversion 默认仓库存储路C:\svn_repository[可自行修改]. 修改为:d:\svn . Apache默认端口(若修改,访问时要加上端口号)
4 重启电脑,否则apache无法启动
5 重启后运行"C:\program files\collabnet\subversion server\httpd\bin"下"ApacheMonitor.exe"打开Apache控制台,可以看到控制台的状态栏下有如下内容显示,代表Apache和Subversion整合成功。Apache/2.2.13(win32) DAV/2 SVN/1.6.6
6 创建访问subversion的用户
运行cmd
cd c:\program files\collabnet\subversion server\httpd\bin
输入:[1]htpasswd -cm d:svn\user test
用htpasswd 命令创建用户(test),同时生成密码认证文件,c参数为create,m参数为MD加密方式
New password:******
Re-type new password:******
Adding password for user test//加入用户成功
[2]htpasswd -m d:svn\user bonnie
//用htpasswd命令创建用户(bonnie),注意如果在这时候加入c参数会覆盖掉之前创建的用户及文件
New password:******
Re-type new password:******
Adding password for user jiadi//加入用户成功
[3]htpasswd -d d:svn\user saiqun.wu ---htpasswd -d D:\svn\文件名 名称
New password:******
Re-type new password:******
Adding password for user saiqun.wu//加入用户成功
建议用 –d
如图:
user是用户配置文件 ,通过htpasswd命令创建用户名及密码。(或名门为passwd)
authz是用户权限配置文件
7 创建权限文件
用户组格式:
<用户组名> = <用户1>,<用户2>…
<用户组名2>=<用户1>,<用户2>…
…
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。用户必须要在user文件里能找到,它是给那个里面的user赋权限.
版本库目录格式:
[/目录]
@<用户组名>=<权限>
…
<用户名>=<权限> ---只对这单个用户名的权限
[库名:/路径]
@<用户组名>=<权限>
*=
示例:
在d:\svn 下创建文件authz,输入如下:
[groups]
admin=test,saiqun.wu,bobo
组名1=jiadi,xixi
[/]
@admin=rw
*=r
[PrjDemo:/]
@admin=rw
@组名1=rw
*=
@admin=rw
Jie=r ---用户jie对 测试部只有只读权限
[PrjDemo:/测试部/11]
@admin=rw
@组名1=r --组名1下的用户对 测试部/11只有只读权限
*=r
…
备注:关于访问路径[/目录],其完整格式[repos-name:path]或者[path],repos-name是版本库的名字
图:
若是存在多个项目,不同项目对不同组人员的权限不同,可以按照上述方法设置用户权限
8编辑c:\program files\collabnet\subversion server\httpd\conf下的httpd.conf文件
[1] 找到116行 LoadModule dav_svn_module modules/mod_dav_svn.so
在其下面添加一行
LoadModule authz_svn_module modules/mod_authz_svn.so
修改文件最后
<Location /svn>
DAV svn
SVNParentPath c:\svn_repository
</Location>
修改为:
<Location /svn>
DAV svn
SVNParentPath d:\svn
AuthType Basic
AuthName "Subversion repository"
#SVNPath D:\svn
AuthUserFile "d:\svn\user"
# only authenticated users may access the repository
Require valid-user
AuthzSVNAccessFile "D:\svn\authz"
</Location>
9 创建版本库,版本库名为PrjDemo
svnadmin create d:\svn\prjDemo
10 重启apache,现在可用http://localhost/svn/prjDemo访问你刚才创建的项目了
若是在其他机子上装有客户端svn,那么将localhost改为subversion serve 的ip地址即可