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

  • 相关阅读:
    1063. Set Similarity
    A1047. Student List for Course
    A1039. Course List for Student
    最大公约数、素数、分数运算、超长整数计算总结
    A1024. Palindromic Number
    A1023. Have Fun with Numbers
    A1059. Prime Factors
    A1096. Consecutive Factors
    A1078. Hashing
    A1015. Reversible Primes
  • 原文地址:https://www.cnblogs.com/xianlg/p/4642240.html
Copyright © 2011-2022 走看看