CentOS下SVN版本控制服务器的搭建 - 图1
    Subversion是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。SVN分为客户端和服务器端,一般服务器端安装在服务器上,开发者用的都是客户端。TortoiseSVN是常用的SVN客户端工具的一种


    下面介绍在CentOS下进行SVN版本控制服务器的搭建

    1、yum进行安装:yum install subversion
    CentOS下SVN版本控制服务器的搭建 - 图2
    2、创建一个目录用于SVN存储仓库
    mkdir -p /storage/svn/repository/project
    svnadmin create /storage/svn/repository/project
    svn mkdir file:///storage/svn/repository/project/branches -m “Create”
    CentOS下SVN版本控制服务器的搭建 - 图3
    3、导入本地的工程目录到SVN分支下
    例如本地的/root/project下的Readme.txt 导入
    svn import /root/project/ file:///storage/svn/repository/project/branches -m “import ReadMe.txt”
    CentOS下SVN版本控制服务器的搭建 - 图4
    4、客户端访问SVN
    以Windows客户端为例,需要安装TortoiseSVN
    CentOS下SVN版本控制服务器的搭建 - 图5
    新建文件夹后SVN Checkout
    SVN路径svn://192.168.31.184/storage/svn/repository/project/branches
    CentOS下SVN版本控制服务器的搭建 - 图6
    CentOS下SVN版本控制服务器的搭建 - 图7
    CentOS下SVN版本控制服务器的搭建 - 图8
    SVN客户端的基本操作不做介绍
    SVN服务默认监听端口3690,若有防火墙,需要保证客户端能访问到该服务端口
    CentOS下SVN版本控制服务器的搭建 - 图9
    5、SVN密码权限访问控制设置
    1)、需要修改conf下的这三个文件
    CentOS下SVN版本控制服务器的搭建 - 图10
    2)、vi svnserve.conf
    anon-access = none
    password-db = passwd
    authz-db = authz
    CentOS下SVN版本控制服务器的搭建 - 图11

    3)、vi passwd设置用户及用户密码
    CentOS下SVN版本控制服务器的搭建 - 图12
    三个用户admin,yuanfan,test
    4)、权限组控制
    [groups]
    administrator = admin,yuanfan
    [/]
    @administrator = rw
    test = r
    设置admin,yuanfan两个用户为一个组administraor,有读写权限
    test用户只有读权限

    CentOS下SVN版本控制服务器的搭建 - 图13
    5)、重启SVN服务及设置SVN服务开机启动
    CentOS下SVN版本控制服务器的搭建 - 图14
    6)、客户端测试
    CentOS下SVN版本控制服务器的搭建 - 图15
    test用户登录后删除工程下的Readme.txt测试
    CentOS下SVN版本控制服务器的搭建 - 图16
    CentOS下SVN版本控制服务器的搭建 - 图17
    test用户删除失败,无权限
    切换至admin用户
    CentOS下SVN版本控制服务器的搭建 - 图18
    admin用户可以正常读写,修改commit
    CentOS下SVN版本控制服务器的搭建 - 图19