zoukankan      html  css  js  c++  java
  • SVN配置

    参考资料:


    http://www.ha97.com/4467.html
    SVN作为新一代代码版本管理工具,有很多优点,管理方便,逻辑明确,安全性高,代码一致性高。SVN数据存储有两种方式,BDB(事务安全表类型)和FSFS(一种不需要数据库的存储系统),为了避免在服务器连接中断时锁住数据,FSFS是一种更安全也更多人使用的方式。SVN的运行方式也有两种,一种是独立服务器,另一种是借助apache服务,各有利弊,下面就介绍一下这两种方式各自的部署步骤。
    一.作为独立服务器运行,
    1.安装subversion
    #yum  install  subversion
    #mkdir    -p    /opt/svn  //创建svn目录
    #chmod  777  /opt/svn  //修改目录权限为777
    #svnadmin  create  /opt/svn/repos  //创建一个svn版本仓库repos (repos 名字自己起)
    #cd      /opt/svn/repos/conf    //进入repos版本仓库下的配置文件目录
    修改此目录下的三个配置文件
    1)  svnserve.conf    //配置版本库信息和用户文件和用户密码文件的路径、版本库路径
    #vim  svnserve.conf
    修改一下几处:
    #anon-access = read
    #auth-access = write
    #password-db = passwd
    将这三行前面的 #号去掉,每行的最左边不能有空格,改成如下:
    anon-access =  none    //read改为none
    auth-access = write
    password-db = passwd
    realm = repos            //改成自己的版本库
    如图:
    保存退出
    2) 修改authz 文件,创建svn组和组用户的权限
    #vim    authz
    [group]
    repos = test,test1      //创建一个repos的组,并添加2个用户test,test1
    [/]      //修改根目录下的权限
    @repos = rw        //repos组用户的权限为 读写
    test = rw              //test 用户的权限为读写
    * = r                    //其他用户的权限为只读
    如图:
    3)passwd 文件  创建或修改用户密码
    #vim passwd
    test = test    //用户名test的密码为test
    test1 =  test1    //用户名为test2的密码为test2
    保存退出

    二.设置开机启动文件
    1.  编辑/etc/rc.local
    文件内容如下(在touch /var/lock/subsys/local下面添加一行)
    #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don’t
    # want to do the full Sys V style init stuff.
                    touch /var/lock/subsys/local
    svnserve    -d  -r  /opt/svn/repos
    如图:
    三.启动SVN服务
        1.启动svn服务,svn服务默认端口为3690,可以使用“netstat -ntlp”命令查看服务启动是否成功:
            #svnserve  -d  -r  /opt/svn/repos
    如果已经有svn在运行,可以换一个端口运行
    svnserve -d -r /opt/svn/repos --listen-port 3391
    这样同一台服务器可以运行多个svnserve
        2.启动成功后就可以使用了
            a.建议采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口  :端口号
            b.或者用命令行连接:
                svn  co svn://ip/
          连接上之后就可以使用了。


    注意!!!!!!
    创建仓库:svnadmin create PATH
    启用仓库:svnserve -d -r /svntest/tang(具体路径)
    也许需要修改conf里的三个配置文件

    重点!!!(详细在下面
    1. 初始化版本仓库中的目录
    2. # mkdir project project/server project/client project/test (建立临时目录)
    3. # svn import project/ file:///home/svn/project -m “初始化SVN目录”
    4. # rm -rf project (删除临时建立的目录)

    检查是否安装 telnet:rpm -qa telnet
    检查是否安装telnet服务:rpm -qa telnet-server
    如果进行了telnet-server安装操作,且已成功安装,则由于telnet服务是由xinetd守护的,所以我们需要重新启动xinetd。  : service xinetd restart
    chkconfig telnet on
    记得防火墙!!!
    在linux中要写入文件:svn checkout svn://192.168.233.128:3391(地址)/svntest/tang(具体路径)
    或者是:    svn  co svn://ip/


    TortoiseSVN中checkout是读取文件, import是写入文件


    1. 二,基本的SVN服务器配置
    2. 1,新建一个目录用于存储SVN所有文件
    3. # mkdir /home/svn
    4. 2,新建一个版本仓库
    5. # svnadmin create /home/svn/project
    6. 3,初始化版本仓库中的目录
    7. # mkdir project project/server project/client project/test (建立临时目录)
    8. # svn import project/ file:///home/svn/project -m “初始化SVN目录”
    9. # rm -rf project (删除临时建立的目录)
    10. 4,添加用户
    11. 要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了测试,我添加了如下内容:
    12. [users]
    13. # harry = harryssecret
    14. # sally = sallyssecret
    15. pm = pm_pw
    16. server_group = server_pw
    17. client_group = client_pw
    18. test_group = test_pw
    19. 5,修改用户访问策略
    20. /home/svn/project/conf/authz记录用户的访问策略,以下是参考:
    21. [groups]
    22. project_p = pm
    23. project_s = server1,server2,server3
    24. project_c = client1,client2,client3
    25. project_t = test1,test1,test1
    26. [project:/]
    27. @project_p = rw
    28. * =
    29. [project:/server]
    30. @project_p = rw
    31. @project_s = rw
    32. * =
    33. [project:/client]
    34. @project_p = rw
    35. @project_c = rw
    36. * =
    37. [project:/doc]
    38. @project_p = rw
    39. @project_s = r
    40. @project_c = r
    41. @project_t = r
    42. * =
    43. 说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!
    44. 6,修改svnserve.conf文件,让用户和策略配置升效.
    45. svnserve.conf内容如下:
    46. [general]
    47. anon-access = none
    48. auth-access = write
    49. password-db = /home/svn/project/conf/passwd
    50. authz-db = /home/svn/project/conf/authz
    51. 7,启动服务器
    52. # svnserve -d -r /home/svn








  • 相关阅读:
    Java vs Python
    Compiled Language vs Scripting Language
    445. Add Two Numbers II
    213. House Robber II
    198. House Robber
    276. Paint Fence
    77. Combinations
    54. Spiral Matrix
    82. Remove Duplicates from Sorted List II
    80. Remove Duplicates from Sorted Array II
  • 原文地址:https://www.cnblogs.com/tangbinghaochi/p/6293221.html
Copyright © 2011-2022 走看看