• linux上搭建svn服务器


    还是拿我的廉价的腾讯云服务器来练手,O(∩_∩)O哈哈~

    强调下,我的服务器是centos7.4,其他可能略有不同。下面开始~

    1、安装Subversion

     首先查看是否已经装了svn服务器了,别白费功夫呀  

    [root@VM_15_8_centos ~]# rpm -qa subversion
    [root@VM_15_8_centos ~]# 

    出现上面的情况是没安装!

     #卸载旧版

       如果已安装,可用如下命令卸载:  

    [root@VM_15_8_centos ~]# yum remove subversion

       #安装

    [root@VM_15_8_centos ~]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

      #确认是否安装成功

    [root@VM_15_8_centos ~]# svnserve --version
    svnserve, version 1.7.14 (r1542130)
       compiled Apr 11 2018, 02:40:28
    
    Copyright (C) 2013 The Apache Software Foundation.
    This software consists of contributions made by many people; see the NOTICE
    file for more information.
    Subversion is open source software, see http://subversion.apache.org/
    
    The following repository back-end (FS) modules are available:
    
    * fs_base : Module for working with a Berkeley DB repository.
    * fs_fs : Module for working with a plain file (FSFS) repository.
    
    Cyrus SASL authentication is available.

    2、创建代码库 

    [root@VM_15_8_centos ~]# mkdir -p /xjy/svn/repositories
    [root@VM_15_8_centos repositories]# svnadmin create /xjy/svn/repositories

    执行上面的命令后,自动建立repositories库,查看/xjy/svn/repositories 
    文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

    subversion目录说明:

      • db目录:就是所有版本控制的数据存放文件
      • hooks目录:放置hook脚本文件的目录
      • locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端
      • format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
      • conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

    3、添加用户

    要添加SVN用户非常简单,只需在/opt/svn/repositories/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了测试,我添加了如下内容:

    [users]
    # harry = harryssecret
    # sally = sallyssecret
    #
    xjy = xjy
    server_group = server_pw
    client_group = client_pw
    test_group = test_pw

    4、用户权限控制 

    在/xjy/svn/repositories/conf/authz文件

    [groups]

    在这里创建权限组并指定组内用户,中间用,分割

    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    admin = zhangcy,liuzz,shenkun
    user = yangxt,maym,lizh,dongyan

    为权限组分配权限
    [/]
    @admin = rw
    @user = rw
    * =

    r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。

    最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!

    * 权限配置文件中出现的用户名必须已在用户配置文件中定义。

    * 对权限配置文件的修改立即生效,不必重启svn。

    5、修改svnserve.conf文件,让用户和策略配置升效.

    进入文件后,取消下面这些注释

    [general]
    anon-access = none
    auth-access = write
    password-db = /opt/svn/repositories/conf/passwd
    authz-db =/opt/svn/repositories/conf/authz

    6、启动svn服务器

    svnserve -d -r /xjy/svn/repositories/  或者指定端口号启动服务器 svnserve -d -r /xjy/svn/repos --listen-port 3391
    svn默认监听3690端口

     

     

     补充,填坑:

      在我搭建好之后,客户端私活就是连不上,报了如下错误:

      svnserve.conf:12: Option expected

      简直是天坑!!!原因就是我的配置文件配置的时候前面有空格!!!!去掉就好了!!!!!!

      紧接着!又报了没有权限。。。。

      我明明配好了权限呀,再接着花了一些时间找原因。。。。

      还是因为配置用户密码的passwd文件,前面还是有空格!!!!!!!!!

      

    over!

  • 相关阅读:
    C#中datagridview单元格值改变实现模糊查找
    C#中建立treeView
    L2008 最长对称子串
    第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明)
    GPLT团体程序设计天梯赛练习集 L1041~L1050
    GPLT团体程序设计天梯赛练习集 L1051~L1060
    GPLT团体程序设计天梯赛练习集 L1061~L1072
    第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明)(热身赛)
    L2007 家庭房产 并查集
    利用反射把查询到的Table、Reader转换成List、Model
  • 原文地址:https://www.cnblogs.com/xujingyang/p/9199539.html
Copyright © 2020-2023  润新知