SVN+Apache+TortoiseSvn配置全过程
更新时间:2023-07-26 00:09:01 阅读量: 实用文档 文档下载
SVN+Apache+TortoiseSvn配置全过程
svn与apache服务器结合的配置过程
一.准备安装软件
先下载Http服务器,官方网站为/ ,目前最新版本为Apache 2.2.6,我下载的是
apache-2.2.15-win32.msi
再下载SVN服务器,官方网站为
/ ,最新版本为Subversion
1.4.6,下载时要注意下载和Apache2.2.x版本对应的,我下载的是
Subversion-1.5.6(服务端).msi
TortoiseSVN,客户端程序。TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录,点鼠标右键即可看到。网址为/ ,我下载的是
SVN+Apache+TortoiseSvn配置全过程
TortoiseSVN-1.5.6.14908-win32-svn-1.5.5.msi(svn和tortoiseSvn版本最好一样,至少客户端版本要比服务端高,如果相差太远,Svn有可能读不了tortoiseSvn的文件夹的) TortoiseSVN的中文语言包,注意这个需要下和客户端程序版本相同的。这个可以在language packs下面下载。
二. 安装
1.先安装Apache服务器。自己手动填写ServerInfo。安装完成之后到安装目录下找到conf目录下的httpd.config文件,搜索 Listen,并将Listen后面的80改为8080(或者你希望的端口),然后重新启动Apache服务器,这时可以用http://localhost:8080 来测试是否安装正确。
2.再安装SVN服务器,直接解压即可。
3.安装TortoiseSVN,很简单,一路安装下去。安装完毕后会要求重启,重启后进行以下配置。
三. 集成Apache和SVN
首先将Subversion安装目录bin\下面的两个文件:
mod_authz_svn.so和mod_dav_svn.so复制到Apache安装目录modules\目录下; 再将Subversion安装目录bin\下
SVN+Apache+TortoiseSvn配置全过程
面的所有.dll文件复制到Apache安装目录bin\目录
下 需要再修改httpd.conf,并做如下修改:
找到Apache安装目录下的conf目录,用文本编辑器打开httpd.conf,找到一下两行:
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
将每行前面的注释符“#”去掉。再在所有LoadModule语句的最后添加一下几行:
#SVN
LoadModule dav_svn_module
modules/mod_dav_svn.so
LoadModule authz_svn_module
modules/mod_authz_svn.so
如图:
SVN+Apache+TortoiseSvn配置全过程
注意下面的状态栏已经是Apache/2.2.6 SVN1.4.6 DAV/2 建立一个SVN存放文件的目录,例如:在E盘下创建一个文件夹:E:/svn
接下来对Apache进行配置svn配置库所在的路径,可以通过Location指令来完成这个设置。因为不希望为每个单独的项目都进行单独的设置,所以我们把所有项目都存放在统一的资源库目 录,那么可以使用SVNParentPath指令来指定存放所有项目的路径。在httpd.conf文件最后添加下面配置: (这是一个不用用户密码验证的一段简单配置)
#SVN
<Location /mysvn>
SVN+Apache+TortoiseSvn配置全过程
DAV svn
SVNListParentPath on
SVNParentPath "E:/svn"
(#SVNPath "E:/svn/NewMapGis"
####################认证的类型 AuthType Basic
####################认证的名称,显示于登录提示框
AuthName "Subversion 资源库,请登录!"
####################Which password file to use for authentication 存储用户登录信息的文件 AuthUserFile E:\svn\passwd
####################限定各个用户或组在版本库中目录的访问权限
AuthzSVNAccessFile E:\svn\svnaccessfile
####################让所有用户对版本库都有读的权限而只有特定的用户才有写的权限
Require valid-user)
</Location>
具体代码:
SVN+Apache+TortoiseSvn配置全过程
<Location /mysvn>
DAV svn
SVNListParentPath on
SVNParentPath "E:/svn"
<Location>
然后在e:svn下建立一个版本库,例如NewMapGis,就是新建一个NewMapGis的文件夹,然后进去,按右键 选择 TortoiseSvn 的 在此创建版本库。
创建好后,按右键 选择版本库浏览器,然后输入
注意的是端口 改了8080 然后<Location /mysvn>设置的是mysvn,而不是svn(虽然物理地址是e:svn),如果只是输入是不行的,,要进入到具体版本库,svn这个文件夹只是用来管理所有版本库的。
SVN+Apache+TortoiseSvn配置全过程
四.设置基本的Http验证
基本(Basic)访问控制
在之前的设定中没有启用身分验证的功能,可以实现访问都不需要帐户和密码,但是我们通常不希望所有人都能任意存取你的文件库,免得重要资料外泄,或者资料被破坏,因此了解如何加入身分验证也是必要的。 Sebversion 提供了多种验证使用者身份的方式,这里介绍Basic访问控制,按下列步骤进行:
1. 修改 httpd.conf 的 <Location> ,设定如下: <Location /mysvn>// (/mysvn 说明 用127.0.0.1:8080/mysvn 访问所以版本库的地址,是http地址,和物理地址有区别)
说明:
<Location /svn>
(意味着可以通过像这样的URL(http://MyServer/svn) 来访问Subversion版本库)
<Location /svn>
SVN+Apache+TortoiseSvn配置全过程
DAV svn
(告诉Apache哪个模块 负责服务像那样的URL--在这里就是Subversion模块)
SVNListParentPath on
(在Subversion 1.3及更高版本中,这个指示器使得
Subversion列出由SVNParentPath指定的目录下所有的版本库)
SVNParentPath E:\svn
(告诉Subversion在目录E:\svn下寻找版本库)
AuthType Basic
(启用基本的验证,比如用户名/密码对)
AuthName "Subversion repositories"
(当一个验证对话框弹出时,告诉用户这个验证是用来做什么的) AuthUserFile E:\svn \htpasswd
(指定E:\svn \htpasswd用为密码文件用来验证用户的用户名及密码)
AuthzSVNAccessFile E:\svn \authz
SVN+Apache+TortoiseSvn配置全过程
(指定E:\svn \authz来限定各个用户或组在版本库中目录的访问权限)
Require valid-user
(限定用户只有输入正确的用户名及密码后才能访问这个路径(此项表示,无论是IE还是Tortoise,只有通过密码验证才能访问)。)
下面表示允许匿名访问,对于读操作,不需要用户验证。 #<LimitExcept GET PROPFIND OPTIONS REPORT> #Require valid-user
#</LimitExcept>
具体代码:
<Location /mysvn>
(通过访问) DAV svn
SVNListParentPath on
SVN+Apache+TortoiseSvn配置全过程
SVNParentPath E:\svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile E:\svn\passwd
AuthzSVNAccessFile E:\svn\accessfile.
#<LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user
#</LimitExcept>
</Location>
然后在Apache里添加用户,这些用户通过Apache里面的httpd.conf文件,上面的代码,把用户和svn联系。 在Apache的bin目录加到环境变量Path,以后直接可以调用Apache bin里面的htpasswd命令,这个exe命令只能在dos下调用,把bin路径加到Pah里面,在dos下用Apache bin 的htpasswd命令就不用一层层进入C:\Program Files\Apache Software
Foundation\Apache2.2\bin,而是直接在C:\下打htpasswd就可以了。
用Apache的htpasswd指令生成用户名和密码:
SVN+Apache+TortoiseSvn配置全过程
htpasswd -cm e:/svn/passwd.txt lhb
htpasswd -m e:/svn/passwd.txt lsz
htpasswd的参数-c是创建文件的意思,故只在首次使用,仅使用-m参数时也可用来修改密码。
在 e:\下建立一个accessfile名字的文件。如果
AuthzSVNAccessFile "e:/svn/accessfile.txt"(或者
"e:/svn/accessfile ")是没用.txt的 这个文件也不需要.txt .
配置文件库访问政策文件(假设repository文件库下已经建立了projectA和projectB),如:
[repository:/]
username1 = rw
[repository:/projectA]
username2 = r
[repository:/projectA/trunk]
username1 =
SVN+Apache+TortoiseSvn配置全过程
username2 = rw
[repository:/projectB]
* = r
[repository:/projectB/trunk]
username1 =
小节名称中冒号前面的文件库名称不要轻易省略,省略就代表是针对所有文件库,这样是很为危险的,*号代表所有用户,等于号后面为空表示没有权限,mod_authz_svn模块首先会找到匹配自己的目录,然后是父目录,父目录的父目录,依次下去,并会以最近找到的描述为准。另外,你还可以定义一组用户,然后按组进行权限配置,比如:
[groups]
department_1 = username1, username2
department_2 = username3, username4, username5
[repository:/projectA]
@department_1 = r
SVN+Apache+TortoiseSvn配置全过程
@department_2 = rw
我的配置:(分组配置)
[groups]
admin = zyj, lhb, lsz, rj
guest = guest
[NewMapGis:/] (NewMapGis这个版本库 下所有文件夹都能被admin组里的用户读和写,guest组里的用户只能读)
@admin = rw
@guest = r
[NewMapGis:/Document] (NewMapGis这个版本库下的Document文件夹可以被guest读和写)
SVN+Apache+TortoiseSvn配置全过程
@guest = rw
正在阅读:
SVN+Apache+TortoiseSvn配置全过程07-26
人体静电的实验03-24
描写麻雀的经典散文03-30
微积分发展中牛顿与莱布尼茨的贡献10-19
《工程地质学基础》习题集05-13
职业安全健康应急救援预案03-09
清华经管—培养具有实干精神的创新性人才(doc 4)04-07
区城管局关于2022年工作总结及工作规划08-02
高职院校特色专业系统化建设探索05-21
96分考试课程循环经济与可持续发展11-09
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- TortoiseSvn
- 全过程
- 配置
- Apache
- SVN
- 变频恒压供水毕业设计(开题报告)
- 高等院校研究生综合英语系列教材_综合教程(上)课文翻译
- 《毛概》期末考试辨析题大全1111
- 基于线损管理的智能电能表及抄表系统应用
- 达州市2013年高中阶段教育学校招生统一考试
- 小学语文教学的创新性思维的培养之我见
- 构建新农村公共文化服务体系研究_以湖北省为个案
- 甲壳动物增养殖学
- 浙江省杭州市萧山区2013-2014学年七年级下学期期中考试英语试题
- 汽车实用手册拖车
- 行政执法责任制度
- 08 模拟量输入输出模块-放映很不清晰
- 新生儿及新生儿疾病患儿的护理
- 移动交酒台的研制
- 受水库影响短期洪水预报方法分析
- (精校版)全国新课标卷——文科综合试题及答案 2011年普通高等学校招生统一考试.doc
- 《平法识图与钢筋计算
- 2014年考研英语一真题下载
- 手机物联网项目可行性研究报告方案(可用于发改委立项及银行贷款+2013详细案例范文)
- 贴片电阻的识别方法