一、svn简介

  SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。svn作为曾经流行的版本控制控制软件,它优异的版本控制功能在有意无意间已经深入IT人的工作了。然而虽然有后起之秀的git,但现在使用svn的项目并不在少数。下面来看看如何使用安装和使用svn吧。

二、svn卸载与安装

2.1 svn卸载

   执行命令 yum remove subversion
1

2.2 svn安装

2.2.1 svn在线安装

1、执行安装命令:yum -y install subversion
6
2、查看安装的版本,确认安装成功:svnserve --version
7
3、查看安装位置:rpm -ql subversion
8

2.2.2 svn离线安装

1、 下载
   官网下载: https://subversion.apache.org/.
注:具体版本根据实际需要
2、参考步骤参考:https://blog.csdn.net/weixin_36484465/article/details/116869866.

(1) 将下载的安装包拷到指定的目录,我这里目录是“/usr/svn",可根据实际情况确定目录
3
(2) 解压缩安装包:tar zxvf 安装包名称
4
查看解压情况:
5
(3)安装步骤参考上述链接内容

三、 创建SVN版本库

3.1 创建库

1、创建指定目录(根据实际需要): mkdir 目录名称
我的目录是:mkdir /opt/svn
3
2、建立SVN库:svnadmin create /opt/svn/库名称
4

 执行此命令后svn自动在目录下添加必须的配置文件.
 注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库。此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。

3、进入库,查看库中文件: cd 库名
5
  出现上图中的文件,则说明库创建成功。

subversion - 目录说明:
 db目录:就是所有版本控制的数据存放文件。
 hooks目录:放置hook脚本文件的目录。
 locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。
 format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
 conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。
conf目录:
  进入配置文件目录:cd conf/
  authz:文件是权限控制文件
  passwd:是帐号密码文件
  svnserve.conf :SVN服务配置文件
    6

3.2 库权限配置

  注:linux文档编辑操作方法 - linux文档编辑:gedit和vi命令详解.

3.2.1 权限控制authz配置

命令:vi authz
1
1、设置权限:
1

说明:
   r 为可读
   w 为可写
   rw 为可读可写
   *= 代表其他用户无任何权限
   (一定要记得 在[/]下面设置每一个用户的权限, 在[groups]下设置用户组的权限, 有的配置文件下没有[/], 设置单个用户权限的时候一定要添加上,如果不添加上,就会一直认证失败)

2、设置用户分组(相当于角色,这里可以不设置)
2
auth文件示例:

[groups]
math = root,user1,user2
[/]
@math = rw
* = r

3.2.2 用户密码配置:passwd

命令:vi passwd
2
根据需要配置本库使用的:用户名 = 用户密码 (注意:头部不允许有空格)
passwd文件示例:

[users]
root = 123456
user1= 123456
user2= 123456

3.2.3 服务配置:svnserve.conf

1、删除原有的#,并且前面不要有空格:

anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd  #密码数据库的路径,这样默认在svnserve.conf同级目录下
authz-db = authz #访问控制文件的路径,这样默认在svnserve.conf同级目录下

说明:anon-access = none 是为了在eclipse中可以通过svn查看资源历史记录

2、去掉下面列出的前面的#,并指定路径:

realm = /opt/svn/版本库名称  # 版本库路径 :认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。

3、其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.

注:这是svn配置文件的格式,请按照以上格式书写。

svnserve.conf文件示例:

anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = /opt/svn/mathPhysics/

四、 SVN启动与停止

4.1 启动SVN服务器

指定仓库路径启动,执行命令:svnserve –d –r 仓库路径 [ --listen-port 端口号 ]
查看服务是否开启,执行命令:ps -ef |grep svn

为了增加svn的安全性,这里将svn的默认端口3690改为6534。
命令执行如下:
1
指令简介: 此指令用于启动svn服务:
   -d 指明以守护模式运行,
   svn自动在3690端口监听。3690是默认端口,可以使用“–listen-port=”或者“–listen-host=”来指定其它端口。
   -r选项用来指定svn服务的根目录,这样用户就可以使用相对路径访问,而不用提供完整路径。

4.2 停止SVN服务

执行命令:killall svnserve

五、本地配置

  上面六步相当于在服务器上的设置,下面来建立一个本地目录(相对与服务器来说)
1、建本地目录:

mkdir -p 目录名称
cd  目录

1
2、将文件checkout到本地目录

svn checkout svn://IP:端口号/ --username=指定用户名

输入上述命令后,会弹出一个选项卡,让你填一下密码用户名的东西,自己看着填就可以了
4
经过上述的步骤,svn的配置基本完成了,之后就可以进行svn命令操作了

这里如果第一次认证失败了,你再次认证时svn会用缓存的文件进行认证,此时你需要先删除缓存文件,操作如下:
(1)找到缓存文件位置:`find / -iname “auth”
(2)进入 auth 目录,删除其下的缓存文件

六、linu下svn配置http与https访问

1、安装配置http访问
  在实际的项目开发中,大家经常使用的还是http连接的方式。下面我们为svn配置http访问。svn的http访问时依赖apache的dav_svn模块,然后赋予www-data访问权限,进行版本控制。

安装apache,配置http访问详见链接: linux服务器部署svn+apache http访问.

2、安装配置https访问
  通过http访问svn版本库虽然方便,但是http协议均采用明文传输,随便在网络上抓包用户名和密码就可能被泄露了,所以考虑采用https传输,安全性比较高,也就是apache+svn+ssl。希望svn支持https,主要的工作是配置 SSL协议(Secure Sockets Layer 安全套接层)

安装ssl,配置https访问详见链接: linux服务器部署svn+apache http + ssl https访问.

七、linux下svn命令操作

参考链接:linux下svn命令使用大全.

八、自启动服务

linux svn设置开机自启动参考链接: linux svn设置开机自启动.
Linux下设置apache httpd服务为自动启动参考链接: Linux下设置apache httpd服务为自动启动.

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