1,安装svn
1>在linux安装时勾选svnserve,
2>用yum install svn安装,运行yum install svn后出现subversion 安装提示,选择y安装即可
2,配置svn server
1>建立svn目录,比如在 /home/svn 运行 mkdir svnrepo
2> svnadmin create /home/svn/svnrepo
然后在svnrepo目录下会产生一个conf目录,所有svn的配置文件都在这里了。
3>进入conf目录, 首先编辑svnserve.conf文件
在【general】item下
anon-access=none 禁止匿名访问,通常工作用的svn不会允许匿名访问吧。
auth-access = write # 使授权用户有写权限
password-db = /home/svn/svnrepo/conf/passwd # 指明密码文件路径
authz-db = /home/svn/svnrepo/conf/authz # 访问控制文件
realm = /home/svn/svnrepo # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
NOTE:切记一定要顶行写,否则会报比如svnserve.conf:12: Option expected错误
4>编辑passwd文件
【users】
user1 = user1pw #用户名=密码
5>编辑authz文件
【groups】
groups1= u1,u2,u3
groups2= u5,u6
【/】
@group1=rw #group1用户可访问所有repos
[/svnrepo2:/dir1/dir2/]
@group2=rw #group2用户仅可以访问repos2的/dir1/dir2目录
这两个需要配合使用,在group里定义的列表在【/】里授权可访问目录,可配置不同的目录访问人员列表不同
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
到此常用配置结束
3,启动svn服务
svnserve -d -r /home/svn #注意这里用的是/home/svn/ 不是/home/svn/svnrepo, 否则会在client checkous时出现 URL don‘t exist错误
如果报:svnserve: Can't bind server socket: Address already in use
解决办法:
使用 “ ps -e|grep svnserve ” 找到服务对应进程编号 ,使用 kill 命令,之后再使用启动命令4,Done