zoukankan      html  css  js  c++  java
  • Centos 6.8安装 SVN

    SVN

      SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

    安装说明

      1:操作系统:Centos-6.8

      2:安装方法:yum

      3:安装软件:SVN

    检查自己是否已安装SVN

      [root@localhost]#  rpm -qa subversion

      #如果有已安装版本,进行卸载旧版本

      [root@localhost]# yum remove subversion

    安装SVN

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

    确认已安装了svn模块

      [root@localhost /]# cd /etc/httpd/modules
      [root@localhost modules]# ls | grep svn
      mod_authz_svn.so
      mod_dav_svn.so

    验证安装

    检验已经安装的SVN版本信息
    [root@localhost modules]# svnserve --version

    svnserve,版本 1.6.11 (r934486)
       编译于 Aug 17 2015,08:37:43
    
    版权所有 (C) 2000-2009 CollabNet。
    Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
    此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。
    
    下列版本库后端(FS) 模块可用: 
    
    * fs_base : 模块只能操作BDB版本库。
    * fs_fs : 模块与文本文件(FSFS)版本库一起工作。
    
    Cyrus SASL 认证可用。

    代码库创建

    SVN软件安装完成后还需要建立SVN库
      [root@localhost modules]# mkdir -p /opt/svn/repositories
      [root@localhost modules]# svnadmin create /opt/svn/repositories
    执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

    配置代码库

    进入上面生成的文件夹conf下,进行配置
      [root@localhost modules]# cd /opt/svn/repositories/conf

    用户密码passwd配置

      [root@localhost password]# cd /opt/svn/repositories/conf
      [root@admin conf]# vi + passwd
    修改passwd为以下内容: 

    [users]
    # harry = harryssecret
    # sally = sallyssecret
    willam=123456 

    权限控制authz配置

      [root@admin conf]# vi + authz
    目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容: 

    #设置[/]代表根目录下所有的资源
    [/]
    willam=rw 

    服务svnserve.conf配置

      [root@admin conf]# vi + svnserve.conf

    追加以下内容: 

    [general]
    #匿名访问的权限,可以是read,write,none,默认为read
    anon-access=none
    #使授权用户有写权限
    auth-access=write
    #密码数据库的路径
    password-db=passwd
    #访问控制文件
    authz-db=authz
    #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
    realm=/opt/svn/repositories 

    配置防火墙端口

    [root@localhost conf]# vi /etc/sysconfig/iptables
    添加以下内容:
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
    保存后重启防火墙
    [root@localhost conf]# service iptables restart

    启动SVN

    svnserve -d -r /opt/svn/repositories

    查看SVN进程

    [root@localhost conf]# ps -ef|grep svn|grep -v grep
    root     12538     1  0 14:40 ?        00:00:00 svnserve -d -r /opt/svn/repositories

    检测SVN 端口

    [root@localhost conf]# netstat -ln |grep 3690
    tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN

    停止重启SVN

      [root@localhost password]# killall svnserve    //停止
      [root@localhost password]# svnserve -d -r /opt/svn/repositories  // 启动

    测试

    SVN服务已经启动,使用客户端测试连接。
    客户端连接地址:svn co svn://192.168.126.129
    用户名/密码: willam/123456
     

    如果想创建多个版本库

    mkdir -p /opt/svn/repositories/svn2                      ##创建目录
    
    svnadmin create /opt/svn/repositories/svn2 
    
    重复步骤4的配置方法
    
    killall svnserve                                  #关闭svn服务
    svnserve -d -r /opt/svn/repositories            #启动svn,注意目录,不包含svn2

    删除版本库

    rm -rf svn2/

    同个svn库下根据不同的权限访问不同的目录

    vim /opt/svn/repositories/conf/authz  #作为参考
    
    [groups]
     chanpin = user1,user2
     yanfa = user3,user4
    [svn1:/]
    test = rw
    other = rw
    anyone = rw
    @chanpin = rw
    @yanfa = rw
    
    [svn1:/chanpin]
    other = rw
    @chanpin = rw
    * =
    
    [svn1:/yanfa]
    anyone = rw
    @yanfa = rw
    * =
  • 相关阅读:
    微信公众平台开发(51)会员卡
    iOS UIViewController的瘦身计划
    NSProxy
    Xcode
    NSPredicate
    NSArray、NSDictionary
    iOS Runtime
    iOS UmbrellaFramework
    iOS UmbrellaHeader
    iOS OCR
  • 原文地址:https://www.cnblogs.com/willamwang/p/8056429.html
Copyright © 2011-2022 走看看