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. EJS快速入门

    文章来源:http://www.360doc.com/content/16/0115/10/597197_528136785.shtml Node 开源模板的选择很多,但推荐像我这样的老人去用 EJS ...

  2. STL栈的应用之表达式求值

    #include<iostream> #include<cstring> #include<cstdio> #include<stack> using ...

  3. linux下tar.gz、tar、bz2、zip、 xz、rar等解压缩、压缩命令小结

    http://www.jb51.net/LINUXjishu/43356.html unrar x aa.rarunrar e aa.rarx参数 是解压到一个文件夹里 e参数是把所有文件解压到当前目 ...

  4. Visual studio中后期生成事件命令使用

    在做项目是总要把发布后的一些dll拷贝的根网站的bin目录下,为了避免每次都需要手动拷贝可以在 项目的生成事件中写入bat命令,下面的命令只在项目使用的发布配置时执行拷贝, (在生成->配置管理 ...

  5. HTTP 头缓存Last-Modified,ETag,Expires

    http://www.jdon.com/40381 Last-Modified和Expires针对浏览器,而ETag则与客户端无关,所以可适合REST架构中.两者都应用在浏览器端的区别是:Expire ...

  6. Python continue

    continue继续循环在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环.假设我们已经写好了利用for循环计算平均分的代码: L = [75, 98 ...

  7. android studio提示信息乱码解决方法

    在build.gradle文件中加上 android {compileOptions.encoding = "GBK"}就好了

  8. JVM是怎么工作的?

    了解JVM的工作机制能够更好的帮助我们理解java语言本身,规避各种可能的错误.所以,今天趁此机会好好复习一下.来看看JVM是怎么工作的. 一.啥是JVM JVM可以理解为用来运行java程序的一种运 ...

  9. unity模型任意无限切割插件

    概述 3d模型的任意切割一直是游戏开发里的一个很大的问题,模型切割的关键点就只有生成横切面的新顶点以及切口纹理的缝合,理论上解决了这两点,就近乎可以做到以假乱真的程度了.本篇文章就这两点进行描述 详细 ...

  10. 【NEWS】 ADempiere发布ADempiere 3.8.0路线图【2013年7月28日】

    发布源:http://osssme.org/cms/?q=node/17 本以为ADempiere”已死“,但是看到ADempiere的WIKI上大概在从5月28日开始添加WIKI以来,经过多次更新后 ...