• SVN的安装配置(linux)


    转载自  http://gavinshaw.blog.51cto.com/385947/277489

    虽然说是SVN系列,但是想要真正的理解一个前人花费多年时间去做的一个工程,并不是短时间之内可以做到的!还有就是看别人的文章 终究不及自己做一遍来的深刻,
    另外要说的一点就是,人们写的文章只能作为参考,权威的,还是官方的文档.(一点写在前面的废话!)
    当然了了解一个事物,最好的莫过于搞一个来自己动手摸索.就像是当初接触linux的时候一样,让我看了半天的那一大堆命令,还不如在自己的机器上敲个十遍!(当然说的只是初步的接触,深入的了解 看文档还是必须的!)
    扯淡多了会上瘾,为了不上瘾,开始吧!
    准备工作:
      一套操作系统(linux)  连接的网络  (没有的话下载的软件包(源码包,rpm包,)也成),源码的下载地址.
    在这里插一句话,关于编译安装和rpm软件包安装,个人觉得如果没有什么特殊需求的话,没有必要自己编译安装,既耗时间又耗费精力,编译完了时间一久,自己都不知道放哪边去了.
      所以我选择最简单,也是比较规范的一种安装方式 yum安装(redhat系列).
    [root@server ~]# yum install -y subversion-*
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    c5-media                                                 | 2.1 kB     00:00    
    Setting up Install Process
    Package subversion-1.4.2-4.el5_3.1.i386 already installed and latest version
    Resolving Dependencies
    There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
    The program yum-complete-transaction is found in the yum-utils package.
    .
    .
    .
    Dependencies Resolved
    ================================================================================
    Package                 Arch       Version                Repository      Size
    ================================================================================
    Installing:
    subversion-devel        i386       1.4.2-4.el5_3.1        c5-media       199 k
    subversion-javahl       i386       1.4.2-4.el5_3.1        c5-media       124 k
    subversion-perl         i386       1.4.2-4.el5_3.1        c5-media       753 k
    subversion-ruby         i386       1.4.2-4.el5_3.1        c5-media       339 k
    Installing for dependencies:
    apr-devel               i386       1.2.7-11.el5_3.1       c5-media       231 k
    apr-util-devel          i386       1.2.7-7.el5_3.2        c5-media        53 k
    ruby-libs               i386       1.8.5-5.el5_3.7        c5-media       1.6 M
    Transaction Summary
    ================================================================================
    Install      7 Package(s)        
    Update       0 Package(s)        
    Remove       0 Package(s)        
    Total download size: 3.3 M
    Downloading Packages:
     .
    .
    .
    --------------------------------------------------------------------------------
    Total                                           2.8 MB/s | 3.3 MB     00:01    
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
                                          7/7
    Installed:
      subversion-devel.i386 0:1.4.2-4.el5_3.1                                      
      subversion-javahl.i386 0:1.4.2-4.el5_3.1                                     
      subversion-perl.i386 0:1.4.2-4.el5_3.1                                       
      subversion-ruby.i386 0:1.4.2-4.el5_3.1                                       
    Dependency Installed:
      apr-devel.i386 0:1.2.7-11.el5_3.1    apr-util-devel.i386 0:1.2.7-7.el5_3.2  
      ruby-libs.i386 0:1.8.5-5.el5_3.7   
    Complete!

    yum安装到这里,只需要修改几个配置文件就可以使用用了(仅仅是使用),在这里我选用的是svnserver这一种管理方式,为啥呢?
    因为设置简单,比WebDAV快,不需要建立系统帐号,不会在网络中传输密码!
    当然在配置之前我们要建立一个版本库,可以使用以下命令来建立版本库.

    [root@server /]# svnadmin create /opt/svn/repos //创建版本库
    [root@server /]# ll -sh /opt/svn/repos/  //查看建立的配置文件
    total 56K
    8.0K drwxr-xr-x 2 root root 4.0K Feb  2 06:43 conf
    8.0K drwxr-xr-x 2 root root 4.0K Feb  2 06:43 dav
    8.0K drwxr-sr-x 5 root root 4.0K Feb  2 06:43 db
    8.0K -r--r--r-- 1 root root    2 Feb  2 06:43 format
    8.0K drwxr-xr-x 2 root root 4.0K Feb  2 06:43 hooks
    8.0K drwxr-xr-x 2 root root 4.0K Feb  2 06:43 locks
    8.0K -rw-r--r-- 1 root root  229 Feb  2 06:43 README.txt
    [root@server /]#

    这个命令创建了一个新目录 /opt/svn/repos,并在其中创建了一个 Subversion 版本库。这个目录里主要保存了数据库文件(还有其它一些文件).

    假定已经有一些需要导入到 Subversion 版本库的条目(一组文件和目录)。
    接下来,我们需要把这些条目整理到一个名为 jadeshow 的目录(或者其它任意目录)里。在这个
    目录下,创建三个顶级子目录:branches,tags 和 trunk,(这个只是svn的惯例,你也可以不这么做)。将所有需版本化的数据保存到 trunk
    目录下,同时保持 branches 和 tags 目录为空:
    /tmp/jadeshow/branches/
    /tmp/jadeshow/tags/
    /tmp/jadeshow/trunk/
    可以使用如下命令导入老的文件
    [root@server /]# svn import /tmp/jadeshow/\
    file:///opt/svn/repos/jadeshow -m "inital import"
    Adding         /tmp/jadeshow/trunk
    Adding         /tmp/jadeshow/branches
    Adding         /tmp/jadeshow/tags

    Committed revision 1.
    [root@server /]#
    (如果没有的话那么这个layer可以跳过)

    接下来我们配置三个文件就可以使用svn了!简单吧。

    [root@server conf]# pwd
    /opt/svn/repos/conf               //配置文件的主目录
    root@server conf]# grep -v "#" passwd   //passwd中起作用的配置

    [users]
     jadeshow = jadeshow   //用户名 jadeshow 密码 jadeshow
    [root@server conf]# grep -v "#" authz   //认证文件      

    [groups]
    admin = jadeshow        //jadeshowshow属于admin组

    [repos:/]              //repos库根目录的权限
    @admin = rw            //@表示组 admin组有读写权限
    * = r                  //其他人有读权限
    [root@server conf]# grep -v "#" svnserve.conf         


    [general]
     anon-access = none
     auth-access = write         
     password-db = passwd         //用户文件     
     authz-db = authz            //认证文件
     realm = /opt/svn/repos       //库所在
    [root@server conf]#

    配置完成.使用svnserver 启动


    [root@server conf]# svnserve -d -r /opt/svn/repos/   //更多的用法可以参见svnserve --help
    (检查svn是否启动)

    [root@server conf]# netstat -antp |grep svn
    tcp        0      0 :::3690                     :::*                        LISTEN      5576/svnserve           //svn已经启动为3690端口
    [root@server conf]# ps -ef |grep svn
    root      5576     1  0 07:30 ?        00:00:00 svnserve -d -r /opt/svn/repos/       //   其实更安全的办法是使用非root用户来启动.
  • 相关阅读:
    WCF message logging and tracing
    How to create a custom composite activity
    两个Datatable合并
    JS生成柱形图表
    InstallShiled12激活过程
    InstallShield Premier版本和Professional版本的功能差异
    InstallShield12注册过程
    Oracle回收站使用
    SQLite数据库管理的相关命令
    Installshield 2010 预安装组件或软件
  • 原文地址:https://www.cnblogs.com/alonones/p/6103100.html
Copyright © 2020-2023  润新知