zoukankan      html  css  js  c++  java
  • CentOS下 SVN版本控制的安装(包括yum与非yum)的步骤记录。

    一、yum安装

    rpm -qa subversion             //检查是否安装了低版本的SVN
    yum remove subversion           //如果存储旧版本,卸载旧版本SVN

    开始安装

    yum -y install subversion    
    svnserve --version             //查看版本

    创建版本仓库

    mkdir -p /data/svn/project                                
    svnadmin create /data/svn/project/

    查看/data/svn/project 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

    配置权限

    cd /data/svn/project/conf/            //进入配置目录
    vim svnserve.conf                    //编辑配置文件

    在客户端访问subversion版本库时出现这个错误:

    svnserve.conf:12: Option expected

    为什么会出现这个错误呢,就是因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件,如
    ### This file controls the configuration of the svnserve daemon, if you
    ### use it to allow access to this repository. (If you only allow
    ### access through http: and/or file: URLs, then this file is
    ### irrelevant.)

    ### Visit http://subversion.tigris.org/ for more information.

    [general]
    ### These options control access to the repository for unauthenticated
    ### and authenticated users.  Valid values are "write", "read",
    ### and "none".  The sample settings below are the defaults.
    anon-access = read
    auth-access = write

    像上面的配置文件中,anon-access是顶行的,没问题,而auth-access就存在前置空格,会导致这个错误。
    要避免出现这个错误,应该在去掉这些行前的#时,也要顺手去掉前面的空格

    vim passwd                        //编辑密码文件

    vim authz

    举例:

    [groups]
    project_p = pm
    project_s = server1,server2,server3
    project_c = client1,client2,client3
    project_t = test1,test1,test1
    [project:/]
    @project_p = rw
    * =
    [project:/server]
    @project_p = rw
    @project_s = rw
    * =
    [project:/client]
    @project_p = rw
    @project_c = rw
    * =
    [project:/doc]
    @project_p = rw
    @project_s = r
    @project_c = r
    @project_t = r
    * =
    说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,
    rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。
    这个很重要,一定要加上!

    配置防火墙

    vi /etc/sysconfig/iptables                //配置防火墙
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -dport 3690 -j ACCEPT   //加入此行代码

    service iptables restart                //重启防火墙
    另,有开启3690端口的命令,在终端输入以下命令:
    1>iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
    2>iptables -I OUTPUT -o eth0 -p tcp --sport 3690 -j ACCEPT
    然后保存:/etc/rc.d/init.d/iptables save
    在看看是否已经有了3690端口的开放权限:/etc/init.d/iptables status
    svnserve -d -r /data/svn/              //启动SVN
    netstat -ln | grep 3690               //查看端口状态

    打开本地Windows客户端检出

    客户端提交文件测试

    然后新创建一个WEB目录,实现修改WEB程序文件。  在这里把/data/www/作为指定WEB目录

    svn co svn://127.0.0.1/project /data/www/

    客户端提交了版本修改之后,在之前的公司每次都是需要执行svn update命令,而且不小心会出现开发冲突。

    下面来配置SVN钩子,来实现自动更新服务器WEB目录文件

    cd /data/svn/project/hooks/
    vim post-commit
     
    #!/bin/sh
    export LANG=zh_CN.UTF-8 
    SVN=/usr/bin/svn  #这里填写你的svn程序目录
    WEB=/data/www/ #这里填写你的web程序目录
    $SVN update $WEB --username user1 --password password123456 #客户端的用户名和密码,在svn配置文件里配置的信息
     

    chmod 777 post-commit

    最后重启svn!客户端提交测试,查看WEB目录文件自动更新成功!

    二、非yum安装

     
    wget http://subversion.tigris.org/downloads/subversion-1.6.9.tar.gz
    wget http://subversion.tigris.org/downloads/subversion-deps-1.6.9.tar.gz
    #解压
    tar zxvf subversion-1.6.9.tar.gz
    tar zxvf subversion-deps-1.6.9.tar.gz
    #编译
    cd subversion-1.6.9
    ./configure --prefix=/usr/local/svn --without-berkeley-db
    make
    make install
     

    安装过程中可能遇到的问题:

    1、提示OpenSSL缺失

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

    解决方法:编译前先安装了一个openssl即可

     
    cd /usr/local/src
    wget http://www.openssl.org/source/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
     

    make test 的时候本人出现过以下错误,本人没有去理会,继续make install。

    yum -y install openssl                 #为了放心,抱着试一试的态度,执行了yum安装命令

    安装之后会在/usr/local下生成一个ssl目录,编译SVN时加上openssl路径即可

    ./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/

    2、 zlib依赖缺失

    configure配置SVN时可能提示如下错误信息:

    configure: error: subversion requires zlib

    解决办法:安装zlib

    ------------------------------------------分割线------------------------------------------

    免费下载地址在 http://linux.linuxidc.com/

    用户名与密码都是www.linuxidc.com

    具体下载目录在 /2017年资料/10月/21日/CentOS下 SVN版本控制的安装(包括yum与非yum)/

    下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

    ------------------------------------------分割线------------------------------------------

    cd /usr/local/src
        这里我上传Linux公社了 。也可以直接Google下  zlib-1.2.8.tar.gz ,下载上传至指定目录即可
    tar -xvzf zlib-1.2.8.tar.gz
    cd zlib-1.2.8
    ./configure
    make
    make install

    3、expat依赖缺失

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

    解决办法:安装expat

    cd /usr/local/src
    wget http://nchc.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
    tar -zxvf expat-2.1.0.tar.gz
    cd expat-2.1.0
    ./configure
    make
    make install

    再次执行

    ./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/

    4、在make && make install 时出现报错

    make[1]: Leaving directory `/usr/local/src/subversion-1.6.9/serf'

    解决办法:添加 --without-serf 参数重新编译subversion即可:

    ./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/ --without-serf

    make && make install

    如果 make install 出现下面错误:
    /home/upload/subversion-1.6.6/subversion/svnversion/.libs/lt-svnversion: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
    make: *** [revision-install] Error 127
    解决办法:
    1、编辑/etc/ld.so.conf文件
    vi /etc/ld.so.conf
    添加下面一行代码
    /usr/local/lib
    2、保存后运行ldconfig:
    /sbin/ldconfig
    注:ld.so.conf和ldconfig用于维护系统动态链接库。
    3、然后再安装
    make && make install
    测试是否安装成功

    1
    /usr/local/svn/bin/svnserve --version

    安装完毕之后查看一下SVN版本

    /usr/local/svn/bin/svnserve --version

    OK!咱的SVN都可以看到版本了,证明没问题,可以创建仓库之类的操作了。和yum配置的方式差不多,只不过有时候命令行要有所改动了,

    比如yum安装之后是这样创建仓库:svnadmin create /data/svn/project/

    但是在编译安装的需要指定目录了:/usr/local/svn/bin/svnadmin create /data/svn/project/

    mkdir -p /data/svn/project
    /usr/local/svn/bin/svnadmin create /data/svn/project/
    cd /data/svn/project/

    接下来的配置步骤就略了,可以参考上面yum安装的配置方式,最后启动SVN服务还是需要注意的

    /usr/local/svn/bin/svnserve -d -r /data/svn/

    完毕~!

    Ubuntu 14.04 下搭建SVN服务器 SVN://  http://www.linuxidc.com/Linux/2015-01/111956.htm

    CentOS 7下安装iF.svnadmin实现Web方式管理SVN(源码安装)  http://www.linuxidc.com/Linux/2016-08/134214.htm

    CentOS7.2 编译安装SVN1.9.5客户端  http://www.linuxidc.com/Linux/2017-03/141387.htm

    SVN 服务器搭建步骤及使用实战 http://www.linuxidc.com/Linux/2017-01/139282.htm

    CentOS 7下搭建配置SVN服务器  http://www.linuxidc.com/Linux/2017-05/144254.htm

    CentOS 7.2下Nginx+MySQL+PHP-FPM+SVN配置Walle自动化部署系统详解 http://www.linuxidc.com/Linux/2016-11/137703.htm

    基于腾讯CentOS 7云服务器搭建SVN版本控制库  http://www.linuxidc.com/Linux/2017-05/144244.htm

    CentOS 7.1 下SVN安装与配置 http://www.linuxidc.com/Linux/2016-12/138637.htm

    CentOS 6.8 搭建SVN(版本控制系统)及SVN的使用  http://www.linuxidc.com/Linux/2017-04/143093.htm

    Subversion (SVN) 的详细介绍请点这里
    Subversion (SVN) 的下载地址请点这里

    本文永久更新链接地址http://www.linuxidc.com/Linux/2017-10/147871.htm

  • 相关阅读:
    面向对象程序设计作业1
    寒假作业4
    寒假作业3
    寒假作业2
    寒假学习计划
    三个生命中极可爱的人与难舍的往事
    Numpy and Pandas
    入门级神经网络之权重训练
    tensorboard入门
    1
  • 原文地址:https://www.cnblogs.com/xiaojianblogs/p/9343298.html
Copyright © 2011-2022 走看看