SVN独立服务安装

一 准备相关软件:(所需软件可到本人资源去下载http://download.youkuaiyun.com/detail/bai_juaner/5037973

        subversion-1.6.20.tar.gz

        subversion-deps-1.6.20.tar.gz

        openssl-1.0.0a.tar.gz

        zlib-1.2.7.tar.gz

        expat-2.1.0.tar.gz

二 安装及配置:

1、解压软件,各软件所放置的目录:

      进入目录

      # cd /usr/local/subversion

      解压缩软件:

      # tar -zxvf subversion-1.6.20.tar.gz

      # tar -zxvf subversion-deps-1.6.20.tar.gz

2、编译及安装:

     # cd /usr/local/subversion/subversion-1.6.20

      # ./configure

     执行上述命令之后可能会报错,可参考后边的问题一、二、三、四。问题解决后继续执行下面的命令。

      # make

     配置成功后执行make可能也会报错,可参见问题五。

      # make install

      # cd /usr/local

      该目录下生成一个svn目录,ok,svn安装完成。

3、设置环境变量,在/etc/profile的PATH中增加如下内容:

      export PATH=/usr/local/ssl/bin:/usr/sbin:/usr/local/svn/bin

4、测试是否安装成功

    执行命令:

     # svn --version   结果如下表示安装成功:  

     svn,version 1.6.20 (r1426218)

      …                 

    如果报错:-bash: svn: command not found

    在确保环境变量配置没问题的情况下,重启服务器,再执行svn --version

 

三、 遇到问题:

问题一

   error:in‘/usr/local/subversion/subversion-1.6.20’:

   error:noacceptable C cpmpiler fond in $PATH

  See‘config.log’ for more details.

解决方法:

      # yum install gcc

     yum的时候可能会报错:

           Error: Cannot find a valid baseurl for repo:base   

      解决办法:

            vi /etc/resolv.conf

            在文件的最后加入

               nameserver 8.8.8.8

            如果没有vi编辑器可用

               echo "nameserver8.8.8.8" >> /etc/resolv.conf

            然后试pingwww.baidu.com

         成功后继续操作:# yum install gcc

问题二

     configure: error: no XML parser was found:expat or libxml 2.x required

解决方法:

     需要安装expat,安装方法如下:

     # cd /usr/local/subversion

     # tar zxvf expat-2.1.0.tar.gz

     # cd expat-2.1.0

     # ./configure

     # make

     # make install

     重新执行

     # cd /usr/local/subversion/subversion-1.6.20

     # ./configure

问题三:

     configure: error: We require OpenSSL; try--with-openssl

解决方法:

     需要安装openssl,安装方法如下:

     # cd usr/local/subversion

     解压缩openssl-1.0.0a.tar.gz

     # tar -zxvf openssl-1.0.0a.tar.gz

     # cd openssl-1.0.0a

     # ./config

     # ./config -t

     # make depend

     # make

     # make test

     # make install

     安装之后会在/usr/local下生成一个ssl目录

     重新执行

     # cd /usr/local/subversion/subversion-1.6.20

     # ./configure --with-openssl=/usr/local/ssl成功

问题四:

     configure: error: subversion requires zlib

解决方法:

     需要安装openssl,安装方法如下:

     # cd usr/local/subversion

     解压缩zlib-1.2.7.tar.gz

     # tar -zxvf zlib-1.2.7.tar.gz

     # cd zlib-1.2.7

     # ./configure

     # make

     # make install

     # cd /usr/local

     # ln -s zlib-1.2.7 zlib

     重新执行

     # cd /usr/local/subversion/subversion-1.6.20

     # ./configure--prefix=/usr/local/svn/ --with-openssl=/usr/local/ssl    

                       --with-zlib=/usr/local/zlib成功

     最后会出现如下信息表示配置成功:

          You don't seem to have Berkeley DB version 4.0.14 or newer
      installed and linked to APR-UTIL.We have created Makefiles which
      will build without the Berkeley DBback-end; your repositories will
      use FSFS as the default back-end.You can find the latest version of
      Berkeley DB here:
      http://www.oracle.com/technology/software/products/berkeley-db/index.html

问题五: 

     /usr/local/ssl/lib/libssl.a: could not readsymbols: Bad value

     collect2: ld returned 1 exit status

     make[1]: *** [libserf-0.la] Error 1

     make[1]: Leaving directory `/usr/local/subversion-1.6.20/serf’

     make: *** [external-all] Error 1

解决方法:

     执行配置时加入忽略serf命令,如下

     # ./configure --prefix=/usr/local/svn/ --with-openssl=/usr/local/ssl --with-zlib=/usr/local/zlib --without-serf

     配置完成后执行

     # make

     # make install

 

集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上是不可以工作。下面举例说明:   开始新一天的工作:   1:从服务器下载项目组最新代码。   2:进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了那些代码,就需要这样做了)。   3:下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。   这就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。   缺点:   1、 服务器压力太大,数据库容量暴增。   2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,   就不能提交,还原,对比等等。   3、不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。   优点:   1、 管理方便,逻辑明确,符合一般人思维习惯。   2、 易于管理,集中式服务器更能保证安全性。   3、 代码一致性非常高。   4、 适合开发人数不多的项目开发。   5、大部分软件配置管理的大学教材都是使用svn和vss。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值