题记:第一次写如此实践类的博文,都是亲身经历,折腾了大半天,仅记录供参考。(新手实践,有错误之处欢迎纠正。)

安装前准备:

  1.已安装JDK1.7,并配置好环境变量。

  2.已安装apr、apr-util、apr-iconv(可选),我全部安装在/usr/local/apr目录下。

  3.已安装Apache HTTP Serve,我安装在/usr/local/httpd目录下。

  4.下载scons-2.3.1-1.noarch.rpm、serf-1.3.4.tar.bz2、subversion-1.8.8.tar.gz。

解释:subversion-1.8 需要使用serf软件包支持访问http协议的版本库。

     subversion源码包解压后自带的serf,我configure成功后make报错,折腾了老半天没解决(可能是我的系统依赖包/库lib的问题);我就重新下载了serf-1.3.4,但新版的只支持scons编译安装,所有就绕了一大圈。你可以直接使用subversion提供的serf试试。

    apr 和 apr-util 就不说了,很多软件依赖的。

安装过程:(解压及切换目录就不详写了)

可以先切换至 subversion-1.8.8 解压的目录下,用如下命令查看下依赖:

 # ./get-deps.sh

缺少的可以直接进入subversion目录下自带的依赖包源码编译安装,或自行单独安装。

安装scons:

 # rpm -ivh scons-2.3.-.noarch.rpm

安装serf:

 # scons PREFIX=/usr/local/serf APR=/usr/local/apr APU=/usr/local/apr
# scons install
# scons -c

安装subversion:

 # 先编译,参数路径可根据实际情况自行调整
# ./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --enable-mod-activation --with-apache-libexecdir=/usr/local/httpd/modules --with-apxs=/usr/local/httpd/bin/apxs --with-serf=/usr/local/serf
# 仔细查看编译输出,确认无误后make安装
# make && make install

准备充分顺利的话上面的命令就可以成功搞定了,我在编译后出现一些警告,一些提示未加载之类的信息,自行百度解决了。

ps:

1. 可以通过:

 # ./configure --help

查看编译时候可添加的参数信息,根据需要自行添加。

2. subversion源码里自带了 mod_authz_svn、mod_dav_svn,无需另外独自安装,很方便;可以在编译时指定参数加载到Apache下,安装完成后可以查看Apache的modules目录下的模块文件和配置文件确认已加载svn模块。

安装到此结束,我打算查看下svn版本时候又出问题了:

 # 切换至svn安装目录查看版本信息
# ./svn --version
# 报错,提示 libserf-1.so 找不到
./svn: error while loading shared libraries: libserf-1.so.1: cannot open shared object file: No such file or directory

显然是由于安装的 serf 库文件未被找到,可以通过以下办法解决:

 # 在系统 ld.so.conf.d 目录下新建conf文件
# vi /etc/ld.so.conf.d/serf-1.3.4.conf
# 添加serf的库目录路径 /usr/local/serf/lib
# 保存退出
# /sbin/ldconfig -v

再次看下svn版本:

 # ./svn --version

 svn,版本 1.8.8 (r1568071)
编译于 Mar 23 2014,16:50:59 在 x86_64-unknown-linux-gnu
版权所有 (C) 2013 Apache 软件基金会。
此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。
Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。
可使用以下的版本库访问模块:
* ra_svn : 使用 svn 网络协议访问版本库的模块。
- 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- using serf 1.3.4
- 处理“http”方案
- 处理“https”方案

可以看到svn支持http、https 访问。

查阅文档,发现安装 serf 的时候可以把库文件直接安装到系统目录下/usr/lib64,使用参数:LIBDIR=/usr/lib64,可以试试,这样就不会提示 libserf-1.so找不到的问题。

svn的配置这里就不详说了。

