1:安装svn客户端, 并且在客户端下,
能建立仓库,在自己的硬盘上,建一个库
利用 file:///D:/xx/yy来管理自己的仓库.

2:把svn与apache整合.

2.1为什么与apache一起整合?
答:因为80端口支持广泛.

整合注意事项:
1:svn-win32的版本与apache版本匹配
2:要安装vc6,vc9的库
3:把svn的bin目录加到系统环境变量里,并重启.

2.2: 整合步骤
在windows,选取与apache相适应的subversion的压缩包,并与apache整合.
下载地址:http://sf.net/projects/win32svn

在linux下,一般是下载源码
地址:http://subversion.apache.org/

2.3:具体操作
2.3-1:解压win32svn压缩包,推荐到apache的平级目录,
并重命名为svn

注意: 我们要做的是把svn 当成apache的一个模块来执行.
和php作为apache来整合,有类似之处.

2.3-2:复制so
把svn/bin中的
mod_authz_svn.so
mod_dav_svn.so
到apache/modules/下面.

2.3-3: 修改配置文件
apache/conf/httpd.conf

把下面这两行前的#号去掉
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so

然后新增2行
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

2.3-4: 修改环境变量 ,并重启,使环境变量生效.
在环境变量中的path里,加上 svn/bin的路径.
例; D:\amp\svn\bin

3.1:寻立仓库目录
在X盘,例D:/amp

建立仓库目录, 例: D:/amp/repo

3.2: 建立仓库
在D:/amp/repo 下面建立具体的代码仓库.
如D:/amp/repo/orange
不要用客户端来建立仓库,用服务器端的命令.
x:/path/svn/bin/svnadmin create D:/amp/reop/food
create前是svnadmin.exe的路径
create后是你想建立的仓库的路径.

3.3: 修改配置文件,httpd.conf
目的:使apache能够对特定目录转发给svn处理.

具体:在httpd.conf后面加上如下几句话:

<Location /svn>
DAV svn
SVNParentPath D:/amp/repo

#repo目录是所有仓库的上级目录
</Location>

3.4:测试
通过客户端 签出 http://localost/svn/orange
即可把仓库签出

=====================权限控制==============
再次httpd.conf

<Location /svn>
DAV svn
SVNParentPath D:/amp/repo

AuthZSVNAccessFile D:/amp/repo/authz
AuthUserFile D:/amp/repo/passwd
# 上述两行分别代表用户权限表, 用户密码表.

Satisfy Any
Require valid-user

AuthType Basic
AuthName "hp5qi"

#repo目录是所有仓库的上级目录
</Location>

============生成用户密码,及配置用户权限==========
在apache的bin目录下面执行!

htpasswd -c D:/amp/repo/passwd stu
# -c代表新创建,如果是第2次及以后再次增加用户,不要用-c,否则前面的用户都丢失了.

在authz里写权限规则
例: 在D:/repo/orange, 和apple两个仓库
[orange:/]
stu = r
dev = rw

[apple:/]
stu = rw
dev = r
* = r

如上配置中,即说明
对于orange仓库
stu 只读权限
dev 读写权限

apple 仓库
stu 读写权限
dev 只读
任意用户 读权限

