zoukankan      html  css  js  c++  java
  • linux(centos)搭建SVN服务器

    安装步骤如下:

    1、yum install subversion

     
    2、输入rpm -ql subversion查看安装位置,如下图:
     linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
    我们知道svn在bin目录下生成了几个二进制文件。
    输入 svn --help可以查看svn的使用方法,如下图。
    linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
     
     
    3、创建svn版本库目录
    mkdir -p /var/svn/svnrepos
     
    4、创建版本库
    svnadmin create /var/svn/svnrepos
    执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件
    linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
     
    5、进入conf目录(该svn版本库配置文件)
    authz文件是权限控制文件
    passwd是帐号密码文件
    svnserve.conf SVN服务配置文件
     
    6、设置帐号密码
    vi passwd
    在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan
     
    7、设置权限
    vi authz
    在末尾添加如下代码:
    [/]
    dan=rw
    w=r
    意思是版本库的根目录dan对其有读写权限,w只有读权限。
     
    8、修改svnserve.conf文件
    vi svnserve.conf
    打开下面的几个注释:
    anon-access = read #匿名用户可读
    auth-access = write #授权用户可写
    password-db = passwd #使用哪个文件作为账号文件
    authz-db = authz #使用哪个文件作为权限文件
    realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
     
    9、启动svn版本库
    svnserve -d -r /var/svn/svnrepos
    10、在windows上测试
    新建一个测试文件夹,在该文件夹下右键选择 SVN checkout如下图(要事先安装TortoiseSVN):
    linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
    填写SVN的地址,如下图:
     
    linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
    输入密码,如下图:
     
    linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
     
    -----------------------------------------------------------------------------华丽的分割线-------------------------------------------------------------
     

    Subversion的权限设置功能为代码的安全访问提供了可靠的保障,通过设置不同的用户权限和组权限,各种角色分工明确,在共享代码的同时保证代码不受破坏。
        在建立多个版本库时,每个版本库都有自己的配置文件,可以单独配置用户权限和组权限。为简单起见,将所有版本库都指向同一个配置文件,在这个配置文件中统一进行配置。
    1.指定根目录
        首先要指定一个根目录,假设为C:VersionLib,所有的版本库都存在这个根目录之下。然后启动svnserve服务,具体步骤见我的上一篇文章《Subversion安装配置指南》,需要注意的是启动目录为C:VersionLib,即指向根目录,不指向任何特定的版本库。
    2.建立版本库
        在C:VersionLib中建立子目录,如prj1、prj2,子目录里还可以建立子目录,如在prj2中建立shanghai、xian,目录结构如下:
         VersionLib
               -prj1
               -prj2
                     -shanghai
                     -xian
        然后在prj1、shanghai、xian中分别建立三个版本库,并把passwd、authz文件复制一份到VersionLib目录中,以便统一配置
    3.配置版本库
    (1)修改3个版本库的svnserve.conf文件
        把授权权限打开:
             anon-access = none
             auth-access = write
        在prj1版本库中修改svnserve.conf:(指向根目录)
             password-db = ....passwd
             authz-db = ....authz
        在其他两个版本库中修改svnserve.conf:(指向根目录)
             password-db = ......passwd
             authz-db = ......authz
    (2)修改根目录中的passwd文件
        在passwd文件中创建用户和密码:
          [users]
          qianxin = qx
          yiyu = yy
          gongyu = gy
          zhaoming = zm
          dai = dai
          yinjun = yj
          wangying = wy
        一共创建了7个用户
    (3)修改根目录中的authz文件
        在authz中设置权限:
         [groups] #分组
         prj1_group = dai,gongyu,wangying
         prj2_sh_group = zhaoming,yinjun
         prj2_xa_group = qianxin,yiyu

         [/]  #根目录,即所有的版本库(包括prj1、prj2)
         qianxin = rw #管理员
     
         [prj1:/] #prj1项目
         qianxin = rw  #由于指定了"* = r",覆盖了父目录权限的继承,因此需要另外指定管理员对该版本库的访问权限
         @prj1_group = rw #组权限,前面必须加@
         * = r   #除了prj1_group组以外所有人的权限

         [prj2/shanghai:/] #prj2中的shanghai项目
         qianxin = rw #同上
         @prj2_sh_group = rw 
         * =    #除了prj2_sh_group组以外所有人都无法访问该版本库

         [prj2/xian:/] #prj2中的xian项目
         prj2_xa_group = rw 
        注意点:
        子目录继承父目录的访问权限,如果指定了管理员对根目录具有读写权限,则管理员对子目录也具有读写权限。
        但是,如果在子目录中设置* = 来割断对父目录权限的继承,则子目录中必须设置管理员权限为rw,下面这种设置是有问题的:
        [arm:/]
        qianxin = rw

        [arm:/diary/shanghai]
        dai = rw
        gongyu = rw
        * =
        由于管理员qianxin对/diary/shanghai没有任何权限,因此就无法进行导入(导入要求对所有目录都有写的权限)。正确的做法是在子目录的权限配置中也加上“qianxin = rw”。
    4.访问版本库
    通过以下URL访问各版本库(导入、导出):
         svn://localhost/prj1
         svn://localhost/prj2/shanghai
         svn://localhost/prj2/xian

  • 相关阅读:
    Collatz Conjecture(BAPC2017)
    P3377 【模板】左偏树(可并堆)
    Mergeable Stack
    B. Our Tanya is Crying Out Loud(cf)and 5918: 改变(中石油)
    bzoj 4488: [Jsoi2015]最大公约数
    Zoj
    牛客练习赛43 回顾
    哈尔滨工程大学ACM预热赛 补题
    April Fools Day Contest 2019: editorial回顾补题
    第一周总结
  • 原文地址:https://www.cnblogs.com/xianlg/p/4642240.html
Copyright © 2011-2022 走看看