CentOS 6.5 源码安装subversion-1.8.8,附加mod_dav_svn模块
题记:第一次写如此实践类的博文,都是亲身经历,折腾了大半天,仅记录供参考。(新手实践,有错误之处欢迎纠正。)
安装前准备:
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模块的更多相关文章
- CentOS 7下源码安装MySQL 5.7
网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...
- centos 6.4 源码安装php5.4 mysql5.5 apahce2
centos 6.4 源码安装php5.4 mysql5.5 apahce2 博客分类: php 参考:http://blog.csdn.net/simpleiseasy/article/deta ...
- CentOS 7下源码安装MySQL 5.6
本文转载,并非原创. 目录 准备工作 运行环境 确认你的安装版本 下载MySQL 安装MySQL 准备安装环境 编译和安装 配置MySQL 单实例配置 单实例配置方法 添加防火墙 启动MySQL 重启 ...
- centos精简系统 源码安装客户端git
CentOS的yum源中git版本比较低,需要最新版本git,只能自己编译安装,现在记录下编译安装的内容,留给自己备忘. 对于精简型的centos系统,会缺少很多依赖包和插件,要源码安装客户端git, ...
- CentOS 6.4 源码安装MySQL 5.6
1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本. ...
- 阿里云centos postgresql9.4源码安装 精简步骤、问题解答
阿里云centos环境源码安装postgresql9.4 本文的安装步骤主要来源于http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.ht ...
- CentOS 6.3 源码安装LAMP(Linux+Apache+Mysql+Php)环境
一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而>言都是在它所 ...
- CentOS 6.8 源码安装mysql 5.6
一:卸载旧版本 rpm -qa | grep mysql rpm -e mysql #普通删除模式 rpm -e --nodeps xxx(xxx为刚才的显示的列表) # 强力删除模式,如果使用上面命 ...
- 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安装) 一堆 ...
随机推荐
- js string trim实现
String.prototype.trim = function() { var str = this, whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u20 ...
- python笔记二:常用数据类型操作
1.切片:常用于取list或tuple的部分元素的操作 1)l=[1,2,3,4,5,6] l[:3]表示取前3个值,l[1:5]表示1到5个值, L[-3:]从列表最后往前数即最后3个数.... 2 ...
- ZOJ 3949 Edge to the Root(想法)(倍增)
Edge to the Root Time Limit: 1 Second Memory Limit: 131072 KB Given a tree with n vertices, we ...
- bWAPP练习--injection篇之HTML Injection - Reflected (GET)
什么是Injection? injection,中文意思就是注入的意思,常见的注入漏洞就是SQL注入啦,是现在应用最广泛,杀伤力很大的漏洞. 什么是HTML injection? 有交互才会产生漏洞, ...
- Python开发基础-Day2-流程控制、数字和字符串处理
流程控制 条件判断 if单分支:当一个“条件”成立时执行相应的操作. 语法结构: if 条件: command 流程图: 示例:如果3大于2,那么输出字符串"very good" ...
- ProxyStrike运行bug解决办法
ProxyStrike运行bug解决办法 由于curl中参数CURLOPT_SSL_VERIFYHOST的值取消原有的值1,导致ProxyStrike无法正常运行.所以,要运行该工具,需要手动修改/ ...
- [Arc074E] RGB Sequence
[Arc074E] RGB Sequence Description 今天也在愉快地玩Minecraft!现在MM有一块1?N的空地,每个格子按照顺序标记为1到N.MM想要在这块空地上铺上红石块.绿宝 ...
- 【Matrix-tree定理】【BEST Theorem】hdu6064 RXD and numbers
题意:给你一张有向图,求从1出发,回到1的欧拉回路数量. 先特判掉欧拉回路不存在时的情况. 看这个吧:http://blog.csdn.net/yuanjunlai141/article/detail ...
- 【Trie】MIPT-2016 Pre-Finals Workshop, Taiwan NTU Contest, Sunday, March 27, 2016 Problem B. Be Friends
题意:一个n个点的完全图,点带权,边权是两端点点权的异或值.问你最小生成树. 一个性质,把所有点按照二进制最高位是否为1划分为2个集合,那么这两个集合间只会有一条边.可以递归处理. 把所有点建成01T ...
- 【树形dp】Codeforces Round #405 (rated, Div. 1, based on VK Cup 2017 Round 1) B. Bear and Tree Jumps
我们要统计的答案是sigma([L/K]),L为路径的长度,中括号表示上取整. [L/K]化简一下就是(L+f(L,K))/K,f(L,K)表示长度为L的路径要想达到K的整数倍,还要加上多少. 于是, ...