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文件控制类型很多,可以延伸