Centos7部署SVN版本控制系统

2022-02-15 08:37:16 浏览数 (1)

Subversion是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。

安装SVN

Bash

代码语言:javascript复制
yum install subversion -y

运行此命令会全自动安装svn服务器相关服务和依赖

查看SVN版本。

Bash

代码语言:javascript复制
svnserve --version

配置SVN

1、创建版本库根目录(/data/svn为自定义目录)

Bash

代码语言:javascript复制
mkdir -p /data/svn

2、创建版本库

Bash

代码语言:javascript复制
cd  /data/svn
svnadmin create /data/svn/svnrepos

3、查看自动生成的版本库文件

Bash

代码语言:javascript复制
cd svnrepos
ls

Subversion目录说明

目录

说明

conf

SVN版本库的配置文件(版本库的访问账号、权限等)

db

存放所有的版本控制数据文件

format

一个文本文件,文件中只包含一个整数,表示当前文件库配置的版本号

hooks

放置hook脚本文件

locks

用来追踪存取文件库的客户端

README.txt

阅读指南文件

4、设置SVN版本库的账号和密码

进入到版本库目录

Bash

代码语言:javascript复制
cd /data/svn/svnrepos
cd conf/

运行 vi 命令,打开用户配置文件,

Bash

代码语言:javascript复制
vi passwd

按 i 键进入编辑模式,移动光标至 [users] 下,添加用户账号和密码

说明:添加账号和密码的格式为:账号 = 密码。例如,userTest(账号) = passWDTest(密码),如下图所示(注意等号两端要有一个空格)。

按 Esc 键退出编辑模式,并输入 :wq 保存并退出

5、设置账号的读写权限

打开权限控制文件

Bash

代码语言:javascript复制
vi authz

按 i 键进入编辑模式,移动光标至文件末尾,并添加如下代码(其中,userTest表示账号,r表示读权限,w表示写权限)

按 Esc 键退出编辑模式,并输入 :wq 保存并退出

6、修改SVN服务配置

打开SVN服务配置文件

Bash

代码语言:javascript复制
vi svnserve.conf

按 i 键进入编辑模式,移动光标找到如下配置行,删除行前面的注释符#和空格

anon-access = read 匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /var/svn/svnrepos #认证空间名,版本库所在目录

按 Esc 键退出编辑模式,并输入 :wq 保存并退出

7、启动SVN 直接指定到版本库

Bash

代码语言:javascript复制
svnserve -d -r /data/svn/svnrepos/

说明:运行killall svnserve命令可停止SVN服务

killall命令不存在参考则安装yum install psmisc -y

8、查看SVN服务是否开启

Bash

代码语言:javascript复制
ps -ef |grep svn

如果返回结果如下图所示,表示SVN服务已经开启。

到此,配置已经全部完成,账号信息已经添加成功 更改 svnserver.conf 时需要重启SVN服务才生效,更改authz,passwd文件时则不需要重启服务,

0 人点赞