对于共享资源,我之前接触过github,现在上面依然存储着大量的资源,方便了人们之间的资源交流,共享。但还有另外一种存储数据的方法,他就是svn,现在许多公司都自己搭建svn服务器,利用svn来发布资源,共享资源。将公共文档上传,便于各部门之间的资源交流,总不可能大家一直用qq啥的来传或发布文档吧! = =!

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

SVN服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊。
在这篇文章中,我将介绍在centos7下的svn服务器的搭建。

1 yum命令安装

yum install subversion

测试安装是否成功:

svnserve --version

2 创建数据根目录
创建svn数据目录(subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里):

mkdir -p /var/svn

3 创建版本库

svnadmin create /var/svn/xhk

如果要删除重建,直接删除即可

rm -rf /var/svn/xhk

4 配置svn配置文件
每个版本库创建之后都会生成svnserve.conf主要配置文件。编辑它:

vim /var/svn/xhk/conf/svnserve.conf

编辑示例:

[general]
anon-access = none               #控制非鉴权用户访问版本库的权限
auth-access = write                 #控制鉴权用户访问版本库的权限
password-db = xhk777           #指定用户名口令文件名
authz-db = authz                     #指定权限配置文件名
realm = xhk                    

5 编辑svn用户配置文件
vim /var/svn/xhk/conf/passwd
编辑示例:

    [users]
    admin = admin                #用户,密码
    xhk = xhk                #用户,密码
    test = test                #用户,密码

6 编辑svn权限控制配置文件

vim /var/svn/xhk/conf/authz

编辑示例:

[groups]
admin = admin         #admin为用户组,等号之后的admin为用户
test =xhk,test

[xhk:/]                #表示根目录(/var/svn/xhk)
@admin = rw         #表示admin组对根目录有读写权限,r为读,w为写

[xhk:/test]         #表示test目录(/var/svn/xhk/test)
@test = rw                #表示test组对test目录有读写权限

7 启动,查看和停止SVN服务
启动SVN服务:

svnserve -dr /var/svn

-d : 守护进程 -r : svn数据根目录

查看SVN服务:

netstat-ntlp 

Linux 搭建svn服务器

3690就是svn服务的默认端口!

8 设置开机启动
在centos7, 设置开机启动:

systemctl enable svnserve

这是centos7下的svn独立服务器的安装,下一篇我将介绍如何使用svn服务器,以及客户端的操作!