开篇请允许我一段废话:公司最近用了台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.否则同样会出现以下错误.
possible to use the specified Berkeley DB: /usr/local/BerkeleyDB.4.4
主要是apr-util 暂时不支持4.4的版本.(我当时用的4.7.25,当然不行啦。以上原因参考网络教程)
大概是不能创建db 格式的版本库;就是BerkeleyDB 没装,没关系采用filesystem一样保存