在 windows下搭建基于apache的SVN环境

作者: nick 分类: apache, windows 发布时间: 2010-06-11 14:13 ė 61条评论

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 集成svn和apache

将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 配置apache和svn,让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, developer,pm,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.nickdd.cn/?p=712

发表评论

您的电子邮箱地址不会被公开。

Ɣ回顶部