zoukankan      html  css  js  c++  java
  • 通用的linux下安装配置svn独立服务

    参考资料: http://www.blogjava.net/zhouf/articles/251476.html

    http://www.cnblogs.com/thinksasa/archive/2013/04/10/3012215.html

         前两天我在centOS服务器上搭建了SVN独立服务器,为什么说是独立的?因为 搭建SVN服务器有两种方式,其一是把SVN搭载在Apache上,其二是单独SVN服务器,就是通常见到的通过svn://的方式访问,例如svn://192.168.1.100/repos。两种方式各有利弊,一般后者由于局域网较多。

    下面就开始进入正题吧。

    1、安装         

    #yum install subversion
    
      判断是否安装成功
    #subversion -v
    
      svnserve, version 1.6.11 (r934486)
    出现上面的提示,说明安装成功。
    
    
    有了SVN软件后还需要建立SVN库。
    #mkdir /opt/svn/repos
    #svnadmin create /opt/svn/repos
    执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt。

    2、配置

         上面的操作很简单,几个命令就搞定, 下面的操作也不难。
         进入上面生成的文件夹conf下,进行配置,   有以下几个文件authz, passwd, svnserve.conf
         其中authz 是权限控制,可以设置哪些用户可以访问哪些目录,   passwd是设置用户和密码的,    svnserve是设置svn相关的操作。

       2.1先设置passwd

    [users]
    # harry = harryssecret
    # sally = sallyssecret
    hello=123
    用户名=密码

     这样我们就建立了hello用户, 123密码  


       2.2 再设置权限authz

    [/]
    hello= rw

    意思是hello用户对所有的目录有读写权限,当然也可以限定。
    如果是自己用,就直接是读写吧。


    2.3最后设定snvserv.conf

    anon-access = none # 使非授权用户无法访问
    auth-access = write # 使授权用户有写权限
    password-db = password
    authz-db = authz   # 访问控制文件
    realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。

    采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.


    好了,通过以上配置,你的svn就可以了。

    3、连接

    启动svn: svnserve -d -r /opt/svn/repos
    如果已经有svn在运行,可以换一个端口运行
    svnserve -d -r /opt/svn/repos --listen-port 3391

     -d表示以daemon方式(后台运行)运行
    -r /svndata指定根目录是/svndata


    这样同一台服务器可以运行多个svnserver

    好了,启动成功后,就可以使用了。
    建议采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口  :端口号)

     关闭SVN 服务器

    # killall svnserve
    连接后可以上传本地的文件,有效的管理你的代码。

     通过以上三步,可以快速的搭建起svn, 开启你的项目吧,如果您觉得有用,请留言,谢谢您的支持。

     检查svn是否启动成功:(查看是否存在svnserve进程)

    ps -ef|grep svnserve

     附:下面是随便折腾一个小脚本用来管理服务器的启动、重启、停止等操作

    # vim svn
    # chmod +x svn
    #!/bin/bash
    case "$1" in
    start)
            svnserve -d -r /svndata
            svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
            if [ $svnport -eq 3690 ]
            then
                    echo "SVN Server Already Runnning. Port:3690"
            else
                    echo "SVN Server Does Not Start"
            fi
    ;;
    reload)
            svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
            if [ $svnport -eq 3690 ]
            then
                    killall svnserve && svnserve -d -r /svndata
                    echo "Reload OK"
            else
                    echo "SVN Server Is Not Running"
            fi
    ;;
    stop)
            killall svnserve
            echo "SVN Server Has Been Stopped"
    ;;
    status)
            svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
            pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'`
            if [ $svnport -eq 3690 ]
            then
                    echo "SVN Server (pid:$pid) 正在运行..."
            else
                    echo "SVN Server 停止运行..."
            fi
    ;;
    *)
            echo "$0: Usage: $0 {start|status|stop|reload}"
            exit 1
    ;;
    esac

    好了,就到这吧,附上我的QQ: 119658306

    欢迎大家一起来讨论学习喔!

  • 相关阅读:
    yzoj P2344 斯卡布罗集市 题解
    yzoj P2350 逃离洞穴 题解
    yzoj P2349 取数 题解
    JXOI 2017 颜色 题解
    NOIP 2009 最优贸易 题解
    CH 4302 Interval GCD 题解
    CH4301 Can you answer on these queries III 题解
    Luogu2533[AHOI2012]信号塔
    Luogu3320[SDOI2015]寻宝游戏
    Luogu3187[HNOI2007]最小矩形覆盖
  • 原文地址:https://www.cnblogs.com/jthb/p/4209421.html
Copyright © 2011-2022 走看看