Ubuntu安装SVN版本管理器

软件介绍:

        Subversion(简称SVN)是一个自由开源的版本控制系统。Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一。

安装

普通用户登录则需要sudo 执行


第一步:安装


sudo apt-get install subversion


第二步:创建版本库,选择版本库目录地址:/home/svn/ 也可以是其他地址


sudo mkdir /home/svn

sudo svnadmin create project001

cd projecct001


第三步:根据实际需求,确定是否创建多版本库,创建多版本库一般将authz passwd svnserver.conf 独立在conf文件夹中,本例创建多版本库,创建单版本库略过第三步


sudo mkdir conf

sudo cp ./project001/conf/svnserve.conf ../../conf

sudo cp ./project001/conf/authz ../../conf

sudo cp ./project001/conf/passwd ../../conf


第四步:配置svnserve.conf passwd authz文件


svnserve.conf 文件配置项

cd /home/svn/conf

sudo vim svnserve.conf

修改

# anon-access = read             #未授权用户可读取
# auth-access = write             #授权用户可写
# password-db = passwd       #用户密码数据库

# authz-db = authz                 #权限分配数据库

anon-access = none

auth-access = write
password-db = passwd

authz-db = conf/authz


注意

1.取消行前面的#号(#号代表注释),

2.注意 = 号左右之间的空格


passwd 文件配置项,passwd文件存放svn 授权用户的用户名和密码

sudo vim passwd

在[users]标签之后添加,格式:用户名 = 密码(注意 = 号左右空格)

svnadmin = pwd_svnadmin
manage1 = pwd_manage1
manage2 = pwd_manage2
dev1 = dev1


authz 文件配置项,authz 文件使用来分配权限角色的数据库

在[group]标签添加授权用户组  格式:用户组名 = 用户名1,用户名2(多用户之间用,隔开)

admin_group = svnadmin
project001_manage = manage1,manage2
dev_group = dev1

配置访问权限

#根目录权限
[/]
@admin_group = rw
* = r

#多版本库就添加对应版本库权限
[project001:/]
@admin_group = rw
@project001_manage = rw
@dev_group = r

配置完成之后可以用svnauthz-validate 验证用户名文件是否配置正确

sudo svnauthz-validate authz

没有报错则证明配置正确


第五步:启动svnserve 服务

注意:配置多版本库后应在启动后参数加上 --config-file 文件路径

sudo svnserve -d -r /var/svn --config-file /home/svn/conf/svnserve.conf

至此svn配置完成

扩展

查看是否启动成功

sudo netstat -antp |grep svnserve #方法一

sudo ps -e |grep svnserve #方法二

结束SVN服务

sudo kill -9 svn端口号


防火墙拦截则需要添加规则

ufw allow 3690

即可


当前第一个版本的地址为    

svn://localhost/project001

svn检出命令

sudo svn co svn://localhost/project001 --usrname svnadmin


评论