64位系统升级subversion服务器手记

好东西就要转。。。html

原文地址:http://www.zhuyanbin.com/?p=74sql

由于咱们的svn服务器的版本过低(1.4.2版本),而咱们须要用到1.6以上版本的目录合并功能,所以,须要对咱们的svn服务器进行了升级。按照之前的安装方法进行了安装,发现出了很多问题。apache

缘由是之前安装的时候操做系统是32位的系统,这次安装的为64位的系统。服务器

再次记录上这次成功安装的步骤:oracle

 1. 下载、编译和安装openssl [可选] ide

若是想让svn服务器支持https等加密的ssl连接,须要编译此模块
[flavorzhu@self ~]$ wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz
[flavorzhu@self ~]$tar -zxvf openssl-1.0.0d.tar.gz
[flavorzhu@self ~]$cd openssl-1.0.0d
[flavorzhu@self ~]$./config –prefix=/usr/local/openssl
[flavorzhu@self ~]$sudo make  && make install

2. 下载、编译和安装apachesvn

[flavorzhu@self ~]$wget http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.2.19.tar.gz
[flavorzhu@self ~]$tar  -zxvf  httpd-2.2.19.tar.gz
[flavorzhu@self ~]$cd httpd-2.2.19
[flavorzhu@self ~]$./configure –prefix=/usr/local/apache \
–enable-lib64 \
–enable-mods-shared=all
[flavorzhu@self ~]$ sudo make && make install
3. 下载、编译和安装 BerkeleyDB
好比我下载的是4.8.24版本
[flavorzhu@self ~]$tar -zxvf db-4.8.24.tar.gz
[flavorzhu@self ~]$cd db-4.8.24/build_unix/
[flavorzhu@self ~]$../dist/configure –/usr/local/BerkeleyDB.4.8
[flavorzhu@self ~]$sudo make && make install
将Berkeley DB的.so加入到ld.so.conf中
[flavorzhu@self ~]$sudo  echo /usr/local/BerkeleyDB.4.8 >> /etc/ld.so.conf
[flavorzhu@self ~]$sudo /sbin/ldconfig
svn的存储有Berkeley DB(2001年开始支持) 和 FSFS(2004年开始支持)系统两种存储,默认使用的是FSFS模式的(若是没有安装Berkeley DB)。
4. 下载、编译和安装subversion依赖包
[flavorzhu@self ~]$wget  http://subversion.tigris.org/downloads/subversion-deps-1.6.16.tar.gz
[flavorzhu@self ~]$tar zxvf subversion-deps-1.6.16.tar.gz
[flavorzhu@self ~]$cd subversion-1.6.16
4.1 安装apr
注:Apache Portable Runtime
[flavorzhu@self ~]$cd apr
[flavorzhu@self ~]$./configure –prefix=/usr/local/apache LDFLAGS=”-L/lib6″
[flavorzhu@self ~]$sudo make && make install
4.2 编译和安装apr-util
[flavorzhu@self ~]$cd apr-util
[flavorzhu@self ~]$./configure –prefix=/usr/local/apache –with-apr=/usr/local/apache LDFLAGS=”-L/lib64″ –with-berkeley-db=/usr/local/BerkeleyDB.4.8
[flavorzhu@self ~]$sudo make && make install
4.3 编译和安装neon
注:neon是使得svn客户端支持http和https协议的关键模块
[flavorzhu@self ~]$cd neon/
[flavorzhu@self ~]$./configure –prefix=/usr/local/neon –enable-shared –enable-ssl –with-ssl=openssl LDFLAGS=”-L/lib64″
[flavorzhu@self ~]$sudo make && make install
4.4 编译和安装serf
[flavorzhu@self ~]$cd serf/
[flavorzhu@self ~]$./configure –prefix=/usr/local/serf –with-apr=/usr/local/apache –with-apr-util=/usr/local/apache –with-openssl=/usr/local/openssl LDFLAGS=”-L/lib64″
[flavorzhu@self ~]$sudo make && make install
4.5 编译和安装zlib
[flavorzhu@self ~]$cd zlib/
[flavorzhu@self ~]$./configure –prefix=/usr/local/zlib
[flavorzhu@self ~]$sudo make && make install
4.6 下载、编译和安装subversion
[flavorzhu@self ~]$wget  http://subversion.tigris.org/downloads/subversion-1.6.16.tar.gz
[flavorzhu@self ~]$tar zxvf subversion-1.6.16.tar.gz
[flavorzhu@self ~]$ cd subversion-1.6.16
将subversion依赖包中的sqlite-amalgamation拷贝到subversion-1.6.16里
[flavorzhu@self ~]$./autogen.sh
[flavorzhu@self ~]$./configure  –with-ssl –with-zlib=/usr/local/zlib –with-apr=/usr/local/apache –with-apr-util=/usr/local/apache –with-serf=/usr/local/serf –with-neon=/usr/local/neon LDFLAGS=”-L/lib64″
[flavorzhu@self ~]$sudo make && make install
注:在make以前检查一下,subversion里的Makefile的BerkeleyDB的lib包使用引用正确的版本,具体搜索一下, 好比个人是“-ldb-4.8”
配置apache
修改httpd.conf,增长以下代码
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath  /absolute/path/to/repository
AuthzSVNAccessFile  /my/svn/user/authz.conf
AuthType Basic
AuthName “Subversion”
AuthUserFile  /my/svn/user/passwd/file
Require valid-user
</Location>
 
5. subversion仓库的升级
5.1 方法一 upgrade方式
svnadmin upgrade / path/to/repository
5.2 方法二 dump/load方式
svnadmin dump your- repository > repository.dump
svnadmin create your- repository
svnadmin load your- repository < repository.dump
通过测试,使用dump/load方式比较靠谱,无论你使用那种方式升级你的仓库,操做以前备份你的仓库都是不可省略的步骤。
相关文章
相关标签/搜索