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文件时则不需要重启服务,