开篇请允许我一段废话:公司最近用了台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.否则同样会出现以下错误.