Linux VM_47_236_centos 3.10.0-514.21.1.el7.x86_64

需求:android.ios.service三个版本库

安装:

yum -y install subversion

若需查看svn安装位置,可以用以下命令:

rpm -ql subversion

查看版本

# svn --version --quiet
1.7.14

创建版本库

mkdir /data/svn/{ios,android,service} -p
svnadmin create /data/svn/ios
svnadmin create /data/svn/android
svnadmin create /data/svn/service

配置

创建后会产生如下文件:

[root@VM_47_236_centos svn]# cd ios
[root@VM_47_236_centos ios]# ls
conf db format hooks locks README.txt

修改的文件主要在conf目录下

[root@VM_47_236_centos ios]# cd conf/
[root@VM_47_236_centos conf]# ls
authz passwd svnserve.conf
authz:负责账号权限的管理,控制账号是否读写权限

passwd:负责账号和密码的用户名单管理

svnserve.conf:svn服务器配置文件
修改svnserve.conf
anon-access = read
auth-access = write
password-db = passwd
# authz-db = authz
realm = My First Repository
anon-access = none
#控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:read
auth-access = write
#控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:write
password-db = passwd
#指定账户密码配置文件,当前文件夹下的passwd文件
authz-db = authz
#权限配置文件,当前文件夹下的authz文件
realm = first
#版本库的认证域,即在登录时提示的认证域名称。若两个版本库的 认证域相同,建议使用相同的用户名口令数据文件。缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)

==authz-db = authz不用取消注释!!!
authz-db = authz不用取消注释!!!
authz-db = authz不用取消注释!!==!
不然会一直提示认证错误

realm = My First Repository
注释即可,不用改为IP地址

修改passwd
[users]
xxx = yyy
修改authz
[aliases]

[groups]

[\]
xxx = rw

rw表示赋予此账号可读写的权限,请注意[]中的斜杠,一定是反斜杠,有些教程说,需添加版本库名称在括号内,我直接建议就这写,这样写允许访问的权限更大,避免一些错误

启动svn
svnserver -dr /data/svn/

各版本登录地址:

svn://xxx/iso xxx为ip地址

passwd文件以及authz文件控制类型很多,可以延伸

05-13 19:40