【SVN搭建】搭建SVN服务

1.安装

# yum -y install subversion

2.配置

创建仓库


  我们这里在/opt下建立一个名为svn的仓库(repository),所有代码都可以放在这个下面,创建成功后在svn下面会有几个文件夹。

[root@VM_0_10_centos ~]# mkdir -p /opt/svn
[root@VM_0_10_centos ~]# svnadmin create /opt/svn/
[root@VM_0_10_centos ~]# ls /opt/svn/
conf  db  format  hooks  locks  README.txt

# conf目录是存放配置文件的
[root@VM_0_10_centos ~]# cd /opt/svn/conf/
[root@VM_0_10_centos conf]# ls
authz  passwd  svnserve.conf

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

配置passwd


[root@VM_0_10_centos conf]# vi passwd
[users]
# harry = harryssecret
# sally = sallyssecret
thy = 密码
zs = 密码

PS:上面创建了两个用户

配置authz


# 配置的含义是,svnadmin 对/opt/svn/下所有文件具有可读可写权限,thy ,zs只有只读权限,除此之外,其它用户均无任何权限,最后一行*=很重要不能少。
[root@VM_0_10_centos conf]# cat authz
[/]
svnadmin = rw
thy = r
zs = r
*=

拓展:使用用户分组

# 和上面效果一样
[root@VM_0_10_centos conf]# vi authz 
[groups]
group1 = svnadmin
group2 = thy,zs

[/]
@group1 = rw
@group2 = r
*=

版本库目录格式:

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

配置svnserve.conf


# 打开下面5个注释
[root@VM_0_10_centos conf]# grep '^[a-z]' svnserve.conf 
anon-access = read    # 匿名用户可读
auth-access = write    # 授权用户可写
password-db = passwd    # 使用哪个文件作为账号文件
authz-db = authz    # 使用哪个文件作为权限文件
realm = /opt/svn    # 认证空间名,版本库所在目录(也就是刚刚创建的)

3.启动与停止

# 启动(-d表守护进程, -r 表在后台执行。)
[root@VM_0_10_centos conf]# svnserve -d -r /opt/svn/

# 停止
[root@VM_0_10_centos conf]# killall svnserve
或
[root@VM_0_10_centos conf]# ps -ef | grep svnserve
root     18515 29941  0 14:05 pts/0    00:00:00 grep --color=auto svnserve
root     21066     1  0 11:27 ?        00:00:00 svnserve -d -r /opt/svn/
[root@VM_0_10_centos conf]# kill 21066

4.客户端连接

  这里使用TortoiseSVN,输入地址svn://你的IP 即可,不出意外输入用户名和密码就能连接成功了。

  默认端口3690,如果你修改了端口,那么要记得加上端口号。

5.清除svn登录用户信息

# 删除该目录下的auth文件即可
[root@VM_0_10_centos svn]# rm -rf ~/.subversion/auth/
 
原文地址:https://www.cnblogs.com/HeiDi-BoKe/p/12048422.html