1、查看和卸载SVN

# 查询SVN是否有过低版本SVN(没有安装过则不显示)
rpm -qa subversion
# 卸载SVN
yum remove subversion
# 查看yum源中subversion的版本
yum list subversion

2、安装SVN

# 安装Subversion服务器
yum -y install subversion
# 检查SVN是否安装成功 
svnserve --version

在这里插入图片描述

3、建立SVN版本库

创建保存版本库的目录,命令如下:

#进入home目录
cd /home
# 创建一个文件夹
mkdir svn
# 创建svn版本库
svnadmin create /home/svn/odm
# 检查创建的文件夹
ls

在这里插入图片描述

简单介绍一下目录结构:

  • conf:SVN版本库配置文件(帐号密码权限等)
  • conf/authz:负责账号权限的管理,控制账号是否读写权限
  • conf/passwd:负责账号和密码的用户名单管理
  • conf/svnserve.conf:svn服务器配置文件
  • db:版本库数据存储
  • locks:跟踪目录的访问者

4、修改配置文件

进入到 conf 目录下操作。

1. 修改authz文件

使用vi编辑器打开authz文件,说明如下:
在这里插入图片描述
在文件的中新增如下代码:
在这里插入图片描述

说明:[\] 表示 最大权限,[/文件夹] 表示针对这个文件夹的权限。
rw 表示可读可写,r 表示只读,* = 表示其它用户均无任何权限。

2. 修改passwd文件

使用编辑器打开passwd文件。

格式是 : 账号 = 密码
在这里插入图片描述
添加完成保存退出。

3. 修改svnserve.conf文件

使用编辑器打开svnserve.conf文件

ESC后,输入 :set nu 可显示行号,输入 i可对文件进行编辑。
在这里插入图片描述
配置文件说明:

# 19行,表示非授权(游客)用户访问范围 默认值:read;
anon-access = read
# 20行,表示授权用户访问范围  默认值:write;
auth-access = write
# 27行,表示配置用户及密码保存的文件目录,默认为当前路径下;
# password-db = passwd
# 34行,表示配置用户组及用户权限的保存文件路径;
authz-db = authz
# 39行,表示认证空间名,版本库所在目录;
realm = /home/user/software/svn/odm

注意:

  1. 最后一行的realm记得改成你的svn目录
  2. 打开注释时切记前面不要留有空格,否则可能有问题(网上说的,我没有亲测)

总结:进入到 conf 文件夹的全部命令如下

在这里插入图片描述

5、启动与停止

# 启动
svnserve -d -r /home/svn/odm
# 停止
killall svnserve

上述启动命令中,-d 表示守护进程, -r 表示在后台执行。
在这里插入图片描述
停止还可以采用杀死进程的方式,使用的命令:kill -9 80863

6、windows客户端检出项目

在windows中使用TortoiseSVN,安装完成之后创建一个 svnrep 文件夹存放从服务器检出的svn版本库。

进入svnrep 目录,点击鼠标右键,点击SVN Checkout(检出),输入地址 svn://项目ip:端口 即可,点击确定。

在这里插入图片描述

不出意外弹出用户认证信息,输入用户名和密码就能连接成功了。

在这里插入图片描述

默认端口3690,如果你修改了端口,那么要记得加上端口号。
在这里插入图片描述

检出完成,点击OK。此时该目录下就会出现一个隐藏文件 .svn
在这里插入图片描述
此时就已经成功连接上svn服务器,可以上传代码到服务器上。搭建svn大功告成!!!!

注意:在此链接过程中,如果出现链接不上,首先需要先telnet一下当前svn服务器的3690端口号,看端口是否开通,如果端口是通的,可能是svn服务器与客户端的版本不兼容,如果端口不通,需要开通svn服务器上的3690端口。

使用的防火墙为firewalld方法端口的方式解决如下:

# 开通防火墙3690端口号
[user@localhost ~]# firewall-cmd --zone=public --add-port=3690/tcp --permanent
# 重启防火墙服务
[user@localhost ~]# systemctl restart firewalld.service
# 查看所有打开的端口
[user@localhost ~]# firewall-cmd --zone=public --list-ports

firewalld的基本使用

启动:systemctl start firewalld

关闭:systemctl stop firewalld

查看状态:systemctl status firewalld

开机禁用 :systemctl disable firewalld

开机启用 :systemctl enable firewalld

由于用户认证信息时我们选择了save authentication,但是我们现在用户名或密码输入错误。

解决方法

  1. 在 svnrep 文件夹下右键,选择 setting
    在这里插入图片描述
  2. 在弹出的界面找到 Saved Data 中的 Authentication data,Clear掉已经记住的网站用户密码,重新登录即可。
    在这里插入图片描述

推荐:SVN客户端的安装和使用


如果有收获!!! 希望老铁们来个三连,点赞、收藏、转发。
创作不易,别忘点个赞,可以让更多的人看到这篇文章,顺便鼓励我写出更好的博客
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