`

在CentOS下安装SVN

 
阅读更多

1.SVN简介

由于前些年在版本的管理上采用的都是CVS系统,总体上而言还是很优秀的,经过了多年
的项目开发管理经历,在使用CVS系统在管理中大型的软件项目时还是遇到了很多不可克服的
缺陷和局限性,主要表现在如下的几个方向:
    1. 无法进行文件名称的修改活动 ,这样一来就会导致必须先删除该文件再上传,丢失了
       历史信息,要不就必须到服务上将xxx,v文件进行改名(我采用这种方法,不过总是
       找管理员太不方便了);
    2. 目录名称没有被管理 ,这样就不能进行改名等动作,其实项目的目录结构对于项目的
       成功起了非常重要的作用,每次也只能到服务器上进行修改;
    3. 项目的分支代价太高 ,需要对每一个文件都进行标记,对于大的项目耗时太长,并且
       基本上不能删除废弃了的分支和标记,因为那样很容易导致项目仓库的损坏,我就遇
       到了好多次这种让人发狂的情况;
    4. 对于文件二进制和文本的处理经常会出现混乱 ,结果就使将二进制文件当作文本上传
       后内容被扩展导致丢失,因为有些时候二进制文件的扩展名和某些文本文件的扩展名
       相同了,所以导致CVS识别就会出错。


      可以安装并配置subversion(简称svn)系统,使用svn来替换CVS系统,以解决上述问题。

      Subversion有两种运行方式,一种是基于Apache Http Server另外一种是Subversion Standalone Server 。下面我讲解的是基于Apache Http Server的Subversion,这样做几个好处
A.能使用WebDAV协议。
B.能使用浏览器作为客户端工具浏览源码仓库。
C.可以很容易的支持到SSPI(Windows域认证)和LDAP(AD?),这些都是Apache本身就支持的。
D.能得到比较完善的Apache安全认证系统,比如SSL加密连接。

2.svn安装
安装系统 :CentOS
安装方式 :yum install(这种方式比较简单,如果用源码安装容易产生版本兼容的问题)
建议
      
最好将svn系统安装在Linux操作系统环境下,这样一来系统比较的稳定可靠,同时也可以减少很多的病毒和攻击的服务器日常维护工作量,我将svn安装在了CentOS的服务器版本下。

安装:

           yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

确定已经安装了svn模块:mod_dav_svn
           #cd /etc/httpd/modules
           #ls | grep svn
             mod_authz_svn.so
             mod_dav_svn.so


如果要确认是否成功的安装了svn可以通过如下的命令进行验证:
           svn --version

显示如下,表示正常:

svn, version 1.1.4 (r13838)
   compiled Aug 21 2005, 20:56:55

Copyright (C) 2000-2004 CollabNet.
Subversion is open source software, see
http://subversion.tigris.org/
This product includes software developed by CollabNet ( http://www.Collab.Net/ ).

The following repository access (RA) modules are available:

* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
  - handles 'http' schema
  - handles 'https' schema
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' schema
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' schema

 

3.apache的配置
配置/etc/httpd/conf/httpd.conf
(httpd的安装目录,一般是/etc/httpd或/usr/local/appache2)
进入到/etc/conf目录下用vim打开httpd.conf配置文件进行选项的修改:
            a. KeepAlive选项(可选)
               该选项可以修改也可以不修改,主要是为了提高http协议访问的性能,可以
               使得svn仓库的访问更快,KeepAlive表示可以保持http的永久性TCP连接,
               省去了每次都需要进行重建TCP连接的巨大开销,找到如下几个选项并修改:
                  KeepAlive On
                  MaxKeepAliveRequests 100
                  KeepAliveTimeout 15
             b. ServerAdmin/ServerName选项(可选)
                对于需要对系统进行管理的可以在ServerAdmin选项设置成为管理员的email
                地址,这样在出现问题时apache会自动发送邮件到该地址中;而ServerName
                必须设置为本服务器的域名,如xxx.xxx.cn:80。

       为了使客户端能够通过Apache来访问SVN档案库,Apache需要加载一个特殊的模块mod_dav_svn。如果您的Apache是按照与预设目 录安装的,mod_dav_svn 模块应该会安装在 Apache 安装位置 (默认路径是 /usr/local/apache2) 的 modules 子目录内。同时在Apache的配置文件httpd.conf(默认路径为/usr/local/apache2/conf)中已经使用 LoadModule指令加载了该模块(如果没有,请手动添加)LoadModule 指令的语法很简单, 就是将一个具名模块对映到共享链接库在磁盘上的位置:
LoadModule dav_svn_module     modules/mod_dav_svn.so
注意这个指令必须出现在其它的 Subversion 相关指令之前。
还要加载mod_authz_svn.so模块
如图:

测试Apache是否可以正常启动:

       #vim /etc/httpd/conf/httpd.conf -- Edit what you need and save the file
       #service httpd start
       #chkconfig httpd on
在浏览器中访问:http://localhost , 如果能看到Apache的页面,则说明Apache已经正常启动。

Apache命令:
       启动:apachectl -k start
       关闭:apachectl -k stop
       重启:apachectl -k restart
       查看日志:tail -f /etc/httpd/logs/error-log

4.svn的配置
进入到/etc/httpd/conf.d目录下用vim打开subversion.conf配置文件进行选项的
修改:
a. module的配置
一定要保证下面的两句话存在于配置文件中,否则无法在如svn的模块,就
无法访问svn的仓库了:
               LoadModule dav_svn_module     modules/mod_dav_svn.so
               LoadModule authz_svn_module   modules/mod_authz_svn.so

b. 仓库目录配置
项目仓库就是用于存放项 目目录结构的服务器目录,一般情况下Linux的规则时间容易变化的内容存放在/var目录下,所以我们需要在/var目录下创建一个svn目录,这样所 有的项目的根目录都作为/var/svn/目录下的一级子目录了,这样以来就可以在一个仓库目录下存放多个项目了。
              
下面将使用myapp这个仓库来配置Subversion

# mkdir -p /var/svn
 
# cd /var/svn
 
# svnadmin create myapp
 
# chown -R apache. apache myapp
 
# vi /etc/httpd/conf.d/subversion.conf

加入以下配置

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
 
<Location /svn>
DAV svn
SVNParentPath /var/svn
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/svn/passwd
Require valid-user
#   </LimitExcept>
</Location>

 下面建立可访问用户文件

# htpasswd -c /var/svn/passwd
 justin




要增加用户,则使用下面命令

# htpasswd /var/svn/passwd
 other




重起Apache

# service httpd restart




Subversion部分安装完成,打开浏览器访问http://localhost/svn/myapp 即可看到效果。

分享到:
评论

相关推荐

    centos系统SVN离线安装包

    这通常包括zlib,它是许多软件的压缩库,SVN在编译和运行时需要它。你需要将这些包下载到你的本地机器上,然后在无网络的CentOS系统上进行安装。 2. **创建本地软件仓库**:将下载的离线包上传到CentOS系统后,需要...

    centos 7.9服务器 离线 搭建svn服务器

    centos 7.9服务器 离线 搭建svn服务器 ,该文章适用于 开发人员 实施人员 项目经理用于项目文档管理 代码管理,而不指定如何在centos7.9环境下离线搭建svn服务器,因为大多数的网站只是介绍yum install 的方式,但是...

    centos离线搭建svn服务器(含教程,源码包)

    把手一步步离线搭建svn服务器,centos离线搭建svn服务器,linux离线搭建svn服务器。

    centos 下安装svn服务器

    在安装过程中,需要将库的路径添加到`/etc/ld.so.conf`,并运行`ldconfig`更新动态链接器缓存。 2. **安装sqlite** 如果下载的是amalgamation版本,即sqlite源代码已经合并在一个文件中,可以通过`configure`、`...

    centos下svn客户端软件rapidSVN安装资源包及教程

    rapidsvn安装所需的全部资源包,可离线安装(gtk2和openssl的rpm包只上传了centos7版本) apr-1.5.2.tar.gz apr-util-1.5.4.tar.bz2 neon-0.29.6.tar.gz(可选,neon是subversion解析web http协议的包,视subversion...

    centos 7安装svn服务器教程.docx

    CentOS 7 安装 SVN 服务器教程 本文将详细介绍如何在 CentOS 7 上...本文详细介绍了在 CentOS 7 上安装和配置 SVN 服务器的步骤,包括安装 SVN、配置 SVN 服务器、配置工程用户、启动 SVN 服务器和拉取代码等步骤。

    CentOS安装SVN服务器

    在本文中,我们将深入探讨如何在CentOS操作系统上安装并配置SVN(Subversion)服务器。SVN是一种广泛使用的版本控制系统,它允许团队协作管理代码和其他文件的版本历史。 首先,我们来了解一下如何检查和安装SVN。...

    centos SVN离线安装包

    总之,这个“CentOS SVN离线安装包”为CentOS用户提供了一种在没有网络连接的情况下安装和使用Subversion的途径,这对于某些特定环境非常有用。安装和使用过程中,用户需遵循上述步骤,并确保满足所有必要的依赖和...

    CentOS 7搭建SVN服务器

    本文将详细介绍如何在CentOS 7操作系统上搭建SVN服务器,包括安装、配置以及基本操作。 首先,我们需要理解SVN的作用。SVN是一个集中式的版本控制系统,用于管理代码或者其他文件的变更历史,方便团队成员共享资源...

    Centos安装升级SVN1.8.9

    至此,你已掌握了在CentOS上安装和配置SVN 1.8.9的全过程,这将极大地提升团队协作和项目管理的效率。如果你需要支持更多的协议或进行更复杂的配置,可以查阅官方文档或社区资源以获取更多信息。

    centos7 安装svn server

    ### CentOS 7 下 SVN Server 的安装与配置 #### 一、前言 Subversion (SVN) 是一种广泛使用的版本控制系统,它可以帮助团队管理和跟踪项目的变更历史。在 CentOS 7 环境下搭建 SVN 服务器可以为开发团队提供一个...

    CentOS下SVN的安装

    这篇文章将详细介绍如何在CentOS上安装和配置SVN,包括可能出现的问题及解决方法。 首先,安装SVN最常用的方法是通过Yum包管理器。在命令行中输入以下命令: ```bash sudo yum install subversion ``` Yum会自动...

    Linux(CentOS6.2)下安装SVN服务

    需要注意的是,在安装过程中遇到的任何问题,都需要仔细排查解决。此外,安装完成后还需要进一步配置SVN仓库、权限等,才能真正投入使用。对于开发者而言,SVN是一个不可或缺的工具,能够帮助团队成员更有效地协作...

    虚拟机centos安装svn

    本文将基于“虚拟机centos安装svn”的主题,深入解析在CentOS环境下搭建SVN服务器的步骤与关键点。 ### 一、环境准备与基础概念 #### 环境需求 - **操作系统**:CentOS 5.x或更高版本。 - **虚拟机**:在虚拟机中...

    centos 6.5下离线安装svn

    在Linux系统,特别是CentOS 6.5这样的老版本中,进行离线安装SVN(Subversion)是一项挑战,因为通常需要手动下载依赖并解决网络连接问题。以下是一份详细的步骤指南,帮助你理解如何在没有互联网连接的情况下完成这...

    centOS安装svn 1.8.1以及更高版本的时候所用的资源合集

    centOS安装svn 1.8.1以及更高版本的时候所用的资源合集

    CENTOS下svn版本访问rabbitvcs软件资源包

    在Linux系统中,特别是CENTOS 7环境下,安装和配置版本控制工具是非常重要的,特别是对于开发者来说。本文将详述如何在CentOS 7上安装和配置RabbitVCS,这是一个用于Subversion(SVN)的图形化版本控制系统。...

    CentOS5/6安装svn1.7/1.8脚本

    本文将详细讲解如何在CentOS 5和6操作系统上安装svn 1.7和1.8版本,这主要适用于那些需要管理代码库、协同开发的团队。 首先,让我们了解CentOS。它是一个基于RPM包管理的Linux发行版,广泛用于服务器环境,尤其因...

    CentOS Linux7.6安装SVN1.10.6过程及依赖的安装包.zip

    CentOS默认yum安装的SVN版本太老了,新的版本就要自己编译安装,自己整理了依赖包文件和依赖包的安装过程,最后是SVN的安装启动,包含的文件如下 apr-1.6.5.tar.gz apr-util-1.6.1.tar.gz sqlite-autoconf-3250100....

Global site tag (gtag.js) - Google Analytics