1.svn+apache整合的更多相关文章

  1. SVN与eclipse整合与使用、SVN与Apache整合

    SVN与eclipse整合 下载SVN插件(http://subclipse.tigris.org) http://subclipse.tigris.org/servlets/ProjectDocum ...

  2. CentOS 7 安装SVN并整合HTTP访问

    #!/bin/bash## -------------------------------------------------## 安装svn并整合http访问## ----------------- ...

  3. svn+apache+ssl快速部署

    在svn+apache文章中已经成功搭建了web-svn,由于在http网络上数据都是以明文传输,公司的源码需要一定的保密机制,基于安全考虑现整合web-svn+ssl.构建安全的svn服务器, 1. ...

  4. Jenkins +Maven+Tomcat+SVN +Apache项目持续集成构建

    详解Jenkins +Maven+Tomcat+SVN +Apache项目持续集成 一:前言 1. Jenkins jenkins版本大全http://mirrors.jenkins-ci.org/ ...

  5. debian 安装svn apache 小记. AuthzSVNAccessFile 不生效问题.

    docker 使用docker镜像搭建svn+Apache环境 https://my.oschina.net/u/2006667/blog/637882 1,安装 apache ,svnapt-get ...

  6. apache整合tomcat部署集群

    近日,由于公司项目需要,所以学习了apache整合tomcat以及集群的一些知识. 所以做下笔记日后回顾可以用到. apache只有处理静态事物的能力, 而tomcat的强项就是处理动态的请求,所以a ...

  7. Apache 整合 Tomcat (首先Apache 发布的是PHP项目,占用端口80,tomcat 发布的是Java 项目,占用端口8080)

    情况简介: Apache 整合 Tomcat (首先Apache 发布的是PHP项目,占用端口80,tomcat 发布的是Java 项目,占用端口8080),而现在是虚拟出来两个域名(希望这两个域名都 ...

  8. CentOS 7 使用SVN+Apache搭建版本控制服务器

    svn简介 Subversion是一个免费/开源的版本控制系统, Subversion 可以跨越时间地对文件和目录, 以及它们的修改进行管理. 这就允许你恢复 数据的旧版本, 或检查数据的修改历史. ...

  9. 2. apache整合tomcat部署集群

    apache只有处理静态事物的能力, 而tomcat的强项就是处理动态的请求,所以apache和tomcat整合相互取长补短,由apache作为入口,如果是请求静态页面或者是静态文件,由apache直 ...

随机推荐

  1. Minimum edit distance(levenshtein distance)(最小编辑距离)初探

    最小编辑距离的定义:编辑距离(Edit Distance),又称Levenshtein距离.是指两个字串之间,由一个转成还有一个所需的最少编辑操作次数.许可的编辑操作包含将一个字符替换成还有一个字符. ...

  2. 【十二】注入框架RoboGuice使用:(Your First Injected ContentProvider)

    上一篇我们简单的介绍了一下RoboGuice的使用([十一]注入框架RoboGuice使用:(Your First Injection into a Custom View class)),今天我们来 ...

  3. 算法笔记_023:拓扑排序(Java)

    目录 1 问题描述 2 解决方案 2.1 基于减治法实现 2.2 基于深度优先查找实现 1 问题描述 给定一个有向图,求取此图的拓扑排序序列. 那么,何为拓扑排序? 定义:将有向图中的顶点以线性方式进 ...

  4. android安装应用程序工具类

    /** * 安装APK文件 *@param APK文件 *Version: *author:YangQuanqing */ private void installAPK(File file){ // ...

  5. 使用 Tmux 强化终端功能

    来自 tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需 ...

  6. java 资源文件的读取

    Java将配置文件当作一种资源(resource)来处理,并且提供了两个类来读取这些资源,一个是Class类,另一个是ClassLoader类. gradle 项目 项目目录结构  用Class类加载 ...

  7. ORA-12519:数据的连接池访问过多

    今天服务部同事问我一个问题,客户处的报表一半能打开,一半报错如下: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=185599744)(ERR ...

  8. js特效,轻松实现内容的无缝平滑滚动

    <!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN"   "http ...

  9. JavaScript 中 substr 和 substring的区别

    http://www.cnblogs.com/meil/archive/2007/01/05/598528.htmlString.substr(N1,N2) 这个就是我们常用的从指定的位置(N1)截取 ...

  10. 第23章、OnFocuChangeListener焦点事件(从零开始学Android)

      在Android App应用中,OnFocuChangeListener焦点事件是必不可少的,我们在上一章的基础上来学习一下如何实现. 基本知识点:OnFocuChangeListener事件 一 ...