在搭建之前先准备好如下包,建议去apache官网去下载:http://httpd.apache.org/

apr-1.4.6.tar.gz
apr-util-1.4.1.tar.gz
httpd-2.2.16.tar.gz
openssl-1.0.0a.tar.gz
subversion-1.6.1.tar.gz
subversion-deps-1.6.1.tar.gz
neon-0.30.1.tar.gz
expat-2.1.1.tar.bz2

以上所有的压缩包下载下来之后,建议统一放在一个目录,例如我是放在:/home/svn_apachetool

搭建的流程是:先安装httpd,然后再安装subversion,然后再进行配置,具体按照如下步骤进行

一、安装apr-1.4.6.tar.gz
#tar -zvxf apr-1.4.6.tar.gz
#cd apr-1.4.6
#./configure --prefix=/usr/local/apr
#make && make install

二、安装apr-util-1.4.1.tar.gz
#tar -zvxf apr-util-1.4.1.tar.gz
#cd apr-util-1.4.1
#./configure --with-apr=/usr/local/apr/
#make && make install

三、安装httpd-2.2.16.tar.gz
#tar -zvxf httpd-2.2.16.tar.gz
#cd httpd-2.2.16
#./configure --prefix=/usr/local/apache --enable-dav --enable-so --enable-headers --enable-expires --enable-mods-shared=all --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config
#make && make install
安装好后启动apache服务:
# /usr/local/apache/bin/apachectl –k start
用浏览器查看http://localhost/,如果显示it works,说明apache已经配置成功了。

四、安装subversion-1.6.1
1. 首先安装openssl-1.0.0a.tar.gz
#tar -zxvf openssl-1.0.0a.tar.gz
#cd opennssl-1.0.01a
#./config --prefix=/usr/local/ssl
#./config -t
#make depend
#make && make install

2. 解压subversion-1.6.1.tar.gz和ssubversion-deps-1.6.1.tar.gz到同一个目录下。
#tar zxvf subversion-1.6.1.tar.gz
#tar zxvf subversion-deps-1.6.1.tar.gz

3. 替换subversion中的neon,并安装。
#tar -zxvf neon-0.30.1.tar.gz
#mv neon-0.30.1.tar.gz neon
#cd subversion-1.6.1
#rm -rf neon
#cp -r .../neon  ./
#cd neon
#./configure
#make && make install

4. 删除subversion1.6.1中的apr和apr-util目录
#cd subversion-1.6.1
#rm -rf apr
#rm -rf apr-util

5. 编译和安装subversion1.6.1中的zlib
#cd ./subversion-1.6.1/zlib
#./configure
#make && make install

6. 安装expat-2.1.1.tar.bz2
#tar zxvf expat-2.1.1.tar.bz2
#cd expat-2.0.1
#./configure
#make && make install

7. 配置和编译subversion1.6.1
#./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-openssl=/usr/local/ssl --with-zlib=/home/svn_apachetool/subversion-1.6.1/zlib/ --enable-maintianer-mode
#make && make install

8.建立和导入版本库
[root@localhost /]# cd /usr/local/subversion/bin/
[root@localhost bin]# mkdir /repo
[root@localhost bin]# ./svnadmin create --fs-type fsfs /repo/te
[root@localhost bin]# ls /repo/te/
//如果ls /repo/te/ 出现了下面的内容,就说明subversion安装成功了.
conf dav db format hooks locks README.txt

导入版本库
[root@localhost bin]# ./svn import /root/test/ file:///repo/te/ -m "initial import"

提交后的修订版为 1。

9.修改目录权限
[root@localhost bin]# cd /repo/te/
[root@localhost te]# chmod -R 777 *

10.修改Apache的配置文件
1).打开vim /usr/local/apache/conf/httpd.conf文件
2).修改httpd.conf文件,在文件的最后添加下面几行
<Location /svn>
DAV svn
SVNParentPath  /repo
</Location>
3).保存退出

上面指定的是,SVN不需要权限,即任何匿名用户都可以访问、修改、提交
在实际使用当中,需要有权限控制才行,因此,配置文件需要如下详细配置:

进入cd /usr/local/apache/bin 目录,建立用户组和用户文件 当然也可以是在其它文件夹

建立用户组文件:
# touch authz

在authz文件中写入如下内容,下面代码说明用户组admin有lyd,zzq两个用户,admin组对[/]表示根目录具有读写权限 r代表读 w代表写:

[groups]
admin = lyd,zzq
[/]
@admin = rw

创建用户,这里的用户需要在上面的用户组里面,才能有相应的权限:
htpasswd -cm pwd.txt lyd 第一次创建,加上 -cm 参数,需要创建用户文件pwd.txt,当然你也可以用别名字或后缀名

htpasswd pwd.txt zzq 第二次创建,因为第一次已经创建了用户文件,所以只需要在用户文件中直接添加用户即可

