在Linux下,SVN服务器的安装

开篇请允许我一段废话:公司最近用了台linux做服务器,还要做版本控制来控制共享文件以及程序。也许,这在软件公司可能是司空见惯的事情,但是对于一个面向物流机械制造以及工控的国企来说,也许是一个不小的改进了。负责服务器支持以及版本控制的事情自然落到我的身上。首先,我想到的是利用大学里学过的CVS,本来Windows上很简单的事情,但是到了Linux上,一切就变得麻烦了。按照网上的教程走,CVS服务器的安装与启动都ok,但该死的init命令死活不过,老是说2702端口拒绝访问,对此上网查了,不少人碰到,但没有一个人真正提出解决方案的。于是乎,在网上看到了一个解决方案——SVN,救星啊。比之CVS好伺候多了。

言归正传,下面开始介绍在Linux下,SVN服务器的安装,安装的是网上目前最新的1.5.5版本

方案一:以下内容我参照了网上的相关安装手册,感谢原作者的辛勤劳动:

以root用户登陆系统。

(1)安装Apache

#cd httpd-2.2.11#./configure --enable-dav --enable-so --enable-maintainer-mode

#make

#make install

/*注意当安装Berkeley DB是提供了版本库的一种存储格式,Berkeley DB是Oracle提供的一种嵌入式数据库格式,不装也不所谓,而且重要的是与Apr-util相冲突!*/

安装Berkeley DB

#cd db-4.4.20 /build_unix/

#../dist/configure --prefix=/usr/local/bdb

#make

#make install

(2)解压subversion-deps-1.5.5.tar.gz

内含apr、apr-util、neon、serf、zlib四个包

安装neon、serf、zlib——1)./configure 2)make 3)make install

安装apr :

./configure --prefix=/usr/local/apr

make && make install

安装apr-util

./configure --with-apr=/usr/local/apr

注意:./configure前要先cd到压缩包解压后的目录内

安装Subversion(不用BerkeleyDB)

#tar -zxvf subversion-1.2.3.tar.gz

#cd subversion-1.2.3

#./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

#make

#make install

/* 你可以用以下命令检验subversion是否安装成功 */

#svnadmin --version

顺便说一下:linux下的创建目录、用户、组、修改权限等等,都是可以在linux的窗体系统中直接操作的,类似win32。

——————————————————————————华丽的分割线————————————————————————————————

http://www.subversion.org.cn/?action-viewnews-itemid-85下载最新的版本,subversion-1.5.5与subversion-deps-1.5.5必须都下载,而且要先安装subversion-deps-1.5.5,两者关系经我查阅是如下的关系(再次转载,谢谢原创者的贡献):

subversion服务器是不需要apache的,但是可以使用apache,视具体情况来选择。

1、如果只要通过file://或svn://来访问,则不需要apache,只安装svn即可,使用svnserve来作为服务。

2、如果你要建立一个可以通过http://或https://来访问的版本库服务器,则你需要使用apache。

基于apache配置,请看http://bbs.iusesvn.com/thread-158-1-1.html 。

客户端

在windows下,不管你要访问的是什么类型的服务器,只要安装一个TortoiseSVN就可以了,开发者已经帮你搞定一切。

在类Linux系统下,如果你通过file://或svn://来访问,则只要编译安装svn就可以,

如果通过http://访问,则要同neon编译,

如果通过https://访问,则要同带ssl支持的neon编译,

不论怎样,都要同apr和apr-util编译。

neon、apr、apr-util也很容易获得,目前发布的subversion代码都会有一个叫做subversion-deps-xxx的文件,比如1.4.3的就是subversion-deps-1.4.3.tar.bz2

——————————————————————————华丽的分割线————————————————————————————————

1) BerkeleyDB 版本不能大于 4.3.否则同样会出现以下错误.

configure: error: APR-UTIL was installed independently, it won’t be

possible to use the specified Berkeley DB: /usr/local/BerkeleyDB.4.4

主要是apr-util 暂时不支持4.4的版本.(我当时用的4.7.25,当然不行啦。以上原因参考网络教程)

2)提示configure: WARNING: we have configured without BDB filesystem support

大概是不能创建db格式的版本库;就是BerkeleyDB 没装,没关系采用filesystem一样保存