[原创]在windows下搭建基于apache的SVN环境

[原创]在windows下搭建基于apache的SVN环境

 

 

1 软件下载:

http://httpd.apache.org/download.cgi,下载:

apache_2.2.14-win32-x86-openssl-0.9.8k.msi

http://subversion.tigris.org/,下载:

Setup-Subversion-1.6.6.msi

http://tortoisesvn.net/downloads,下载:

LanguagePack_1.6.3.16613-win32-zh_CN.msi

TortoiseSVN-1.6.3.16613-win32-svn-1.6.3.msi

备注:apache与svn安装时,需要注意一点版本是否兼容,注意查下版本匹配情况;

2 安装apache

安装apache 按照提示安装,可以自定义安装目录,如我安装在D:\Program Files\Apache下;

修改apache端口,在D:\Program Files\Apache\conf下的httpd.conf将listen 80 更改为listen 8000,保存,然后重启apache

检查apache是否安装成,访问http://localhost:8000,如果显示”it works”则表明安装成功;

 

备注:默认情况下apache是80端口,但是80端口经常会让其它服务占用,建议最好更改访问端口

3 安装svn服务端

 安装svn服务端,按照提示安装,可以自定义安装目录,如我安装在D:\Program Files\Svn下;

 

4 安装svn客户端及汉化包

 安装svn安户端及汉化包,按照提示安装即可,如我安装在D:\Program Files\TortoiseSVN

 

5 集成svnapache

  将Svn环境下bin目录中的mod_dav_svn.so和mod_authz_svn.so复制到Apache环境下modules目录下;

 配置apache环境下的httpd.conf,去掉前面的#号;

#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so

 

将下面几行添加到LoadModule部分的最后注意svn的环境目录更改,需符号要求;

LoadModule dav_svn_module "d:/Program Files/svn/bin/mod_dav_svn.so"  

LoadModule authz_svn_module "d:/Program Files/svn/bin/mod_authz_svn.so"

 保存重启下apache,可以看到如下图所示:

 

6 配置apachesvn,让apache告诉svn如何工作

以下是我的具体配置情况可以参考下

<Location /svn> 

#引用远程访问模块

DAV svn   

 

#版本库路径

SVNListParentPath on

SVNParentPath   d:/Svn/Project

 

#激活基本认证,就是用户名/密码

AuthType Basic

 

#用来说明何时弹出要求用户输入认证信息的认证对话框

AuthName "Subversion repositories"

 

#指定使用的认证密码文件

AuthUserFile d:/Svn/conf/passwd.ini  

 

#位置Subversion版本库的访问控制文件的路径

AuthzSVNAccessFile d:/Svn/conf/authz.ini

 

#指定只有输入了正确的用户/密码的用户可以访问URL

Require valid-user

</Location>

 

更为详细的解释设置 Apache httpd.conf

设置

解释

<Location /svn>

意思是Subversion版本库的URL是http://MyServer/svn/

DAV svn

告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。

SVNListParentPath on

对于Subversion1.3或者更高版本,这个指示表示显示所有SVNParentPath下的版本库。

SVNParentPath D:\SVN

告诉Subversion需要查看的版本库位于D:\SVN之下

SVNIndexXSLT "/svnindex.xsl"

使用它可以在用浏览器浏览时更好看。

AuthType Basic

激活基本认证,就是用户名/密码

AuthName "Subversion repositories"

用来说明何时弹出要求用户输入认证信息的认证对话框

AuthUserFile passwd

指定使用的认证密码文件

AuthzSVNAccessFile

位置Subversion版本库的访问控制文件的路径

Require valid-user

指定只有输入了正确的用户/密码的用户可以访问URL

 

 

7 创建passwd文件来管理svn的访问权限

在开始菜单下,“运行”输入cmd,然后切换到apache/bin目录下:

 

 

 第1个用户创建时用:htpasswd -c D:\svn\conf\passwd.ini yb.ma //其中passwd.ini为文件名,yb.ma为用户帐号

 

第2个用户创建时用:htpasswd D:\svn\conf\passwd.ini y.fan

 

 

可以找到具体的目录查看,如下图所示,验证是否创建成功:

 

8 SVN版本库及登录访问权限设置

D:\Svn\Project\目录下创建test1文件,然后通过svn客户端右键在此创建版本库;

将会得到如下效果图,则表明创建成功:

 

 

D:\Svn\TempProjcet\test1创建如下配置库目录结构图,如我创建如下(可以根据自己实际情况定制)

 

导入配置库结构到版本库中,如右键导入,填写具体的地址:

 

备注:要导入的版本库必须在authz.ini文件中配置

 

 D:\Svn\conf创建authz.ini文件,然后文件中填写如下设置

 #建立分组:admin, developerpm,testers

[groups]

admin=yb.ma

pm=yb.ma

developers=yb.ma  

testers=yb.ma

 

#预置设置

[/]

*=r

@admin=rw

dangerman=

 

#多个项目配置,一级目录权限

[test1:/]

@developers=rw

 

#branches二级目录权限

[/branches]

@testers=r

@developers=rw

 

#tags二级目录权限

[/tags]

@admin=rw

@pm=rw

 

#trunk二级目录权限

[/trunk]

@admin=rw

@developers=rw

 

转载于:https://www.cnblogs.com/mayingbao/archive/2010/06/10/1755757.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 线程不足_Java 线程基础知识

