一、在 windows XP 安装配置如下:
1 、下载 Apache2.2.14 并安装。设安装目录为: F:\Apache Software Foundation\Apache2.2
2 、下载 Subversion1.6.6 并安装。设安装目录为: F:\Subversion
3 、假设已安装完成上述软件,整合配置步骤如下:
* 复制 F:\Subversion\bin 目录下的 mod_dav_svn.so , mod_authz_svn.so 及所有 dll 文件(共 17 个文件)到 F:\Apache Software Foundation\Apache2.2modules 目录下。
* F:\Apache Software Foundation\Apache2.2conf\httpd.conf 配置文件,找到 #LoadModule dav_module modules/mod_dav.so 和 #LoadModule dav_fs_module modules/mod_dav_fs.so ,取消前面的 2 个 “#” 。并在 LoadModule dav_fs_module modules/mod_dav_fs.so 的下一行增加: LoadModule dav_svn_module modules/mod_dav_svn.so 和 LoadModule authz_svn_module modules/mod_authz_svn.so ,一个语句一行,最后的形式为:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
1. 使用 Apache 自带的 htpasswd 工具,生成密码文件(需要建立 F:\Apache Software Foundation\Apache2.2\conf-svn 目录)。命令如下:
F:\Apache Software Foundation\Apache2.2\bin>htpasswd -cmb ../conf_svn/passwd lishupi 123456
2. 打开命令行 (DOS 窗口 CMD) ,
将当前目录切换到 apache2 目录(通常为 F:\program files\ Apache Software Foundation\Apache2.2\bin ),
输入命令:
htpasswd -c passwd username
Automatically using MD5 format.
New password: ****** ( 输入密码 )
Re-type new password: ******
Adding password for user username
copy passwd F:\ (Httpd.conf 中设定的是在 F:)
打开配置文件 F:\Apache Software Foundation\Apache2.2conf\httpd.conf ,在文件最后增加:
# 多库模式 配置。资源库 的根位置路径为: D:\svnserver\repository
#SVN Location
<Location /svn>
DAV svn
SVNParentPath D:\svnrepos
# AuthzSVNAccessFile D:\svnserver\repository\conf\authz
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "F:\Apache Software Foundation\Apache2.2\conf_svn\passwd"
Require valid-user
</Location>
配置表示:你所有的版本库将位于 D:\svnrepos 目录下,要访问你的版本库可以使用这样的 URL : http://YourIP/svn/ ,访问权限将由 passwd 文件中的用户名 / 密码来限制。
详细说明如下:
---------------------------------------------------------------------------
<Location /svn>
意味着可以通过像这样的 URL(http://MyServer/svn) 来访问 Subversion 版本库
DAV svn
告诉 Apache 哪个模块负责服务像那样的 URL --在这里就是 Subversion 模块
SVNListParentPath on
在 Subversion 1.3 及更高版本中,这个指示器使得 Subversion 列出由 SVNParentPath 指定的目录下所有的版本库
SVNParentPath D:\svnrepos
告诉 Subversion 在目录 D:\svnrepos 下寻找版本库 #( 修改成你自己的目录)
AuthType Basic
启用基本的验证,比如用户名 / 密码
AuthName "Subversion repositories"
当一个验证对话框弹出时,告诉用户这个验证是用来做什么的
AuthUserFile F:\Apache Software Foundation\Apache2.2\conf_svn\passwd #( 密码文件,不是文件夹哦)
指定 F:\..\passwd 用为密码文件用来验证用户的用户名及密码
AuthzSVNAccessFile F:\svnaccessfile
指定 F:\svnaccessfile 来限定各个用户或组在版本库中目录的访问权限
Require valid-user
限定用户只有输入正确的用户名及密码后才能访问这个路径
# 单库模式 ,根据实际需要选择一种配置方法就行。
<Location /svn>
DAV svn
SVNPath D:\svnserver\repository
# AuthzSVNAccessFile D:\svnserver\repository\conf\authz
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "F:\Apache Software Foundation\Apache2.2\conf_svn\passwd"
Require valid-user
</Location>
* 保存httpd.conf 文件,重启Apache ,就能访问了。注:多库模式下的访问地址:http://localhost/svn/lishupi ;单库模式的访问地址:http://localhost/svn ,第一次访问时提示输入用户名密码。使用htpasswd 命令中设置的用户名密码访问。
表 3.1. 设置 Apache 的 httpd.conf
设置 |
解释 |
<Location /svn> |
意思是Subversion 版本库的URL 是http://MyServer/svn/ |
DAV svn |
告诉Apache 是哪个模块响应那个URL 的请求-此刻是Subversion 模块。 |
SVNListParentPath on |
对于 Subversion 1.3 或者更高版本,这个指示会列出所有 SVNParentPath 中的版本库。 |
SVNParentPath D:\SVN |
告诉Subversion 需要查看的版本库位于D:\SVN 之下 |
SVNIndexXSLT "/svnindex.xsl" |
使用它可以在用浏览器浏览时更好看。 |
AuthType Basic |
激活基本认证,就是用户名/ 密码 |
AuthName "Subversion repositories" |
用来说明何时弹出要求用户输入认证信息的认证对话框 |
AuthUserFile passwd |
指定使用的认证密码文件 |
AuthzSVNAccessFile |
位置Subversion 版本库的访问控制文件的路径 |
Require valid-user |
指定只有输入了正确的用户/ 密码的用户可以访问URL |
安装了Apache 服务器,启动不起来。(1. domain problem 2.The requested operation has failed! )
%APACHE_HOME%\bin>httpd.exe -w -n "Apache2.2" -k start 如果有错误会把错误显示出来,当然也可以看log 信息。
解决方法 是:
1. 修改httpd.conf 文件,将serverName=your domain:80 改为serverName=your Ip:80 ( 因为我机子没有DNS 服务)
2. 再修改计算机的网络设置,将( 网上邻居->Tcp/IP 属性-> 高级->WINS-> 启用LMHOSTS 查询(L)) 前的勾去掉。
重启 Apache 服务。
重启后打开 http://YourIP/svn/ 输入密码后,还是出错 ( 因为还没有建立版本库 )
Forbidden
You don't have permission to access /svn on this server.
OK ,现在就可以启动Apache 服务了。
二、SVN 项目设置
(1). 打开资源管理器,在D:\svnserver 目录下新建repository 目录
(2). 在repository 文件夹上右击TortoiseSVN--->Create repository here
( 也可以通过命令的方式:到SVN 的安装BIN 目录。运行:svnadmin create D:\svn\repository)
D:\svnserver 目录需先建好,要不会出错:
svnadmin: 档案库创建失败
svnadmin: 无法创建最上层目录
(3). 然后选择Native File System(FSFS)
(4). 到项目文件夹上,右击-->SVN import
在URL of repository: 中输入http://YourIP/svn/repository
(5). 项目成员,可在自己机上新建一个空的项目文件夹. 右击-->SVN checkout
在提示的用户名和密码对话框中输入服务端配置的用户名和密码;然后点击OK ;后面对话框中即会显示逐个加入的文件和目录信息,最后一条显示“Completed At Version 1 ”。
如果成功,可以在本地目录下看到相应的代码文件。选中文件或目录,可以进行“SVN Update ”(从服务器更新版本)和“Svn Commit ”(提交更改到服务器)操作。