文章目录
- 一、前言
- 二、安装
- 三、安装配置
- 3.1 创建SVN版本库
- 3.2 配置 passwd
- 3.3 配置 authz
- 3.4 配置 svnserve.conf
- 四、启动服务
- 五、SVN安装检验
- 六、SVN安装常见报错
一、前言
SVN是一套自由/开源的版本管理控制系统,主要用于文档、代码的管理控制,本文档将讲解在CentOS8.2的系统下如何进行SVN服务器搭建,快来一起看看吧~~
二、安装
setp1:进入服务器终端界面后直接执行安装命令:
yum install subversion -- SVN服务器安装指令
svnserve --version -- 查看SVN服务器版本号
which svnserve -- 查看SVN安装路径
cat /etc/redhat-release -- 查看CentOS版本
setp2:输入完成后会弹出此界面,输入y并回车进行下一步:
setp3:弹出Complete!代表第一步完成
setp4:安装完成后确认下是否安装成功,对应SVN的版本号
三、安装配置
3.1 创建SVN版本库
SVN版本库中存放的是所编写的程序,SVN版本库是存放后续所有代码的目录,创建成功后可见SVN下生成了一些文件夹
mkdir -p /var/svn/rep -- 递归创建SVN版本库目录
svnadmin create /var/svn/rep -- 创建一个全新且为空的版本库
ls -al /var/svn/rep -- 查看目录下的所有文件并以列表形式展示(包含隐藏文件)
SVN路径下重点的目录是conf,这里主要用于存储配置文件:
authz 负责账号权限的管理,控制账号是否读写权限
passwd 负责账号和密码的用户名单管理
svnserve.conf 负责svn服务器配置文件
在创建版本库完成后,我们需要依次的对这三个文件进行修改
cd /var/svn/rep --进入配置路径
3.2 配置 passwd
vim conf/passwd --进入passwd文件
打开后展示为:
编辑用户文件passwd,新增两个用户:Administrator和Guest:
3.3 配置 authz
vim conf/authz --进入authz文件
打开后展示为:
添加账号:
新增Admin以及user组,方便统一管理,超级用户设置读写权限,游客设置只读权限
3.4 配置 svnserve.conf
vim conf/svnserve.conf --进入svnserve.conf文件
打开后展示为:
解除文件中对应位置的注释:
anon-access = none #控制非鉴权用户访问版本库的权限
auth-access = write #控制鉴权用户访问版本库的权限
password-db = passwd #指定用户名口令文件名
authz-db = authz #指定权限配置文件名
解除文件对应位置注释后效果(特别注意:移除注释后没有内容顶格,需要删除多余的空格):
四、启动服务
直接使用启动命令启动SVN服务,后面的路径是SVN路径
svnserve -d -r /var/svn/rep -- 启动SVN服务
netstat -tnlp -- 查看开启的端口
ps aux |grep svn -- 检查SVN服务是否启动成功
systemctl enable svnserve.service -- 设置SVN开机自启
killall svnserve -- 停止所有SVN服务
启动后可以查看SVN进程及相关信息
特别注意:如果你的服务器是腾讯云、华为云、阿里云一类的云服务器,需要在对应控制台安全组开放对应端口,如果是非云服务器,则可直接使用对应指令开启端口(这里以腾讯云举例,如果不是云服务器的同学,直接跳转至SVN安装检验:
当云服务器全部配置完成后可以使用命令检验服务是否运行,端口是否开放(本地cmd测试):
telnet ip 端口 --telnet 192.168.1.100 3690
返回success则代表端口开放,服务正在运行:
如果提示正在连接中,则代表着端口未开放或服务未正常运行:
五、SVN安装检验
未进行客户端安装的小伙伴可以在官网下载最新版本后在进行检验:SVN客户端官方网站下载
SVN安装并配置完成后,需要使用客户端进行检验是否可成功连接至服务端的SVN,新建一个文件夹并点击SVN Checkout:
点击后弹出Checkout界面,在第一行URL地址栏处输入地址,格式为:SVN://ip地址
点击确定后,会让你输入账号以及密码,填写正确的账号即密码即可,可以先用最高权限账号登录
尝试拉取SVN后,会弹出拉取界面,查看到Completed时,则可以确认SVN搭建成功:
六、SVN安装常见报错
SVN安装后在进行检验时可能会碰到一些报错,以下是常见的几个安装后可能会碰到的问题:
问题一:Repository UUID doesn’t match expected 解决办法
svnlook uuid /var/svn/repos --查看所有者的UUID
svnadmin setuuid /var/svn/repos xxxxxxx --更新项目的UUID
svnlook uuid /var/svn/repos --查看更新后的UUID
问题二:解决CentOS svn 突然报错 svn: No repository found in ‘IP’
netstat -tunlp | grep svn --查找SVN进程ID
kill -9 查找到的id号 --结束SVN进程 →→ kill -9 13687
svnserve -d -r /var/svn/rep --重启SVN
问题三:SVN服务器积极拒绝
svnserve -d -r /var/svn/rep
问题四:svn: Unable to connect to a repository at URL, 您的主机中的软件中止了一个已建立的连接
killall svnserve --先结束SVN服务
svnserve -d -r /var/svn/rep --重启SVN
好啦~以上就是本次文章分享的全部内容啦,你学会了吗?希望能给大家带来帮助哦!