Linux平台下Subversion的安装与配置

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

摘自:http://blog.csdn.net/kryptonum/archive/2007/03/07/1523643.aspx

本文将介绍如何在Linux环境下(以Redhat9为例) 通过Subversion 来构建小组开发过程中最为重要的版本控制环境,包括Subversion 环境的安装配置,以及客户端的配置和使用。(某些操作,如make install需要root权限,简便起见,在没有特殊说明的情况下,下面的工作均使用root账户完成。)

1. 安装Apache HTTP Server

 

httpd是web服务器,httpd和subversion 配合,可用来通过web访问subversion,得到httpd-2.2.4.tar.bz2文件后,通过以下命令解压:

tar -jxvf httpd-2.2.4.tar.bz2

进入解压后的目录后,执行

./configure --enable-dav --enable-so --enable-nonportable-atomics 

其中,--enable-dav允许Apache提供DAV协议支持;--enable-so允许运行时加载DSO模块 ;--enable-nonportable-atomics可以在486以上的CPU上启用更加高效的基于互斥执行的原子操作。前两个参数是必须要加的,你还可以根据您的需要添加其他的参数。httpd默认安装目录为/usr/local/apache2,可通过--prefix参数指定。

另外,网络上有些howto上有在此时使用--enable-maintainer-mode参数,建议在正式的使用环境中不要使用,该参数使用所有警告和调试符号编译源代码,会影响性能。

完成后使用make命令编译httpd,执行make install则完成对httpd的安装,默认路径为/usr/local/apache2。

 

安装完成后,进入 /usr/local/apache2/bin目录,使用

./apachectl start启动httpd

在浏览器中打开http://localhost/,如果能正常显示“It Works!”,则证明已经安装成功。

 

 

2.安装Subversion

 

subversion的安装稍有技巧,需要下载subversion-1.4.3.tar.bz2 和subversion-deps-1.4.3.tar.bz2两个压缩包,并且解压至同一目录下,这样subversion会自动地编译、安装依赖库;若习惯性的先安装依赖库,后安装subversion,则依赖库的编译需要手动进行。

进入解压后的目录,执行

./configure --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2

其中,--with-apxs 用于生成apache httpd的mod_dav_svn和mod_authz_svn模块;--with-apr 和 --with-apr-util=参数指向 Apache 的安装根目录,而不是使用缺省的 SVN 安装包中自带的 apr ,否则如果你安装的 Apache 版本不同有可能导致 APR 库不匹配,出现类似:

Can't set position pointer in file '/svn/test/db/revs/1': Invalid argument 的错误。(同样可以通过  --prefix参数指定安装目录)

Configure完成后,执行makemake install命令完成安装。

Subversion编译完成后会自动在 /usr/local/apache2/conf/httpd.conf 添加

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

这两行,并且将生成的mod安装到apache2的modules目录。

 

3.创建repository

 

假设我们把版本库建立在/home目录下,那么执行mkdir repository新建版本库文件夹,

通过svnadmin create repository/test命令可创建名为test的版本库。

若创建成功,则subversion的安装便已成功完成。

 

这里,我使用了fsfs数据库格式,这是subversion目前的默认数据存储形式,如果想要使用Berkeley DB作为数据库格式,则需要在安装subversion之前安装Berkeley DB,并在编译subversion时使用—with-berkeley-db参数,然后可以使用

svnadmin create --fs-type bdb repository/test 命令来创建版本库。(关于两者的对比可参考Version Control with Subversion(中文书名为《使用subversion进行版本控制》)第5章)。

 

 

4.导入源代码

 

现在,我们已经有了一个可用的版本库了,接下来我们使用

mkdir –p import/{trunk,branches,tags} 命令在/home/svnroot目录下建立一个名为import的新文件夹,包含trunk、branches、tags 三个子目录,目录结构如下图所示。

至于为什么这么做,大家可以参考Version Control with Subversion第4章。

 

Some dir

        |---import

               |---trunk

               |---branches

               |---tags

 

下面这条语句将把路径/home/svnroot/import下的目录和文件导入到你创建的Subversion 仓库中去,

提交后的修订版为1。

svn import /home/svnroot/import file:///home/svnroot/repository/test –m "Init repository"

这里/home/svnroot/import可以使用相对路径,但file:///home/svnroot/repository/test必须以绝对路径表示。

 

 

5.版本库所有者和权限修改

 

目前,repository目录依然为root用户所有,默认权限为755,为了让用户能够通过apache正常读写该目录,我们需要先将该目录以及该目录的上层目录svnroot的所有权交给apache httpd(安装apache httpd的时候,会自动增加apache用户组和apache用户),然后为了安全起见,将repository和svnroot目录的权限都改为700,apache外其他用户就没有了该目录的任何权限了。

 

首先,打开apache配置文件/usr/local/apache2/conf/httpd.conf,确保将User和Group 设置为

User apache

Group apache

 

然后,进入/home目录,修改svn仓库的所有者

chown -R apache:apache svnroot

 

最后,修改该目录权限(不要在这里使用-R参数,apache用户需要对test下的文件有读写权限)

chmod 700 svnroot

chmod 700 svnroot/repository

 

 

至此,我们已经为subversion的使用做好了准备工作,有了一个可由apache进行读写的版本库,只要对apache稍加设置,我们便可以通过web来访问版本库了。结合httpd使用subversion时的身份认证和授权设置问题是需要特别注意的,我将在第二篇中详细说明。

 

Reference

1.       Version Control with Subversion 1.4(r2730)    Ben Collins-Sussman, Brian W. Fitzpatrick, and C. Michael Pilato

2.       Apache HTTP Server Version 2.2文档中文版   Apache Software Foundation  金步国译

