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

安装前准备:

  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. electron 编译 sqlite3避坑指南---尾部链接有已经编译成功的sqlite3

    electron 编译 sqlite3避坑指南(尾部链接有已经编译成功的sqlite3) sqlite很好用,不需要安装,使用electron开发桌面程序,sqlite自然是存储数据的不二之选,奈何编 ...

  2. socket编程的网络协议

    "我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容" TCP/IP只是一个协议栈,就像程序运行一样,必须要实现运行,同时还要 ...

  3. 跨域请求方式之Jsonp形式

    在浏览器端才有跨域安全限制一说,而在服务器端是没有跨域安全限制的. 在两个异构系统(开发语言不同)之间达到资源共享就需要发起一个跨域请求. 而浏览器的同源策略却限制了从一个源头的文档资源或脚本资源与来 ...

  4. web资料收集

    Web安全资料:https://github.com/CHYbeta/Web-Security-Learning http://blog.pentestbegins.com/2017/07/21/ha ...

  5. lamp字符编码的转换规则

    1.lamp字符编码的转换规则 lamp(Linux+Apache+Mysql+PHP) 1.1GB 2312 GB 2312 或 GB 2312-80 是中国国家标准简体中文字符集,全称<信息 ...

  6. POJ2828 Buy Tickets [树状数组,二分答案]

    题目传送门 Buy Tickets Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 22611   Accepted: 110 ...

  7. Flask实战第51天:cms添加轮播图后端代码逻辑完成

    首先,我们需要给轮播图设计一张表,因为轮播图前端要展示,CMS要管理,所以我们在apps下新建个models.py 编辑apps.models.py from exts import db from ...

  8. java环境搭建的一些小知识

    1.Path配置的是可执行程序的路径,例如(java.exe.javac.exe),这些可执行程序一般在bin目录下,所以path一般配置的是在程序包的bin目录下,实现帮助操作系统操作java的目的 ...

  9. [BZOJ4000][TJOI2015]棋盘(状压DP+矩阵快速幂)

    题意极其有毒,注意给的行列都是从0开始的. 状压DP,f[i][S]表示第i行状态为S的方案数,枚举上一行的状态转移.$O(n2^{2m})$ 使用矩阵加速,先构造矩阵a[S1][S2]表示上一行为S ...

  10. [BZOJ3224]普通平衡树(旋转treap,STL-vector)

    3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 20328  Solved: 8979[Submit][St ...