Subversion 1.8.1编译安装(self)

时间:2024-04-29 23:38:07

Subversion 1.8中http客户端基于neon已经被移除,改用self。如果要支持http方式需要在安装svn前安装serf,安装serf推荐用serf-1.2.1,安装是./configure;serf-1.3.0安装是用scons(yum -y install scons)方式,安装serf-1.3.0后安装可能会报误,Google没找到解决方法,如下报错

checking for serf- library... no
checking for serf- library... no
checking was serf enabled... no An appropriate version of serf could not be found, so libsvn_ra_serf
will not be built. If you want to build libsvn_ra_serf, please
install serf 1.2. or newer. configure: error: Serf was explicitly enabled but an appropriate version was not found.

安装步骤:
本文只基于《LAMP一键安装包》之后进行
1. 安装apr、apr-unit

cd /root/lamp/source
#wget http://archive.apache.org/dist/apr/apr-1.4.8.tar.gz #LAMP中已经下载
#wget http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz
tar xzf apr-1.4.8.tar.gz
cd apr-1.4.8
./configure --prefix=/usr/local/apache
make && make install
cd ../ tar xzf apr-util-1.5.2.tar.gz
cd apr-util-1.5.2
./configure --prefix=/usr/local/apache
make && make install
cd ../

2. 安装serf-1.2.1

yum -y install expat-devel
wget http://serf.googlecode.com/files/serf-1.2.1.tar.bz2 #serf-1.2.1.zip是win版有问题
tar xjf serf-1.2.1.tar.bz2
cd serf-1.2.1
./configure --prefix=/usr/local/serf --with-apr=/usr/local/apache --with-apr-util=/usr/local/apache
make && make install
cd ..

3. 安装svn

tar xzf subversion-1.8.1.tar.gz
cd subversion-1.8.1
./get-deps.sh
./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs \
--with-apr=/usr/local/apache --with-apr-util=/usr/local/apache --with-zlib \
--with-openssl --enable-maintainer-mode --with-serf=/usr/local/serf --enable-mod-activation
make && make install
cd ..

4. 检查是否安装成功
安装成功会在/usr/local/apache/conf/httpd.conf自己加入下面2行

LoadModule dav_svn_module     /usr/local/subversion/libexec/mod_dav_svn.so
LoadModule authz_svn_module /usr/local/subversion/libexec/mod_authz_svn.so

检查svn是否支持http方式:

# svn --version
svn, version 1.8.1 (r1503906)
compiled Aug 2 2013, 11:36:48 on x86_64-unknown-linux-gnu Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/ The following repository access (RA) modules are available: * ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- handles 'http' scheme
- handles 'https' scheme

配置svn请参考:http://blog.linuxeye.com/95.html

原文:http://blog.linuxeye.com/348.html