目录:
一.安装apr跟apr-util
二.安装apache服务器
三. 安装subversion
四. 配置subversion
五. 配置apache的httpd.conf
六. 验证安装
七.导入数据到资料库
八.版本库服务器的同步(新加入的)
附:安装过程中遇到的问题

一.安装apr、apr-util跟zlib
1.下载apr跟apr-util
apr-1.3.3.tar.gz apr-util-1.3.4.tar.gz zlib-1.2.3.tar.gz
2.解压
   tar zvxf apr-1.3.3.tar.gz
   tar zvxf apr-util-1.3.4.tar.gz
   tar zvxf zlib-1.2.3.tar.gz
3.安装
   cd apr-1.3.3
   ./configure --prefix=/usr/local/apr
   make && make install

cd apr-util-1.3.4
   ./configure   --with-apr=/usr/local/apr
   Make && make install

cd zlib-1.2.3
   ./configure   --prefix=/usr/local/zlib
   Make && make install

二.安装apache服务器: 
1. 下载最新的apache 2.2.9
httpd-2.2.9.tar.gz
2.解压
tar zvxf htt-2.2.9.tar.gz
3. 安装
   ./configure \
“--prefix=/usr/local/apache2” \
“ --enable-so” \
“--enable-dav” \
“--with-apr=/usr/local/apr/bin/apr-1-config” \
“--with-apr-util=/usr/local/apr/bin/apu-1-config”
   make
   make install

注意:--prefix指定安装目录,注意一定要加--enable-so是核心能够装载DSO和--enable-dav是安装mod_dav_svn.so跟mod_authz_svn.so这两个模块
4.测试
   打开浏览器输入http://服务器ip   如果出现
It Works!
  Apache安装成功

三. 安装subversion
1. 下载最新的subversion-1.5.2
subversion-1.5.2.tar.gz
2. 安装
   ./configure \
“--prefix=/usr/local/subversion” \ 
“ --with-apxs=/usr/local/apache2/bin/apxs” \
“--with-apr=/usr/local/apr/bin/apr-1-config” \
“--with-apr-util=/usr/local/apr/bin/apu-1-config” \
“--with-ssl” \
“--with-zlib=/usr/local/zlib” \
“--enable-maintainer-mode”
make
make install

3. 为了方便使用subversion的命令,将subversion安装目录下的bin目录加入到Path中
vi /etc/profile
最后加入:
   SVN_HOME=/usr/local/subversion
PATH=$PATH:$SVN_HOME/bin:
export SUSBVERSION PATH

四. 配置subversion
1. 创建账号密码文件
htpasswd –c /data/svn/passwd.conf apache
输入密码,两次确认
   注意:第一次设置用户密码要加入 –c 这个参数,以后就可以不用了
2. 创建资料库
首先要创建一个资料库(我使用单资料库的方式),使用svnadmin增加资料库
cd /usr/local/subversion/bin
    ./svnadmin create /data/svn/svnroot/www
到www下看是不是多了文件,多了就是说明创建成功
3.创建权限文件
   Touch –p /data/svn/authz.conf
   vi authz.conf 
[groups]   #组
Admin = apache #admin组成员
[ggg:/] #版本库ggg的权限
@Admin = rw #admin组有读写的权限
test1 = rw #test1有读写的权限
[www:/] 
@Admin = rw
test2 = rw
   [/]
       * = r #svn父目录所有人都与读的权限
注意:最后的[/]这个要设置好了,这里面的权限设置可以让你对ggg和www的版本库有相同的权限,一般不要也行,个人建议不要

五. 配置apache的httpd.conf
打开apache的conf/httpd.conf,安装subversion后,apache的conf/httpd.conf文件会自动增加了模块
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

相应的so文件也自动copy到了apache/modules。这些工作就不用自己动手了。

需要自己动手修改apache下的httpd.conf最后增加以下内容
【参数说明见下面的图】

单个版本库:
<Location /svn>
DAV svn
SVNPath /data/svn/svnroot/www
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/passwd.conf  
AuthzSVNAccessFile /data/svn/authz.cong

Require valid-user
</Location>

多个版本库:
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /data/svn/svnroot
AuthType Basic
AuthName " Subversion repository "
AuthUserFile /data/svn/passwd.conf
AuthzSVNAccessFile /data/svn/authz.conf
Require valid-user
</Location>

