Apache2和SVN安装指南

SVN安装指南

第一章 引 言
1.1 编写目的
版本控制之于程序员,就好比安全网之于高空秋千表演者。知道安全网就在那里,万一自己摔落它能够提供保护,高空秋千表演者才能放心大胆地在空中飞跃。同样,版本控制使您有能力去冒以往想都不敢想的风险。如果哪儿出了错,您总是可以使自己的代码回复到一个已知的、工作正常的版本。您可以在不触及主干的分支中进行试验,而不会影响到其他小组成员。在已经发布的产品的较老版本中发现 bug 时,您可以轻松检出特定版本,以确认、修订,并生成该 bug 的修补程序。如果没有版本控制,您必须极为慎之又慎,缓慢地推进,总而言之,生产力会更低。
Subversion 是一种开放源码的全新版本控制系统,支持可在本地访问或通过网络访问的数据库和文件系统存储库。不但提供了常见的比较、修补、标记、提交、回复和分支功能性,Subversion 还增加了追踪移动和删除的能力。此外,它支持非 ASCII 文本和二进制数据,所有这一切都使 Subversion 不仅对传统的编程任务非常有用,同时也适于 Web 开发、图书创作和其他在传统方式下未采纳版本控制功能的领域!

第二章 安装配置
本安装基于Windows vista环境下进行安装与配置的,其它windows版本都可用;搭建此项目管理服务器首先必须要安装Apache服务器。
2.1 安装Apache
(1)下载Apache
访问地址:http://httpd.apache.org/download.cgi下载Apache.
注意:Apache低于2.0.54的Windows版本的存在编译问题,低于2.0.54的版本不能与Subversion 1.2一起工作。2.2.X目前不能很好支持SVN 1.4.X。所以当前建议下载Apache 2.0.63版本
(2) 安装
下载完成后运行apache_2.0.63-win32-x86-no_ssl.msi ,根据提示进行操作。遇到系统要求输入SERVER的URL时,如果你的服务器没有DNS名称,请直接输入IP地址(此文件也可在安装后进行修改,该文件位于Apache Group/Apache2/conf/httpd.conf文件)。
注意:如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录\Apache Group\Apache2\conf,打开httpd.conf。编辑文件的Listen 80为其他可用的端口,例如Listen 8080,然后重新启动-这样就不会那个问题了,或者将其它应用的端口进行改之。
(3)检查
安装完成后浏览 http://localhost:8081/若成功,可看到apache欢迎页面。如下图所示:

2.2 安装Subversion
(1)下载 Subversion
地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
在本实例中,选择下载svn-win32-1.4.6.zip此版本.
(2)安装
将svn-win32-1.4.6.zip解压到安装程序的目录下;(如果下载的是exe安装文件,可以根据指导安装, Subversion会自动认识到你安装了Apache,你就几乎完成了工作),本实例中采用解压方式进行安装,它不会自动找到Apache服务器,所以你还有额外的步骤。
(3)后续
步骤1 从svn-win32-1.4.6\bin 中将mod_authz_svn.so mod_dav_svn.so复制到Apache Group\Apache2\modules下,再将svn-win32-1.4.6\bin目录下的intl3_svn.dll和 libdb44.dll和libeay32.dll和ssleay32.dll全部复制到Apache Group\Apache2\bin文件夹下。
步骤2 找到Apache Group\Apache2\conf\httpd.conf文件,然后去掉如下几行的注释(删除 '#'标记):
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
将下面两行添加到LoadModule部分的最后。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
进行如上后续修改后完成了SVN+Apache之间的WebDav的工作了。重启Apache以后可看到如下图:

这是安装最终的图,图中状态栏显示Apache/2.0.63(Win32) SVN1.4.6 DAV/2是由于还安装了mod_python,此步骤稍后将在Trac中讲解,如上安装好后应显示为Apache/2.0.63(Win32) SVN1.4.6 DAV.
2.3 配置
(1)建立版本库
首先建立一个用于存在SVN项目的版本库,本例中在D盘驱动器中建立目录var/svnhome,可通过如下命令建立版本库,当然如果你需要建立多个版本库只需将名称进行换名即可。
首先以cmd命令窗口进入svn-win32-1.4.6\bin目录结构下,输入:
>svnadmin create --fs-type fsfs D:/var/svnhome/projects回车,等待提示创建完成;完成后则进行相关密码以及权限设置。
(2)设置密码文件
以cmd命令窗口进入路径Apache Group\Apache2\ bin目录下,然后输入:
> htpasswd -c D:/var/svnhome/projects/conf/<filename> <username>
本例中filename名称使用passwordfile,username名称使用admin(注意filename无需后缀名),这样便可在var/svnhome/projects/conf目录下创建一个用户名为admin的passwordfile文件,此文件将在后面配置权限所用。
此后添加用户,可使用如下命令:
>htpasswd filename <username>
删除用户,使用如下命令:
>htpasswd -D filename <username>
若对密码不想加密可使用-cp参数,windows平台下默认是MD5加密
(3)设置权限文件
用文本编辑器在var/svnhome/projects/conf路径下生成名为svnaccessfile的文件,此名称将在Apache Group\Apache2\conf\httpd.conf配置文件中所用,此处不使用扩展名。编辑一下内容:
[groups]
committers = admin
developers = Allen
[/]
* = r
@developers = r
@committers = rw
[projects:/]
@ developers = rw
基本含义是根目录下任何人有读权限,committers组有读写权限;admin对projects读写权限,而developers组只有读的权限。
备注:如果有中文路径,那要把文件存成UTF8格式,不建议使用中文路径,这在编程当中是严格禁止的.
(4)配置服务
编辑Apache Group\Apache2\conf\httpd.conf文件,添加下面代码。


<Location /svn>
DAV svn
SVNPath "D:/var/svnhome/projects"

AuthType Basic
AuthName "Subversion repositories"
AuthUserFile " D:/var/svnhome/projects/conf/passwordflie"
AuthzSVNAccessFile "D:/var/svnhome/projects/conf/svnaccessfile"

Require valid-user
SVNAutoversioning on
ModMimeUsePathInfo on
</Location>

备注: 如果使用<Location /svn/>可列出D:/var/svnhome/projects 下的版本库,若为<Location /svn>则不能访问http://127.0.0.1/svn下的项目,而只能这样访问,如http://127.0.0.1/svn/<projectname>
(5)配置内容说明
设置 解释
<Location> 意思是Subversion版本库的URL是http://ipaddress/svn/
DAV svn 告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。
SVNPath 告诉Subversion需要查看的版本库位于D:/var/svnhome/projects之下
AuthType Basic 激活基本认证,就是用户名/密码
AuthName 用来说明弹出要求输入认证信息的对话框信息,可以使用中文.
AuthUserFile 指定使用认证密码的文件
AuthzSVNAccessFile 位置Subversion版本库的访问控制权限的路径文件
Require valid-user 指定只有输入了正确的用户/密码的用户可以访问URL
另外如果当此时通过访问http://127.0.0.1/svn提示403 Forbidden错误的信息的话,主要是由于svnserve.conf此文件中的[general]内容password-db = passwordfile内容加入(或者将原来的#去掉,同时将passwd修改你所创建的密码文件,本例中为passwordfile),也可以实现根目录的访问了!
2.4 安装TortoiseSVN(可选)
此工具是客户端软件,主要可以用于从服务器上check版本库项目以及updata与commit等相关SVN的管理操作,其下载地址为:http://tortoisesvn.net/downloads,另外还可以下一个语言包,都在给其的subversion官方网站上能下到.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值