目录
3.当然要想使用多库SVN,在创建版本库的时候要创建的艺术一点
一、单库SVN安装
1.准备
(1)大多数 GNU/Linux 发行版系统自带了Subversion ,所以它很有可能已经安装在你的系统上了。可以使用下面命令检查是否安装了。
svn --version
(2)如果 Subversion 客户端没有安装,命令将报告svn命令找不到的错误。
[runoob@centos6 ~]$ svn --version bash: svn: command not found
2.安装
(1)我们可以使用 yum install subversion 命令进行安装。
yum install subversion -y
(2)安装成功之后,执行 svn --version 命令。
svn --version
3.启动与配置
由于-r 配置方式的不一样,SVN启动就可以有两种不同的访问和配置方式:单库SVNserve方式或多库svnserve方式
此着重讲解单库svnserve方式:
(1)手动新建版本库目录
mkdir /app/svn
(2)利用svn命令创建版本库
svnadmin create /app/svn/
(3)查看版本库目录
[wangxin@host-10.124.164.162 ~]# ll /app/svn
drwxr-xr-x 2 admin admin 4096 Sep 28 16:58 conf
drwxr-sr-x 6 admin admin 4096 Sep 29 14:38 db
-r--r--r-- 1 admin admin 2 Sep 6 14:33 format
drwxr-xr-x 2 admin admin 4096 Sep 6 14:33 hooks
drwxr-xr-x 2 admin admin 4096 Sep 6 14:33 locks
-rw-r--r-- 1 admin admin 229 Sep 6 14:33 README.txt
(4)配置 conf/svnserve.conf
svn服务配置文件为版本库目录中的文件conf/svnserve.conf。该文件仅由一个[general]配置段组成。
vim /conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /app/svn/conf/passwd
authz-db = /app/svn/conf/authz
realm = tydic
(5)配置 conf/passwd
用户名口令文件由svnserve.conf的配置项password-db指定,缺省为conf目录中的passwd。该文件仅由一个[users]配置段组成
[users]
#用户名=密码
admin = admin@tydic
wangxin = 111
li=222222
wan=33333
tawe=4444444
(6)配置 conf/authz
权限配置文件由svnserve.conf的配置项authz-db指定,缺省为conf目录中的authz。该配置文件由一个[groups]配置段和若干个版本库路径权限段组成。
[groups]
tydic=wangxin,wan,li
[/]
admin=rw * = r
[/总部业务线]
admin=rw
@tydic=rw
*=
(7)使用svnserve 启动服务
svnserve -d -r /app/svn --listen-port 3690
-r: 配置方式决定了版本库访问方式。
--listen-port: 指定SVN监听端口,不加此参数,SVN默认监听3690
(8)通过客户端tortoiseSVN访问URL
svn://10.124.164.162:3690/
二、多库svnserve与单库SVNserve 不同
1.单库SVNserve:-r直接指定到版本库
svnserve -d -r /app/svn/db1
在这种情况下,一个svnserve只能为一个版本库工作。
authz配置文件中对版本库权限的配置应这样写:
[groups]
admin=wangxin
dev=zhangqi
[/]
@admin=rw
@dev=r
使用类似这样的URL:svn://*.*.*.*/ 即可访问db1版本库.
2.多库SVNserve:指定到版本库的上级目录
svnserve -d -r /opt/svn
这种情况,一个svnserve可以为多个版本库工作
authz配置文件中对版本库权限的配置应这样写:
[groups]
admin=wangxin
dev=zhangqi
[db1:/]
@admin=rw
@dev=r
[db2:/]
@admin=rw
@dev=r
#如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录。
使用类似这样的URL:svn://*.*.*.*/db1 即可访问db1版本库。
3.当然要想使用多库SVN,在创建版本库的时候要创建的艺术一点
有步骤1,和步骤2 的前提是:(这和SVN单库安装并不一样)
svnadmin create /app/svn/db1
svnadmin create /app/svn/db2
4.多库可以使用同一个 passwd 和 auth
通过版本库的 svnserve.conf 配置(须为绝对路径)
password-db = /app/svn/passwd
authz-db = /app/svn/authz
三、配置文件解析
1.svnserve.conf
- anon-access: 控制非鉴权用户访问版本库的权限,取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:read
- auth-access: 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:write
- authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。 缺省值:authz
- realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的 认证域相同,建议使用相同的用户名口令数据文件。 缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
2.passwd
#用户名=密码
3.authz
(1)权限具备继承性:子目录会自动拥有父目录的权限
(2)*= : 代表除上述用户和组外,其他用户对该目录无读写权限
(3)*=r :代表除上述用户和组外,其他用户对该目录只有读权限
(4)无*先后顺序 一说:也就是说,如果我将本段配置的 ``* =`` 这一行挪到最前面,完全不影响整个配置的最终效果。
四、使用svn客户端通过svn协议访问URL
1.下载tortoiseSVN
https://tortoisesvn.net/downloads.html
2.安装,点点点就行了
3.汉化
下载汉化包,点点点
4.使用客户端
在桌面右击,点开版本库浏览器,输入URL,使用用户名和密码即可登录使用