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

  • 格式:docx
  • 大小:257.50 KB
  • 文档页数:8

在windows下搭建基于apache的SVN环境
2010年10月15日
廖 佳

1. 软件下载

1.1. Apache HTTP server下载
在http://httpd.apache.org/download.cgi
下载:httpd-2.2.16-win32-x86-openssl-0.9.8o.msi

1.2. Apache Subversion下载

在http://subversion.apache.org/
Binary Packages -> Windows -> Win32Svn
下载:Setup-Subversion-1.6.13.msi

1.3. TortoiseSVN下载
在http://tortoisesvn.net/downloads
下载:
TortoiseSVN-1.6.11.20210-win32-svn-1.6.13.msi
LanguagePack_1.6.11.20210-win32-zh_CN.msi

1.4. 备注
注意:apache与svn安装时,要注意是否兼容,需要看版本匹配情况。
2. 安装Apache
2.1. 安装步骤
1)可以自定义安装目录,如: D:\Program Files\Apache2.2。
2)修改Apache端口,在D:\Program Files\Apache2.2\conf下,将httpd.conf文件
Listen 80 更改为Listen 8000。保存,然后重启Apache。(开始 -> 所有程序 ->
Apache HTTP Server 2.2 -> Control Apache Server -> Restart)
3)检查apache是否安装成,访问http://localhost:8000, 如果显示“It works!”
(如下图所示)则表明安装成功。

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

3. 安装Subversion服务端

按照提示安装:可以自定义安装目录,如:D:\Program Files\Subversion下。

4. 安装SVN客户端及汉化包
按照提示安装即可,如我安装在D:\Program Files\TortoiseSVN。先安装软件,然后
安装汉化包。
5. 将SVN与Apache集成
1)将D:\Program Files\Subversion\bin目录中mod_dav_svn.so和mod_authz_svn.so
文件复制到 D:\Program Files\Apache2.2\modules目录下。
2)配置apache环境下的httpd.conf文件:
去掉前面的#号:
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
将下面几行添加到LoadModule部分的最后:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
保存该文件。
3)重启Apache,可以看到Apache Service Monitor左下角的状态栏出现了SVN、
DAV版本信息,如下图所示:

6. 配置Apache和SVN
1)将SVN的bin目录地址(D:\Program Files\Subversion\bin)添加到系统变量path
中。
2)新建文件夹F:\svn作为需要同步的文件夹。
3)配置Apache:将下列内容加入httpd.conf文件。
# 指明SVN版本库的URL是http://{ServerIP}/svn/

#引用远程访问模块
DAV svn

#版本库路径
#SVNListParentPath on
#SVNParentPath F:/svn
SVNPath F:/svn/kettle-4.0-src

Satisfy Any
#激活基本认证(用户名/密码)
AuthType Basic

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

#指定使用的认证密码文件
AuthUserFile F:/svn/passwd.ini

#SVN版本库访问控制文件的路径
AuthzSVNAccessFile F:/svn/authz.ini

#设置为只有输入了正确的用户/密码才可访问URL
Require valid-user

4)更为详细的解释:
设 置 解 释

指明Subversion版本库的URL为:
http://{ServerIP}/svn/

DAV svn
告诉Apache是哪个模块响应URL的请求
此刻是Subversion模块
SVNListParentPath on
显示所有SVNParentPath下的版本库

SVNParentPath F:\svn
告诉 Subversion需要查看的版本库位置

SVNIndexXSLT “/svnindex.xsl”
使用它可以在用浏览器浏 览时更好看

AuthType Basic
激活基本认证(用户名/密码)
设 置 解 释
AuthName “Subversion repositories”
说明何时弹出要求用户输入认证信息对话框

AuthUserFile F:/svn/passwd.ini
指定使用的认证密码文件

AuthzSVNAccessFile F:/svn/authz.ini
Subversion版本库的访问控制文件的路径

Require valid-user
标明只有输入正确用户/密码才可以访问URL

7. 创建SVN用户认证文件
1)开始 -> 运行,输入cmd,然后到 D:\Program Files\Apache2.2\bin目录下:

2)创建第1个用户时,输入:htpasswd -c F:\svn\passwd.ini liaojia。其中 passwd.ini
为存放用户名及密码的文件名,liaojia为用户名。然后输入两遍密码以后文件创
建成功,文件中包含liaojia的登录信息(用户名、密码)。

3)第2个用户创建时用:htpasswd F:\svn\passwd.ini zhaoruixue,然后输入密码。
4)可以找到具体的目录查看,验证是否创建成功。可以发现,第2次加入用户
以后用户信息文件多了zhaoruixue的信息,而且两次密码内容都进过MD5算法
计算。该文件用户SVN访问控制。

8. SVN版本库及登录访问权限设置
1)在 F:\svn\目录下,新建子文件夹kettle-4.0-src(用于存储kettle项目代码)。
2)鼠标右键点击文件夹,通过SVN客户端在此创建版本库,如下图所示:

得到如下效果图,则表明创建成功:
3)创建访问权限设置文件:可命名为authz.ini
编辑authz.ini的内容:
#分组
[groups]

#权限设置
[/]
*=r
liaojia=rw
zhaoruixue=rw

[kettle-4.0-src:/]
*=r
liaojia=rw
zhaoruixue=rw

9. 使用说明

1) 可以在F:\svn\kettle-4.0-src文件夹中放入数据,然后右键单击文件夹:
选择TortoiseSVN -> 导入,如下图所示
然后产生了第一个内容版本。
2)可通过地址http://{ServerIP:8000}/svn 访问资源库。
“8000”为配置的SVN监听端口
“/svn”为配置的相对地址,这里对应F:\svn\kettle-4.0-src目录