一、SVN简介
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
SVN采用客户端/服务器体系,项目的各种版本都存储在服务器上,程序开发人员首先将从服务器上获得一份项目的最新版本,并将其复制到本机,然后在此基础上,每个开发人员可以在自己的客户端进行独立的开发工作,并且可以随时将新代码提交给服务器。当然也可以通过更新操作获取服务器上的最新代码,从而保持与其他开发者所使用版本的一致性。
我们一般在window环境下安装visualsvn,Linux环境安装Subversion Edge,主要是简化了SVN版本库和用户的管理工作,实际上我们可以直接YUM安装SVN,此方式需要我们通过命令行下配置和管理SVN。博文实验环境:
- 操作系统:centos7.6
- SVN版本:1.7.14
二、安装步骤
1、YUM安装subversion
[root@s146 conf]# yum install -y subversion
2、创建一个svn账户
[root@s146 ~]# useradd svn
[root@s146 ~]# passwd svn
3、创建版本库目录
[svn@s146 ~]$ mkdir -p svn/repos
4、创建SVN版本库
[svn@s146 ~]$ svnadmin create svn/repos/
[svn@s146 ~]$ cd svn/repos/
[svn@s146 repos]$ ll
total 8
drwxrwxr-x. 2 svn svn 54 Feb 10 14:49 conf
drwxrwsr-x. 6 svn svn 233 Feb 10 14:49 db
-r–r--r–. 1 svn svn 2 Feb 10 14:49 format
drwxrwxr-x. 2 svn svn 231 Feb 10 14:49 hooks
drwxrwxr-x. 2 svn svn 41 Feb 10 14:49 locks
-rw-rw-r–. 1 svn svn 229 Feb 10 14:49 README.txt
5、进入版本库配置
[svn@s146 repos]$ cd conf/
[svn@s146 conf]$ ll
total 12
-rw-rw-r–. 1 svn svn 1080 Feb 10 14:49 authz
-rw-rw-r–. 1 svn svn 309 Feb 10 14:49 passwd
-rw-rw-r–. 1 svn svn 3090 Feb 10 14:49 svnserve.conf
6、配置账户
[svn@s146 conf]$ echo “wuhs= 123456” >> passwd
[svn@s146 conf]$ echo “sunru = 123456” >> passwd
7、配置授权
[svn@s146 conf]$ vim authz
#添加如下内容
admin = wuhs
[/]
@admin = rw
sunru = r
8、配置svnserve.conf
[svn@s146 conf]$ cp svnserve.conf svnserve.conf.bak
[svn@s146 conf]$ cat svnserve.conf |grep -Ev “#|$”
[general]
anon-access = none
password-db = passwd
authz-db = authz
realm = /home/svn/svn/repos/
[sasl]
#参照如上内容配置svnserve.conf配置文件
禁用匿名访问,指定密码和授权文件,配置版本库目录。
9、指定端口启动服务
[svn@s146 conf]$ svnserve -d -r /home/svn/svn/ --listen-port 18080
#我们指定监听端口启动默认3690,如果防火墙开启需要开放指定端口,博文实验环境防火墙为关闭状态。
10、客户端检出
windows环境svn客户端的安装本文不再说明,可以参照博文Linux之centos7环境搭建SVN服务器及配置指导第六章。
11、检出完成
#在弹窗中输入配置的用户名密码后提示检出完成,至此说明svnserver安装成功。
12、创建文件验证
三、服务启停及管理
1、启动服务
svnserve -d -r /home/svn/svn/ --listen-port 18080
2、停止服务
[svn@s146 repos]$ pgrep -f svnserve |xargs kill
3、版本查看
#yum安装的版本相对来说比较老,官网最新版本已经是1.14.1。
[svn@s146 repos]$ svnserve --version
svnserve, version 1.7.14 (r1542130)
compiled Sep 30 2020, 17:44:04
4、管理SVN用户
编辑passwd文件即可,在此文件中创建用户及密码,svn的登录用户验证通过此文件。
5、配置授权
编辑authz文件完成授权,授权方式与Subversion Edge浏览器配置授权是一样的。