注意:
(1) 单个版本库就是SVNPath /data/svn/svnroot/www跟./svnadmin create /data/svn/svnroot/www目录要一样,要不忙死你……【这个是对单个版本库】,多个版本库知道svn的主目录,我这就是 SVNParentPath /data/svn/svnroot
(2) AuthzSVNAccessFile是权限控制文件,单个版本库不需要,多个版本库要设置不同版本库的权限
(3) 目录svnroot目录的权限设置成755

注:下面的六、七是单个版本库测试的效果,多个版本库类似!

六. 验证安装
打开浏览器,输入地址为http://服务器ip/svn
出现登陆窗口,输入用户名跟密码,

如果可以正常打开如上页面则说明安装配置正常,可以正常使用了,在页面上可以看到由于目前资料库中没有内容,因此看到的内容为空。

七.导入数据到资料库
Cd /usr/local/subversion/bin
./svn import /要导入的目录 file:///data/svn/svnroot -m “说明文字”
重新打开浏览器,输入地址http://服务器ip/svn,输入用户名密码,出现

好了,成功!

八.版本库服务器的同步

   1.单版本库跟服务器目录的同步:
进入到版本库下的hooks下去
svn checkout file:///版本库的目录 /本地要取出的目录
   Cd /data/svn/svnroot/www/hookd
   Vi post-commit

#!/bin/sh
SVN=/usr/local/subversion/bin/svn
WEB=/data/www #web目录要更新同步的目录
$SVN update --username apache --passwd 123456 $WEB    #这里面的username跟password一定要有读写的权限

Chmod 757 post-commit #给它可执行的权利 
   2.多版本更服务器目录的同步
   进入到版本库下的hooks下去
svn checkout file:///版本库的目录 /本地要取出的目录
Cd /data/svn/svnroot/www/hookd
   Vi post-commit

#!/bin/sh
SVN=/usr/local/subversion/bin/svn
$SVN update --username apache --passwd 123456 /home    #里面的username跟password一定要有读写的权限

Chmod 757 post-commit #给它可执行的权利

注意:(红色字体一定要注意)
1.svn checkout file:///版本库的目录 /本地要取出的目录 ——>这步一定要做要不会同步修改的
2.目录位置一定要对应好了,要不出现问题累死……


附:安装过程中遇到的问题

1.编译subversion时出现少expat库
解决:下载expat-2.0.0.tar.gz安装皆可
2.安装subversion时,编译到最后会出现一段
configure: WARNING: we have configured without BDB filesystem support
大概是不能创建db格式的版本库
解决:这个没什么关系,一般不会有多大影响
3.安装subversion时,make没问题,make install时出现
/usr/local/src/subversion-1.5.2/subversion/svnversion/.libs/lt-svnversion: error while loading shared libraries: libexpat.so.1: cannot open shared object file: No such file or directory
意思是找不到libexpat.so.1这个文件
运行 whereis libexpat.so.1
libexpat.so: /lib/libexpat.so.0 /usr/local/lib/libexpat.so /usr/local/lib/libexpat.so.1
解决:vi   /etc/ld.so.conf
加入libexpat.so.1的目录 /usr/local/lib/ 保存退出
运行ldconfig
4.【这个问题是我创建单个版本库时遇到的】安装好了后,浏览器打开http://服务器ip/svn,登陆出现不了页面,出现:
<D:error> <C:error/> <m:human-readable errcode="2"> Could not open the requested SVN filesystem </m:human-readable> </D:error>
解决:这是httpd.conf里的<Locate svn>中的SVNPath指向错误没指到创建的资料库
    第四步的最后我强调的东西
5.这是开始安装时会出现的错误,安装subversion时会出现找不到arp的问题
解决:在编译subversion时加入
    --with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
6.插张访问方式跟服务器安装方式关系的介绍图:

http://hi.baidu.com/gyl4802959/blog/item/fcfe7e02cb737a094bfb5196.html

http://www.cnblogs.com/agileryan/archive/2011/04/05/2005922.html

