1. 安装SVN
可以使用平台对应的安装包安装,也可以从源代码安装。安装完成之后可以用如下代码进行验证安装是否成功,可执行文件或者在/usr/bin 或者在/usr/local/bin (源代码安装)
svnserve –version
2. svn配置
建立svn版本库目录,可建多个:
mkdir -p /opt/svndata/repos1
svnadmin create /opt/svndata/repos1
修改svn版本库配置文件
vi /opt/svndata/repos1/conf/svnserve.conf
-
[general]
-
anon-access = none
-
auth-access = write
-
password-db = /opt/svn/conf/pwd.conf
-
authz-db = /opt/svn/conf/authz.conf
-
realm = repos1
配置允许访问的svn用户
vi /opt/svn/conf/pwd.conf
注意:对用户配置文件的修改立即生效,不必重启svn。
-
[users]
-
<用户1> = <密码1>
-
<用户2> = <密码2>
配置svn用户访问权限
vi /opt/svn/conf/authz.conf
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
= ,
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[:/项目/目录]
@ =
=
其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。
repos1:/,表示对版本库1设置权限
repos2:/abc, ,表示对版本库2中的abc项目设置权限
repos2:/abc/aaa, ,表示对版本库2中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
-
[groups]
-
admin = john
-
-
[/]
-
@admin = rw
-
-
[repos1:/abc/aaa]
-
jason = rw
3. 启动svn
经过step1),step2),服务已配置好,可以启动了
svnserve --daemon --root
/opt/svndata/
关于--root的使用请参看:
文档中说 :如果一个版本库是位于/usr/local/repositories/project1,则一个客户端可以使用 svn://host.example.com/usr/local/repositories/project1 来进行访问
你可以使用svnserve的-r选项,这样会限制只输出指定路径下的版本库:
$ svnserve -d -r
/opt/svndata/
使用-r可以有效地改变文件系统的根位置,客户端可以使用去掉前半部分的路径,留下的要短一些的(更加有提示性)URL:
$ svn checkout svn://host.example.com/project1
阅读(2727) | 评论(10) | 转发(2) |