修改apache/conf/httpd.conf文件,在最后添加下面代码,指定SVN的版本库位置及刚才创建的,权限需要使用的文件

<Location /svn>

DAV svn

SVNParentPath /repo/
AuthzSVNAccessFile /usr/local/apache/bin/authz
AuthType Basic
AuthName "Subversion.TOM"
AuthUserFile /usr/local/apache/bin/pwd.txt
Require valid-user


</Location>

11.重启apache服务.
[root@localhost bin]# cd /usr/local/apache/bin/
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
或者直接 restart

起动SVN
/usr/local/subversion/bin/svnserve -d -r /repo

12.测试

在window下,检出项目,如下:

点击ok,输入用户名和密码,如果可以检出成功,到此搭建完毕

linux下Apache+Svn环境搭建(五)的更多相关文章

  1. ​Linux下的SVN服务器搭建

    ​Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...

  2. Linux下的SVN服务器搭建(转)

    Linux下的SVN服务器搭建   鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此 ...

  3. Windows下的SVN环境搭建详解

    前言:最近因为要和其他人合作开发项目,所以花时间搭建了SVN的环境. 因为是初次使用SVN,对于SVN的环境搭建很不熟悉,再加上网上的教程都介绍的比较粗略,导致前前后后重做了几次. 当然最终是搭建成功 ...

  4. Linux下的SVN服务器搭建

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...

  5. Linux下PHP+Nginx环境搭建

    PHP+Nginx环境搭建 作者:王宇阳( Mirror )^_^ 参考文章: ​ Nginx+PHP+MySQL安装参考 ​ PHP源码安装经验 ​ PHP源码环境搭建过程中常见问题 CentOS环 ...

  6. HDP2.0.6+hadoop2.2.0+eclipse(windows和linux下)调试环境搭建

    花了好几天,搭建好windows和linux下连接HDP集群的调试环境,在此记录一下 hadoop2.2.0的版本比hadoop0.x和hadoop1.x结构变化很大,没有eclipse-hadoop ...

  7. Linux下安装python3环境搭建

    Linux下python3环境搭建 Linux安装软件有哪些方式? rpm软件包 手动安装 拒绝此方式 需要手动解决依赖关系 yum自动化安装 自动处理依赖关系 非常好用 源代码编译安装,可自定义的功 ...

  8. Linux下Java开发环境搭建—CentOS下Eclipse的安装教程

    据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...

  9. Linux下golang开发环境搭建

    对于golang开发来说,Windows下可以用vscode或者liteide都不错,但是Linux下的开发也就只有vim了,所以怎么搞笑的利用vim进行golang开发呢? 参考官方推荐的一个插件: ...

随机推荐

  1. CPP-网络/通信:用CMarkup类操纵XML

      首先到http://www.firstobject.com/下载CMarkup教学版,解压后里面是一个DEMO,将Markup.h .cpp拷贝并添加到工程中,第一次编译可能会出现预编译错误,解决 ...

  2. Unity调用Windows窗口句柄,选择文件和目录

    T:2019-6-25 10:06:59 C:Scatt Kang using System; using System.Collections; using System.Collections.G ...

  3. Python——函数入门(一)

    一.理解函数 举一个例子,当我们需要重复使用一个功能的时候,不可能每次都去复制一次代码,这个时候就需要用到函数了,所谓的函数,简单来说就是给函数取一个名字,当需要用到这个功能的时候,就可以通过这个名字 ...

  4. Bootstrap历练实例:标签页内的下拉菜单

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  5. TreeMap 底层是红黑树 排序是根据key值进行的 添加元素时异常 Comparable异常 Comparator比较自定义对象放在键的位置

    package com.swift; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; ...

  6. [已解决] odoo12 菜单不显示,安装后多出菜单

    描述:odoo11中自定义模块写的,除了res.partner,res.users使用odoo自带的.其他的写了一个中国城市l10n_cn_city模型,一个账单模型(继承l10n_cn_city). ...

  7. deque 用法

    引用博客:https://blog.csdn.net/zyq522376829/article/details/46801973 下面是那位大佬写的的笔记整理~~~~ deque - 双向队列 1.构 ...

  8. matplotlib绘图(四)

    控制文字属性的方法: 所有的方法都会返回一个matplotlib.text.Text对象  文本注释: annnotate() xy参数设置箭头指示的位置,xytext参数设置注释文字的位置 arro ...

  9. Ubuntu安装sogou拼音输入法

    1.更新系统:sudo apt-get update 2.更新相关依赖 sudo apt-get install fcitx -f 2.安装fcitx:sudo apt-get install fci ...

  10. 20181210(os,os.path,subprocess,configparser,shutil)

    1.os模块 os表示操作系统,该模块主要处理与操作系统相关的操作.最常用的是文件操作:打开,读取,删除,复制,重命名. 重点掌握增删改查的函数操作. import os# 获取当前执行文件所在文件夹 ...