3.       在Redhat9 Linux下安装,配置Subversion 1.3.1      Wooin  http://blog.csdn.net/wooin/archive/2006/07/11/903974.aspx

SVN_客户端服务端全套安装使用文档 SVN_客户端服务端全套安装包、eclips_ svn插件使用文档1.87版本 立即下载

相关推荐

subversion-1.4.4.tar.bz2 linux svn服务器的源码 安装 svn 必备靓码

subversion-1.4.4.tar.bz2 linux svn服务器的源码 安装 svn 必备靓码

LinuxSubversion客户端安装配置

LinuxSubversion客户端安装配置

test1280 1万+

linux平台下的svn,subversion-1.4.0.tar.bz2

linux平台下的svn,subversion-1.4.0.tar.bz2 1.安装说明,可参考 http://blog.sina.com.cn/s/blog_5dc960cd0100e8di.html

Linuxsubversion安装和使用

目录 1、Linuxsubversion下载... 3 2、Linuxsubversion安装... 6 2.1、查询系统之前安装的旧版本... 6 2.2、yum安装yum源默认版本... 7 2.3、yum安装自定义版本... 8 3、Linux上SVN服务端和客户端环境搭建... 13 3.1、服务端命令客户端命令... 13 3.2、版本库的创建删除... 13 ...

Aaron_Run的博客 1万+

Linux系统SVN安装安装subversion

一、下载SVN安装包 下载地址: http://subversion.apache.org/download#recommended-release 一般这个安装包都是最新的版本,点击这个就能下载下来,我下载的SVN版本是:subversion-1.14.0.tar.gz 二、上传安装 1、先在服务器创建一个目录,根据自己的需求和习惯创建到哪都可以 2、创建目录: mkdir -...

qq_40799877的博客 4010

Linux 搭建Subversion(SVN) 配置并使用详细教程 yum安装

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。 SVN优势 1.存储 SVN服务器既具有CVS所具有数据储存的优点,像是信息资源存储后会形成资源树结构,便于存储的同时,数据一般不会丢失,同时又拥有自己的特色。SVN是通过关系数据库及二进制的存储方式,同时解决了既往不能同时读写同一文件等问题,同时增添了自己特有的“零或一”原则。 2.速度 人们初始的CVS相比,SVN在速度

Vic的博客 2677

linphone编译(二) linux 下编译ffmpeg

ffmpeg最新版本,svn 下载不下来 编译选项更新

c_cacal的专栏 4889

Linux平台Subversion安装配置(一)

本文将介绍如何在Linux环境下(以Redhat9为例) 通过Subversion 来构建小组开发过程中最为重要的版本控制环境,包括Subversion 环境的安装配置,以及客户端的配置和使用。(某些操作,如make install需要root权限,简便起见,在没有特殊说明的情况下,下面的工作均使用root账户完成。)1. 安装Apache HTTP Server httpd是

1万+

Linux平台Subversion安装配置(二)

 接第一篇,本篇中将着重介绍subversionhttpd结合使用时身份认证和授权相关的内容。6.生成身份认证文件 身份认证文件保存用户的用户名和密码,用于确定用户身份。 执行以下命令来生成身份认证文件,位于/home/svnroot/repository,文件名为pwdfilehtpasswd -m /home/svnroot/repository/pwdfil

3840

subversion安装配置备忘录linux

subversion安装配置备忘录   前两天给公司安subversion,总是出问题,今天总结一下整个过程,以备将来遗忘.下边是我对在网上的一些文章的添加和补充基础上写的.我是安装windows版本的subversion,所以先把linux下的简介一下:1.下载httpd-2.0.*.tar.gz(http://www.apache.org)源代码包  2.下载Subversion

black_ben的专栏 1232

subversion安装配置备忘录

 前两天给公司安subversion,总是出问题,今天总结一下整个过程,以备将来遗忘.下边是我对在网上的一些文章的添加和补充基础上写的.我是安装windows版本的subversion,所以先把linux下的简介一下:1.下载httpd-2.0.*.tar.gz(http://www.apache.org)源代码包  2.下载Subversion-1.0.*.tar.gz(http://s

justin_hua的专栏 634

Subversion Edge配置手册

1、Subversion Edge下载 下载地址: http://www.collab.net/svnedge 2、Subversion Edge安装 2.1 windows安装 1、安装Subversion Edge 运行可执行文件Subversion Edge 3.2.1 (Windows 32-bit),默认安装到c盘即可。 2、配置java环境变量(若安装Subversion 

397

Subversion(SVN)安装使用指南

※简述※Subversion是近期在开源社区中非常流行的一款版本控制软件,它是CVS的替代产物。它的主要特征有: CVS大部分的功能。 支持“目录”级别的版本管理,并且解决了CVS中迟迟未能解决的文件重命名和移动等问题。甚至对文件或文件夹的属性都提供了版本管理。 “提交(commit)”实现了真正意义上的原子操作。也就是类似数据库中的事务的功能。

biran1980的专栏 960

CollabNet Subversion Extras Installer for Linux

<br />CollabNet Subversion Extras Installer for Linux<br /><br /> Version 1.4.6-3<br /> Release Date: January 4, 2008<br /> Readme Updated: May 6, 2008<br /><br /><br /> Contents<br /><br /> 1. Platform and configuration<br /> 2. Support for CollabNe

ccj1985的专栏 867

Linuxsubversion服务器的搭建

subversion的独立安装Linux上 1)以root用户执行如下命令: #tar xvzf subversion-1.6.16.tar.gz #tar xvzf subversion-deps-1.6.16.tar.gz #./configure --prefix=/opt/svn --without-berkeley-db --with-zl...

weixin_34239169的博客 125
上一篇: linux下SVN配置笔记
下一篇: Linux操作系统下配置subversion跟我来
神马云
博客等级 码龄16年 48粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值