1)
svn是一个跨平台的开源的版本控制系统,它会记住每一次文件的变动。
相关站点:
http://subversion.tigris.org/
http://subversion.apache.org/
http://tortoisesvn.net/
2)install svn server
yum -y install subversion
mkdir -p /application/svndata
mkdir -p /application/svnpasswd
3)create database
svnadmin create /application/svndata/sadoc
/bin/cp svnserve.conf svnserve.conf.$(date +%F)
4)
[root@svn conf]# egrep "\-access|\-db =" svnserve.conf
# anon-access = read
# auth-access = write
# password-db = passwd #密码数据库
# authz-db = authz #控制权限的数据库
修改:
vi svnserve.conf 修改
anon-access=none #12行
auth-access=write #13行
password-db = /application/svnpasswd/passwd #18行
[root@svn conf]# egrep "\-access|\-db =" svnserve.conf
anon-access = none
auth-access = write
password-db = /application/svnpasswd/passwd
authz-db = /application/svnpasswd/authz
5)
[root@svn conf]# cp authz passwd /application/svnpasswd/
[root@svn conf]# cd /application/svnpasswd/
[root@svn svnpasswd]# ls
authz passwd
[root@svn svnpasswd]# chmod 700 *
authz:配置
结尾加入一下内容
ett_sa = zhang,test1
ett_wangguan = test
[sadoc:/]
@ett_sa = rw
@ett_wangguan = r
test = r
passwd配置
[root@svn svnpasswd]# egrep -v "^#|^$" passwd
[users]
zhang = 111111
test1 = 111111
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
= ,
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/application/svndata,[/]就是表示对全部版本库设置权限。
[repos:/] 表示对版本库repos设置权限;
[repos:/sadoc] 表示对版本库repos中的sadoc项目设置权限;
[repos:/sadoc/oldboy] 表示对版本库repos中的sadoc项目的oldboy目录设置权限;
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
authz中每个参数都要顶格写,开头不能有空格。
对于组,要以@开头,用户不需要@开头。
6)
重启svn
[root@svn ~]# pkill svnserve
[root@svn ~]# ps -ef|grep svn
root 19773 19741 0 22:25 pts/0 00:00:00 grep svn
[root@svn ~]# svnserve -d -r /application/svndata/
[root@svn ~]# ps -ef|grep svn |grep -v grep
root 19826 1 0 22:32 ? 00:00:00 svnserve -d -r /application/svndata/