CentOS 6.5 源码安装subversion-1.8.8,附加mod_dav_svn模块的更多相关文章

  1. CentOS 7下源码安装MySQL 5.7

    网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...

  2. centos 6.4 源码安装php5.4 mysql5.5 apahce2

    centos 6.4 源码安装php5.4 mysql5.5 apahce2 博客分类: php   参考:http://blog.csdn.net/simpleiseasy/article/deta ...

  3. CentOS 7下源码安装MySQL 5.6

    本文转载,并非原创. 目录 准备工作 运行环境 确认你的安装版本 下载MySQL 安装MySQL 准备安装环境 编译和安装 配置MySQL 单实例配置 单实例配置方法 添加防火墙 启动MySQL 重启 ...

  4. centos精简系统 源码安装客户端git

    CentOS的yum源中git版本比较低,需要最新版本git,只能自己编译安装,现在记录下编译安装的内容,留给自己备忘. 对于精简型的centos系统,会缺少很多依赖包和插件,要源码安装客户端git, ...

  5. CentOS 6.4 源码安装MySQL 5.6

    1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本. ...

  6. 阿里云centos postgresql9.4源码安装 精简步骤、问题解答

    阿里云centos环境源码安装postgresql9.4 本文的安装步骤主要来源于http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.ht ...

  7. CentOS 6.3 源码安装LAMP(Linux+Apache+Mysql+Php)环境

    一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而>言都是在它所 ...

  8. CentOS 6.8 源码安装mysql 5.6

    一:卸载旧版本 rpm -qa | grep mysql rpm -e mysql #普通删除模式 rpm -e --nodeps xxx(xxx为刚才的显示的列表) # 强力删除模式,如果使用上面命 ...

  9. CentOS 7.2 源码安装Python3.6

    1.环境 安装CentOS 7.2最小系统(CentOS-7-x86_64-Minimal-1511.iso) 2.需求 Python-3.6.4.tar.xz(官网下载) GCC(yum安装) 一堆 ...

随机推荐

  1. GT-----如何做Android应用流量测试?

    1.如何判断一个应用的流量偏高? 如果看流量的绝对值看不出高低,那就找几个同类型的产品对比一下,如果完成同样的事物,被测应用比同类产品高很多,那就偏高了,可能有优化的空间. 2.如何找到有效的优化点? ...

  2. 开始学习NodeJs, javascript, 算法

    我的技术路线是C.C++.C#.PHP,什么都做过,很杂,总想着该怎么继续下去. 最近突然发现了NodeJs,觉得很适合我. 学习环境定在了Ubuntu下,编辑软件选择了WebStorm7. 经过几天 ...

  3. 轻松学习LINUX系列教程推出

    本系列多媒体教程已完成的博文: 1.轻松学习Linux之入门篇 http://chenguang.blog.51cto.com/350944/449214 2.轻松学习Linux之本地安装系统 (分区 ...

  4. 关于xargs cp中,如何确定拷贝的源和目的

    来源: http://bbs.chinaunix.net/thread-1022095-1-1.html Seker: find . -name "*" |xargs cp ??? ...

  5. 跨域请求httpclient

    httpclient:是Apache工具包,util,它可以作为一个爬虫,直接爬取某个互联网上的页面.获取到时页面最终的源文件html.直接可以获取页面返回json.就可以直接在代码内部模拟发起htt ...

  6. 一款你不容错过的Laravel后台管理扩展包 —— Voyager

    http://laravelacademy.org/post/6401.html  Posted on 2016年11月1日 by  学院君 1.简介 Voyager是一个你不容错过的Laravel后 ...

  7. Codeforces Round #423 A Restaurant Tables(模拟)

    A. Restaurant Tables time limit per test 1 second memory limit per test 256 megabytes input standard ...

  8. IoC控制反转和DI依赖注入

    控制反转(Inversion of Control,英文缩写为IoC)是框架的重要特征,并非面向对象编程的专用术语.它与依赖注入(Dependency           Injection,简称DI ...

  9. 《深入浅出Nodejs》笔记——模块机制(1)

    前言 这是我读<深入浅出Nodejs>的笔记,真是希望我的机械键盘快点到啊,累死我了. CommonJS规范 主要分为模块引用.模块定义.模块标识三个部分. 模块引用 上下文提供requi ...

  10. Linux基础系列-Day5

    网络管理 ifconfig网络管理工具 ifconfig依赖于命令中使用一些选项属性,不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置,但是通过ifconfig修改的通常为临时配置,即系统 ...