wait() 和notify()、notifyAll()这三个方法用于协调多个线程对共享数据的存取&#xff0c;所以必须在 Synchronized 语句块内使用这三个方法&#xff0c;否则会抛出错 IllegalMonitorStateException。前面说过 Synchronized 这个关键字用于保护共享数据&#xff0c;阻止其他线程…

16.Python略有小成(内置模块Ⅱ)

Python(内置模块Ⅱ) 一、规范化开发 一个py文件中 文件加载问题代码可读性,查询差要将一个py文件分开,合理的分成多个py文件 配置文件放在一起 : 一些轻易不改变的变量,一般命名 settings.py主逻辑函数放在一起 : 一般命名 src.py辅助功能函数放在一起 : 公共组件部分,装饰器,l…

java8 入门脚本之家_Java 8中的Lambda表达式

我想使用lambda表达式而不是for循环生成数字列表.所以让我们想要生成一个100以下的所有三角形数字的列表.三角数字是以下公式的数字&#xff1a;(n * n n)/ 2这样做最好的方法是什么&#xff1f;目前我有这个&#xff1a;Stream.iterate(1,n -> n 1).limit(100).map(n ->…

[原]nasm语法

工具:nasm 汇编gcc 编译cld 进行链接kscope 查看源代码make 工程管理khexedit 分析二进制文件一&#xff1a;nasm源文件布局&#xff1a;像其他汇编器一样&#xff0c; nasm源文件包含四个域的组合。&#xff08;除了宏&#xff0c; 或者预编译器指示&#xff0c; 或者汇编…

matlab的算法java_matlab环境下的回归算法分析

嗨&#xff0c;我想对回归技术进行全面分析&#xff0c;因此将继续编辑这个问题 . 我正在尝试使用Matlab中提供的技术来解决回归问题 . 理想情况下&#xff0c;我想看看诸如此类的技巧线性回归Logistic回归贝叶斯回归支持向量回归回归的高斯过程问题陈述给定数据 X 和 Y &#…

C#仿QQ皮肤-常用用户控件EnterFrom1和窗体EntryForm的实现

导读部分 ------------------------------------------------------------------------------------------------------------- C#仿QQ皮肤&#xff0d;实现原理系列文章导航 最新版源码下载 http://www.cckan.net/thread-2-1-1.html 本次是我们窗体实现的最后一节&#xff0c…

idea中删除java类并提交_IDEA 删除java类的3种提示

1. 点击 delete 删除文件时&#xff0c;会弹出如下选项&#xff1a;Safe delete (with usage search)Search in comments and strings“Safe delete ( with usage search)”, 字面意思是使用搜索安全删除. 是否选中结果分别为:没有选中状态,直接删除.选中状态,删除前IDEA会搜寻…

S3C2440、S3C2450和S3C6410之间区别

S3C2440&#xff1a;  主频400MHz&#xff1b;  SDRam内存控制器&#xff1b;  支持Nor Flash和Nand Flash&#xff08;SLC&#xff09;  支持2种Flash启动&#xff1b;  内部LCD、I2C、Camera等控制器。 S3C2450&#xff1a;  主频533MHz&#xff1b;  双总线架…

mysql指定时间_MySQL查询指定时间的数据

MySQL查询指定时间的数据。亲测可用。

助教小结13

本周总结&#xff1a; 主要为完成团队任务五的批改 整体完成的还可以 第1组、第9组&#xff1a;未点击提交按钮总成绩打八折 优秀作业&#xff1a; 第5组&#xff1a;https://www.cnblogs.com/lishuya/p/11088462.html 千帆竟发图&#xff1a; 转载于:https://www.cnblogs.com/…

Oracle多表连接查询

多个表之间关系&#xff1a;一对多|(多对一) 多对多 一对一 3种 关系的完整性约束&#xff1a;实体完整性、参照完整性、用于定义的完整性。 必须满足实体完整性和参照完整性. 实体完整性&#xff1a;规定了字段|属性的约束 参照完整性&#xff1a;关系与关系之间的引用 某个字…

工作393-注册小程序

每个小程序都需要在 app.js 中调用 App 方法注册小程序实例&#xff0c;绑定生命周期回调函数、错误监听和页面不存在监听函数等。详细的参数含义和使用请参考 App 参考文档 。// app.js App({onLaunch (options) {// Do something initial when launch.},onShow (options) {//…

java工作台无法显示_【Eclipse】使用指南(18)搜索工作台

Searching the workbench搜索工作台In this section, you will search the workbench for Java elements.本小节&#xff0c;你将在工作台中搜索Java元素。In the Search dialog, you can perform file, text or Java searches. Java searches operate on the structure of the…

Gridview 鼠标悬浮光棒效果

代码 1 protectedvoidGridView1_RowDataBound(objectsender, GridViewRowEventArgs e)2 {3 4 //如果是绑定数据行 5 6 if(e.Row.RowType DataControlRowType.DataRow)7 {8 9 //鼠标经过时&#xff0c;行背景色变 10 e.Row.Attributes.Add("onmouseover",11 "cu…

神策埋点

首先进入后台管理点击生成导入代码&#xff1a; 选好选项后点生成&#xff1a; 以下是生成的代码&#xff1a; (function(para) {var p para.sdk_url, n para.name, w window, d document, s script,x null,y null;if(typeof(w[sensorsDataAnalytic201505]) ! undefined…