SVN

安装

centos

yum install subversion

ubuntu

apt install subversion

配置

创建仓库

在 /home/nicky 下建立一个 repo,名称为 svn_repo. svn_repo即项目名称。

svnadmin create /home/svn_repo

修改配置

进入到 /home/svn_repo/conf 下,看到3个配置文件

[root@localhost conf]# ls
authz  passwd  svnserve.conf

authz 是权限控制文件 passwd 是帐号密码文件 svnserve.conf 是SVN服务配置文件

配置passwd

[users]
test1=test
test2=testtest

配置authz

[root@localhost conf]# vi authz
[groups]
group1 = liuxianan
group2 = test1,test2
[/]
@group1 = rw
@group2 = r
* =

上面配置的含义是创建了2个分组,分组1的用户可读可写,分组2的用户只读。liuxianan对/home/svn/下所有文件具有可读可写权限,test只有只读权限.

除此之外,其它用户均无任何权限,最后一行*=很重要不能少

版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>

svnserve.conf

[root@localhost conf]# vi svnserve.conf 
打开下面的5个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录

启动与停止

[root@localhost conf]# svnserve -d -r /home/svn(启动)
[root@localhost conf]# killall svnserve(停止)

svn服务器默认使用3690端口号,svn要使用非默认端口 如需指定端口号 svnserve -d -r /home/svn --listen-port 3690

如果无法杀死,可以直接杀死进程

[root@localhost conf]# ps -ef|grep svnserve
root      4908     1  0 21:32 ?        00:00:00 svnserve -d -r /home/svn
root      4949  4822  0 22:05 pts/0    00:00:00 grep svnserve
[root@localhost conf]# kill -9 4908

客户端连接

获得一个 wc,如把它取名为 svn_repo1

svn checkout svn://127.0.0.1/ svn_repo1

或者简写为:

svn co svn://127.0.0.1/ svn_repo1

开启 http 访问

<Location /svn>
DAV svn
SVNParentPath /home/svn
SVNAdvertiseV2Protocol Off
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /home/svn/passwdfile
AuthzSVNAccessFile /home/svn/authz
Require valid-user
</Location>

results matching ""

    No results matching ""