centos下安装apache + subversion(转)相关推荐

  1. Linux/CentOS下安装Apache/SVN/Subversion图文详解教程

    Linux(CentOS)下安装Apache+Subversion(图文教程) 服务器版本和安装软件 服务器版本: RedHatCentOS 5.5 32 bit 安装软件: apr-1.3.5.ta ...

  2. 版本管理工具:CentOS下安装配置Subversion Edge 5.2.4(svn 1.8)

    这篇文章介绍一下使用官方的Subversion Edge在CentOS下安装和设定的方法. CollabNet + VersionOne 强强联合 2017年8月7日,CollabNet和Versio ...

  3. centos下安装apache+mysql5.7.13+php5.3.3+phpmyadmin4.0.10

    此处记录我学习中遇到的一些问题,可能并不具备参考价值,后期将会将会更新相关内容 1.phpmyadmin4.10.20安装包下载 下载地址:https://files.phpmyadmin.net/p ...

  4. linux下安装apache + subversionSVN_Subversion

    linux下安装apache + subversion 转自:http://anxiao322.blog.163.com/blog/static/12334124220097310455860/ 目录 ...

  5. 在CentOS下安装apche+tomcat+mysql+php

    在CentOS下安装apche+tomcat+mysql+php 本例中所用到的软件 Apache 2.2 Sun的JDK-1_5_0_12-linux-i586 MySQL: mysql-5.0.4 ...

  6. CentOS 7 安装Apache 2.4.39

    使用源码在CentOS 7下安装 apache 2.4.39,之前趟了一遍,简单做个笔记. STEP 1 安装apr STEP 1.1 检查是否安装apr [root@study ~]# yum li ...

  7. CentOS下与Apache连接的PHP多版本共存方案实现详解

    这篇文章主要介绍了CentOS下与Apache连接的PHP多版本共存方案实现,针对mod_fcgi模块的配置作了一些说明,需要的朋友可以参考下 在apache下整合fastCGI模式运行的php-fp ...

  8. CENTOS编译安装APACHE 2.4.6笔记

    之前服务器 Apache 版本一直是 2.2.x,鉴于 Centos 更新软件的惰性,我看直到 2014 年结束,apache 2.4 都不一定会出现在 Centos 中,我是不打算等了,编译安装吧. ...

  9. Centos编译安装Apache 2.4.6笔记 配置

    转载链接:http://www.onepx.com/centos-apache-246.html 之前服务器 Apache 版本一直是 2.2.x,鉴于 Centos 更新软件的惰性,我看直到 201 ...

最新文章

  1. Discuz! member.php xss bug
  2. linux 查看libusb版本,linux – 从使用libusb的设备读取问题
  3. 菜鸟之路-浅谈设计模式之单例设计模式
  4. office控件显示不了_计算机二级office考试重点难点总结,考生必看!
  5. FineUILearning
  6. JAVA进阶教学之(数字格式化和高精度数字)
  7. Android导航栏ActionBar的具体分析
  8. 带你看论文丨全局信息对于图网络文档解析的影响
  9. windows下 MongoDB 导入json文件
  10. proc文件系统、sysfs文件系统、kobject操作
  11. 免费的生成GIF和截屏的PC端小工具
  12. 实现px和vw的转换
  13. 嵌入式 - 瑞萨电子的并购交易
  14. 巴旦木即将成为农业的下一个“风口”河南巴旦木生态农业:值得期待
  15. 驱动人生带你全方位领略微软Windows 11的魅力
  16. 4、数据库逻辑结构设计阶段
  17. java 导出加密压缩包 设置 压缩包加密密码 并下载 (springboot+文件工具类)
  18. java的package与class与public
  19. 私有云一粒云盘的概述
  20. WEB漏洞-逻辑越权之登录脆弱及支付修改

热门文章

  1. 使用 .NET 框架轻松开发完美的 Web 窗体控件
  2. ubuntu vsftpd虚拟用户配置/ubuntu12.04上搭建vsftpd服务示例linux
  3. 一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现3
  4. 【Linux】延时函数sleep、usleep、nanosleep、select、pselect的比较
  5. 【Ubuntu】Ubuntu14.04添加163的源
  6. 男孩子学计算机和学医哪个好,你认为学医好还是读211大学的电子信息好?
  7. hadoop mysql mybatis_MyBatis简介与配置MyBatis+Spring+MySql
  8. ensp大型网络环境设计与实现_mongodb内核源码设计实现、性能优化、最佳运维系列-网络传输层模块源码实现三...
  9. Redis初学:9(Zset类型)
  10. Java项目:医院住院管理系统(java+SSM+jsp+mysql+maven)