zoukankan      html  css  js  c++  java
  • svn服务器搭建-SuSE Linux Enterprise Server 11 SP3

    svn存储版本数据也有2种方式:
    1.bdb;
    2.fsfs。
    因为BDB方式在服务器中断时,有可能锁住数据(搞ldap时就深受其害,没法根治),所以还是FSFS方式更安全一点,我也选择这种方式。
     
     
    下载相关软件
    wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz
     
    二 解压两个包:
      1.在此之前,我已经创建了一个用户svnroot专门用来安装管理svn的,就解压在/root/sur/local/svn/目录下
      
         tar zxvf subversion-1.6.6.tar.gz
        tar zxvf subversion-deps-1.6.6.tar.gz

      2. 编译安装 

      1.  ./configure --prefix=/root/usr/local/svn/subversion-1.6.6 --without-berkeley-db 
      2.   
      3. //prefix指定安装的目录,without-berkeley-db表明不使用berkeley数据库  
      4.   
      5. //在这一步有可能不成功,是因为有一些依赖的软件没装,具体见下面“遇到的问题”  
      6.   
      7. make  
      8.   
      9. make install  
    

      3.添加环境变量

      1. 查看是否安装成功  
      2.   
      3. /root/usr/local/svn/subversion-1.6.6/bin/svnserve --version  
      4.   
      5. //如果出现SVN的版本则证明安装成功 
    

      

      1. 可以在/etc/profile中添加  
      2.   vi /etc/profile
      3. export PATH=$PATH:/root/usr/local/svn/subversion-1.6.6/bin  
      4. 添加后保存退出
      5. 修改完成后,使用source /etc/profile 命令进行更新;
    1. 在看看配置的环境起作用了没有 svnserve --version

      错误汇总

    1、 configure: error: We require OpenSSL; try --with-openssl
      1. 错误提示需要安装openssl,所以我就安装了一个openssl,安装方法如下:  
      2.   
      3.   
      4. cd /root/usr/local/ssl
      5.   
      6. tar -zxvf openssl-1.0.0a.tar.gz  
      7.   
      8. cd openssl-1.0.0a  
      9.   
      10. ./config  
      11.   
      12. ./config -t  
      13.   
      14. make depend  
      15.   
      16. make  
      17.   
      18. make test  
      19.   
      20. make instal  
      21.   
      22. 安装之后会在/usr/local下生成一个ssl目录,配置SVN时加上openssl路径  
      23.   
      24.  ./configure --prefix=/root/usr/local/svn/subversion-1.6.6 --without-berkeley-db --with-openssl=/usr/local/ssl   
    

      2./usr/local/ssl/lib/libssl.a: could not read symbols: Bad value  

      1. 加上–without-serf  	
      2.  ./configure --prefix=/root/usr/local/svn/subversion-1.6.6 --without-berkeley-db --with-openssl=/usr/local/ssl -without-serf
    

      三 建立仓库

      1. 创建目录
      1. mkdir  -p  /root/usr/local/svn/svndata/inc  
      2.   
      3. 加上参数P,是如果没有父目录则自动创建  
      4.   
      5. 注意: /root/usr/local/svn/svndata在这里将是所有仓库的根目录,innc是其中的一个仓库。 
    

      2. 创建仓库

      1. svnadmin create  /root/usr/local/svn/svndata/inc 
      2.   
      3. 这里使用SVN将inc建立为仓库。则在inc文件夹里会生成一系列对于inc仓库相应的配置文件
    

    四 配置仓库

        1. 查看创建仓库后的文件

    进入/svndata/inc/conf,会发现有几个配置文件  
    

        2. 修改svnserve.conf

      1. vi svnserve.conf  
      2.   
      3. 打开这个配置文件,可以看到很多配置项已经注释掉了,只需要按下面这几项修改就可以了  
      4.   
      5. [general]  
      6.   
      7. anon-access = none  
      8.   
      9. auth-access = write  
      10.   
      11. password-db = passwd  
      12.   
      13. authz-db=authz  
    

      3. 目录控制文件authz (or叫权限控制文件)

      1. vi authz  
      2.   
      3. 默认是没有配置的,要参照下面示例来配置  
      4.   
      5. [groups]  
      6.   
      7. admin = svnadmin  
      8.   
      9. [repos1:/]  
      10.   
      11. @admin = rw  
      12.   
      13. svnadmin = rw  
      14.   
      15. 上面的配置权限控制文件的配置格式如下:  
      16.   
      17. [groups]  
      18.   
      19. <用户组名> = <用户1>,<用户2>, ……  
      20.   
      21. [<版本库>:/项目/目录]  
      22.   
      23. @<用户组名> = <权限>  
      24.   
      25. <用户名> = <权限>  
      26.   
      27. 其中,方框号内部分可以有多种写法:  
      28.   
      29. /,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/root/usr/local/svn/svndata		    这样,/就是表示对全部版本库设置权限。  
      30.   
      31. inc:/,表示对版本库1设置权限  
      32.   
      33. inc2:/occi,表示对版本库2中的occi项目设置权限  
      34.   
      35. inc2:/occi/aaa,,表示对版本库2中的occi项目的aaa目录设置权限  
      36.   
      37. 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。  
    

      4. 修改用户密码文件passwd

      1. vi passwd  
      2.   
      3. 默认也是没有配置任何用户的,可按下面配置示例配置  
      4.   
      5. [users]  
      6.   
      7. svnadmin = 123456  
      8.   
      9. 用户密码的配置格式:  
      10.   
      11. [users]  
      12.   
      13. <用户1> = <密码1>  
      14.   
      15. <用户2> = <密码2>  
      16.   
      17. 注意:这里的配置文件,除了注释外每行都必须顶行,否则又会报错了。 
    

      五 启动SVN

      1. svnserve -d -r /root/usr/local/svn/svndata  
      2.   
      3. -d表示在后台运行,-r表示后台执行 
      4.   
      5. 注意:这里是/root/usr/local/svn/svndata,并非/root/usr/local/svn/svndata/inc  。这是SVN使所有仓库根目录都生效的命令,并非某个仓库。这里必须注意。  
    

      六 基本测试

      1. svn co svn://ip/inc
      2.   
      3. checkout的时候,会要求输入用户名密码,只有配置了的用户才能验证通过 
    

      七 端口开放

        手动修改:

      1. vi  /etc/sysconfig/SuSEfirewall2
      2.   
      3. #TCP端口的情况:
      4. 
      5. FW_SERVICES_EXT_TCP="3306 3690"
      6. 
      7. 防火墙设置的生效:
      8.    SuSEfirewall2 restart
    在windows 下 测试能不能访问:telnet ip 端口
    

      客户端访问

    通过客户端进行访问,svn服务默认端口是:3390
    地址如下:
    svn://ip:3690/inc/
    注意:
    不要在浏览器中通过http的方式进行访问,如下地址:http://ip:3690/tshop/
    那样肯定是不行的,因为你没有配置http的服务,上面是安装独立的SVN服务器
     
  • 相关阅读:
    加入创业公司有什么利弊
    Find Minimum in Rotated Sorted Array II
    Search in Rotated Sorted Array II
    Search in Rotated Sorted Array
    Find Minimum in Rotated Sorted Array
    Remove Duplicates from Sorted Array
    Spiral Matrix
    Spiral Matrix II
    Symmetric Tree
    Rotate Image
  • 原文地址:https://www.cnblogs.com/PuShaobin/p/6047931.html
Copyright © 2011-2022 走看看