一、配置好yum,检查subversion安装包
1、yum list |grep subversion
2、yum -y install subversion
3、svnserve --version 回车显示版本说明安装成功
二、创建svn版本库
1、 mkdir -p /mnt/data/svn
2、svnadmin create /mnt/data/svn/moon moon为版本库名称
三、svnserve配置文件概述
svnserve.conf -- svn服务配置文件,该文件版本库目录的conf目录下。
passwd -- 用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的。
authz -- 权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的。
a).配置svn服务的配置文件svnserver.conf文件
vi /mnt/data/svn/moon/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /mnt/data/svn/moon/conf/passwd
authz-db = /mnt/data/svn/moon/conf/authz
realm = Moon Repository #这是个提示信息
保存
b).添加两个访问用户及口令
vi /mnt/data/svn/moon/conf/passwd
[users]
kyle = 123456
test1 = 123456
保存
注意:对用户配置文件的修改立即生效,不必重启svn服务。
c). 配置新用户的授权文件
vi /mnt/data/svn/moon/conf/authz
[groups]
admin = kyle
moonDev = test1
[/]
@admin = rw
@moonDev = r
保存
格式说明:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
/ 表示对根目录(即/mnt/data/svn/moon目录)下的所有子目录范围设置权限;
[/abc] 表示对资料库中abc项目设置权限;
创建一个admin组,组成员包括xiaoran.shen和test1
创建一个user组,成员只有test2;
admin组对目录有读写权限;
单个用户test2有读写权限;
*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。
注意:对权限配置文件的修改立即生效,不必重启svn。
四、启动svn服务
svnserve -d -r /mnt/data/svn/
注意:不要使用系统提供的 /etc/init.d/svnserve start 来启动,因为系统默认的启动脚本中没有使用 –r /mnt/data/svn/参数指定一个资源。这种情况下启动的svn服务,客户端连接会提示“svn: No repository found in 'svn://ip/moon' ”这样的错误。
默认svn服务器端口是3690。
五、杀死svn服务:
ps -ef|grep svn
root 4642 1 0 16:08 ? 00:00:00 svnserve -d -r /mnt/data/svn/
root 4692 3676 0 16:13 pts/2 00:00:00 grep svn
kill -9 4642