• CentOS+Subversion


    Linux下SVN服务器搭建(CentOS+Subversion)svn(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。svn服务器有2种运行方式:独立服务器和借助apache等web服务器。两种方式各有利弊。svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。 

    本文主要介绍SVN独立服务器的的安装和简单配置: 

    安装(centos下yum即可方便的完成安装) 
    # yum install subversion 
    测试安装是否成功: 
    # svnserve --version      回车显示版本说明安装成功 

    建立版本库 
    # mkdir /svndata              创建svn数据目录(目录可自行制定) 
    # svnadmin create /svndata/kuming                  kuming就是版本库的名字,可以改变! 

    配置svn配置文件(为了方便管理,这里多个库调用相同的配置文件。) 

    #每个版本库创建之后都会生成svnserve.conf主配文件 
    # vim /svndata/kuming/conf/svnserve.conf 

    [general] 
    anon-access = none 
    auth-access = write 
    password-db = /svndata/conf/passwd 
    authz-db = /svndata/conf/authz 
    realm =kuming 
    # mkdir /svndata/conf 
    # vim /svndata/conf/passwd      //svn用户配置文件 

    [users] 
    user1 = password1 
    user2 = password2 
    user3 = password3 
    user4 = password4 
    # vim /svndata/conf/authz      //svn权限控制配置文件 

    [groups] #设置组 
    group1 = user1,user2 #多用户用逗号隔开 

    [/] #根目录权限设置(就是“kuming”这个文件夹) 
    user3 = rw #用户1权限是:可读写 
    user4 = r #用户2权限是:可读,不可写 
    user = #什么都没写代表没有任何权限 

    @group1 = rw #设置组权限 

    [kuming:/123] #设置根目录下“123”文件夹的权限 
    #说明“123”这个文件件怎么创建?这是在SVN服务器配置好之后,创建一个权限很高的用户在客户端登录SVN 
    #然后创建一个文件夹“123”。 
    启动服务器 
    # svnserve -d -r /svndata 
    -d表示以daemon方式(后台运行)运行 
    -r /svndata指定根目录是/svndata 
    关闭SVN 服务器 
    # killall svnserve 

    # ps aux | grep svnserve    查看服务,端口:3690 

    客户端使用的软件是TortoiseSVN 
    浏览方法: 
    打开版本库浏览器输入:svn://ip-addr/kuming/文件夹名 

    下面是随便折腾一个小脚本用来管理服务器的启动、重启、停止等操作 
    # 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 
    该脚本使用方法我想应该不用多说了,全文完。 

  • 相关阅读:
    解决vs2017创建.net core失败以及不能登录问题
    ocx控件的坑
    Sqlserver 高并发和大数据存储方案
    远程连接ejabberd的mnesia数据库
    基于ejabberd实现各个客户端消息同步
    小诗一首《钗头凤·七夕夜》
    微软office web apps 服务器搭建之在线文档预览(二)
    微软office web apps 服务器搭建之在线文档预览(一)
    基于ejabberd简单实现xmpp群聊离线消息
    yiwoSDK2.0完整版
  • 原文地址:https://www.cnblogs.com/SmartNing/p/5226242.html
Copyright © 2020-2023  润新知