本示例演示在CentOS 7系统下创建SVN版本库的整个过程。
1. 安装svn服务端
- 检查是否安装过subversion
$ rpm -qa |grep subversion
- 如果没有安装过subversion,使用yum安装subversion
$ yum -y install subversion
- 通过查看svn版本确认安装是否成功
$ svnserve --version
2. 创建版本库目录
创建一个文件夹,用于存放所有的版本库。
$ mkdir -p /home/wfc/svnrepos
3. 新建项目版本库
3.1 在版本库目录下新建项目库
3.1.1 新建项目库
$ svnadmin create /home/wfc/svnrepos/demo
新建成功后,会在svnrepos文件夹下生成demo文件夹,该文件夹下包括了以下目录和文件:
- db目录:所有版本控制的数据存放文件。
- hooks目录:放置hook脚本文件的目录。
- locks目录:用来放置锁定数据的目录,用来追踪存取文件库的客户端。
- format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
- conf目录:仓库的配置文件,包括仓库的访问账号和权限等配置。
- README.txt:一个说明文件。
3.1.2 在项目库文件夹下创建主干,分支和tag文件夹
$ svn mkdir -m "这是主干" file:///home/wfc/svnrepos/demo/trunk #主干文件夹
$ svn mkdir -m "这是分支" file:///home/wfc/svnrepos/demo/branches #分支文件夹
$ svn mkdir -m "这是tag" file:///home/wfc/svnrepos/demo/tag #tag文件夹
3.1.3 导入一些文件到主干中(可选)
$ svn import -m "这是第一版本" /home/wfc/shell/ file:///home/wfc/svnrepos/demo/trunk
3.1.4 创建分支(通过拷贝主干到分支中创建)
svn copy -m "创建第一分支" file:///home/wfc/svnrepos/demo/trunk/ file:///home/wfc/svnrepos/demo/branches/branch1
3.2 修改配置信息
进入conf文件夹,对相关配置文件进行修改。
3.2.1 修改passwd文件,配置访问账号
打开passwd文件,添加新的用户名称和密码:
3.2.2 修改authz文件,配置用户权限
打开authz文件,可以配置用户组,也可以单独配置用户权限:
3.2.3 编辑svnserve.conf文件
编辑svnserve.conf文件,修改以下内容:
4. 启动svn服务
$ svnserve -d -r /home/wfc/svnrepos
#-d:表示开启守护进程;
#-r:svn版本库跟目录;如果这里路径是~/svnrepos/demo,那么配置的auth不起作用
5. 配置防火墙,开启3690端口
$ firewall-cmd --zone=public --add-port=3690/tcp --permanent
$ firewall-cmd --reload
6. 客户端连接测试
$ svn checkout svn://127.0.0.1/demo/trunk/ --username jerry --password 123456
$ svn checkout svn://127.0.0.1/demo/branches/branch1 --username jerry --password 123456