• Centos/ubuntu配置SVN服务


    Centos安装svn

    yum -y install subversion

    ubuntu安装svn

    apt-get install subversion

    Centos配置svn

    root@hello:~# mkdir -p /svn/svn1
    root@hello:~# svnadmin create /svn/svn1/
    root@hello:~# cd /svn/svn1/conf/
    root@hello:/svn/svn1/conf# ls
    authz passwd svnserve.conf
    root@hello:/svn/svn1/conf# vim passwd     编辑passwd,在【users】下添加用户名和密码
    
    ### This file is an example password file for svnserve.
    ### Its format is similar to that of svnserve.conf. As shown in the
    ### example below it contains one section labelled [users].
    ### The name and password for each user follow, one account per line.
    
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    Test = 123456
    
    root@hello:/svn/svn1/conf# vim authz     
    
    [aliases]                   #别名,一般不做配置
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
    
    [groups]        
    # harry_and_sally = harry,sally        释:用户组为harry_and_sally,组内有harry和sally用户
    # harry_sally_and_joe = harry,sally,&joe
    
    # [/foo/bar]                表示/foo/bar下的所有资源
    # harry = rw                harry 拥有读写权限
    # &joe = r
    # * =                       设置其他用户具有的权限
    
    # [repository:/baz/fuz]     表示repository下的/baz/fuz下的所有资源
    # @harry_and_sally = rw     设置harry_and_sally用户组为读写权限
    # * = r              
    [svn1:/]                    表示svn1下的所有资源
    Test = rw                   用户Test 权限为读写
    
    root@hello:/svn/svn1/conf# vim svnserve.conf
    
    [general]
    ### These options control access to the repository for unauthenticated
    ### and authenticated users. Valid values are "write", "read",
    ### and "none". The sample settings below are the defaults.
    anon-access = none        #匿名访问的权限,可以是read,write,none,默认为read
    auth-access = write       #使授权用户有写的权限
    ### The password-db option controls the location of the password
    ### database file. Unless you specify a path starting with a /,
    ### the file's location is relative to the directory containing
    ### this configuration file.
    ### If SASL is enabled (see below), this file will NOT be used.
    ### Uncomment the line below to use the default password file.
    password-db = passwd      #密码数据库的路径
    ### The authz-db option controls the location of the authorization
    ### rules for path-based access control. Unless you specify a path
    ### starting with a /, the file's location is relative to the the
    ### directory containing this file. If you don't specify an
    ### authz-db, no path-based access control is done.
    ### Uncomment the line below to use the default authorization file.
    authz-db = authz          #访问控制文件
    ### This option specifies the authentication realm of the repository.
    ### If two repositories have the same authentication realm, they should
    ### have the same password database, and vice versa. The default realm
    ### is repository's uuid.
    realm = SVN1              #认证空间名,SVN会在认证提示里显示,并且作为凭证缓存的关键字
    
    [sasl]
    ### This option specifies whether you want to use the Cyrus SASL
    ### library for authentication. Default is false.
    ### This section will be ignored if svnserve is not built with Cyrus
    ### SASL support; to check, run 'svnserve --version' and look for a line
    ### reading 'Cyrus SASL authentication is available.'
    # use-sasl = true         开启sasl用户验证
    ### These options specify the desired strength of the security layer
    ### that you want SASL to provide. 0 means no encryption, 1 means
    ### integrity-checking only, values larger than 1 are correlated
    ### to the effective key length for encryption (e.g. 128 means 128-bit
    ### encryption). The values below are the defaults.
    # min-encryption = 0
    # max-encryption = 256

    ubuntu配置svn

    root@hello:/svn/svn1/conf# pwd
    /svn/svn1/conf
    root@hello:/svn/svn1/conf# ls
    authz hooks-env.tmpl passwd svnserve.conf
    
    root@hello:/svn/svn1/conf# vim passwd
    
    [users]
    Test = 123456
    
    root@hello:/svn/svn1/conf# vim authz
    
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
    
    [groups]
    
    [svn1:/]
    Test = rw
    
    root@hello:/svn/svn1/conf# vim svnserve.conf 
    
    [general]
    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz
    # groups-db = groups         指定“group file”的位置,而该目录下并没有groups文件,因此该配置不能被启用!
    realm = svn1
    # force-username-case = none
    # hooks-env = hooks-env
    
    [sasl]
    # use-sasl = true
    # min-encryption = 0
    # max-encryption = 256

    开机自动启动SVN脚本:

    #!/bin/bash
    PatH=`/svn/svn1`
    SvN=`which svnserve`
    $SvN -d -r $PatH

    添加开机启动

    echo "bash /脚本绝对路径/脚本名" >> /etc/rc.d/rc.local

    SVN启动控制脚本

    根据实际情况进行修改 路径等信息

    #!/bin/bash
    #chkconfig: 345 95 95
    #description: svn
    stop(){
    kill $(ps -ef | grep "svnserve -d -r" | grep -v grep | awk '{print $2}') > /dev/null 2>&1
    if [ ! $? -eq 0 ]
    then
        echo "stop ERROR..."
    fi
    }
    start(){
    svnserve -d -r /svn/ > /dev/null 2>&1
    if [ ! $? -eq 0 ]
    then
        echo "start ERROR..."
    fi
    }
    restart(){
    stop
    start
    }
    case $1 in
    stop)
        stop
    ;;
    start)
        start
    ;;
    restart)
        restart
    ;;
    *)
        echo "please INPUT stop|start|restart"
        exit 110
    ;;
    esac

    添加到系统服务(仅针对centos6.x系统)

    将上面脚本命名为svnd

    chmod +x ./svnd
    mv ./svnd /etc/init.d/
    chkconfig svnd --add
    chkconfig svnd on
    chkconfig svnd --list
    

      

  • 相关阅读:
    Mac Atom的PHP插件
    WebStorm mac下如何安装WebStorm + 破解
    PHP接收json格式的POST数据
    mysqldump 导出统一限制每张数据表导出的记录数
    centos7下git服务器端搭建
    nginx服务器常见错误代码500、501、502、503、504、505
    【原创】PHPstorm本地修改同步保存到远程服务器
    SVN Checkout 不包括源文件夹根目录
    mac终端显示日历信息命令
    PHP生成唯一RequestID类
  • 原文地址:https://www.cnblogs.com/chuyiwang/p/9928145.html
Copyright © 2020-2023  润新知