Subversion安装
上一篇 /
下一篇 2008-02-29 15:49:02
/ 个人分类:配置管理
其实安装SubVersion有好一阵了,也是在网上找到别人的文章学习的,今天学习VoiceXML累得心血来潮,自己把找到的文档整理了下,贴一个
(我把自己用到的部分整理出来了,
其它的内容还见原文)
一、安装Apache
从Apache网站http://httpd.apache.org/download.cgi下载Apache,请确定版本高于在2.0.54,我用的是2.0.59.之前用了2.2.4无法正常工作。
根据安装程序提示安装。注意,输入正确的server的URL很重要,如果你的服务器没有dns名称,可以直接输入IP地址。我建议安装Apache为所有用户,在80端口,作为一个服务
。注意:如果你已经使用了IIS的80端口或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录\Apache Group\Apache2\conf
,打开httpd.conf
。编辑文件的Listen 80
为其他可用的端口,例如Listen 81
,然后重新启动-这样就不会那个问题了。
现在可以测试Apache服务器了,将浏览器指向http://localhost/
-将会看到一个预先配置的网站。
注意:
如果你决定将Apache安装为服务,缺省情况以本地系统帐户运行会发出警告,更安全的方法是为Apache创建一个单独的运行帐户。
请确认Apache运行的帐户是版本库目录的访问控制列表(右键目录|属性|安全)中一个明确的条目,对目录有完全的控制能力,否则,用户不能提交他们的修改。
即使Apache运行于本地系统,你仍然需要这个条目(这种情况下将是SYSTEM帐户)。
如果没有设置Apache的访问权限,你的用户会得到“拒绝访问(Access denied)”的错误信息,在Apache的错误日志中为错误500。
二、安装Subversion
从http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91下载最新版本的Subversion 。运行Subversion安装程序,并根据指导安装,如果Subversion认识到你安装了Apache,你就几乎完成了工作,如果它没有找到Apache服务器,你还有额外的步骤。
使用Windwos资源管理器,来到Subversion的安装目录(通常是c:\program files\Subversion
),找到文件/httpd/mod_dav_svn.so
和mod_authz_svn.so
,拷贝这些文件到Apache的模块目录(通常是c:\program files\apache group\apache2\modules
)。
从Subversion安装目录将/bin/libdb43.dll
拷贝到Apache的模块目录。
使用记事本之类的文本编辑器修改Apache的配置文件(通常是C:\Program Files\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
三、配置
现在已经设置了Apache和Subversion,但是Apache不知道如何处理Subversion客户端,我用的是TortoiseSVN。为了让Apache知道哪个目录是用来作为Subversion版本库,需要使用编辑器(例如记事本)编辑Apache的配置文件(通常是c:\program files\apache group\apache2\conf\httpd.conf
):
在配置文件最后添加如下几行:
<Location /svn> DAV svn SVNListParentPath on SVNParentPath D:\SVN AuthType Basic AuthName "Subversion repositories" AuthUserFile passwd #AuthzSVNAccessFile svnaccessfile Require valid-user </Location>
这个配置告诉Apache你的所有的Subversion版本库在物理上位于D:\SVN
,版本库对外的URL是:http://MyServer/svn/
,访问需要文件passwd
中的用户/密码限制。
创建配置库
浏览
为了创建passwd
文件,再次打开命令行提示符(DOS),来到apache2目录(通常是c:\program files\apache group\apache2
)通过输入下面的命令创建文件
bin\htpasswd -c passwd <username>//建立密码文件
This will create a file with the name passwd which is used for authentication. Additional users can be added with
bin\htpasswd passwd <username>//修改密码文件,增加新用户。如c:\program files\apache group\apache2>bin\htpasswd mm,回车后按提示写密码。
注意:添加新用户时一定要在"c:\program files\apache group\apache2>"目录下操作
写好的
文件存放在.../apache2/目录中
进入浏览库:在c:/svn/hichina/conf/passwd中,可以修改登陆浏览库的用户名和密码。
再次重启Apache服务。
将浏览器指向http://MyServer/svn/MyNewRepository
(MyNewRepository
是你此前创建的版本库名),如果一切正常,你会被提示输入用户名和密码,然后你会看到版本库的内容。
刚才输入的解释是:
表 3.1. 设置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 之下 |
AuthType Basic | 激活基本认证,就是用户名/密码 |
AuthName "Subversion repositories" | 用来说明何时弹出要求用户输入认证信息的认证对话框 |
AuthUserFile passwd | 指定使用的认证密码文件 |
AuthzSVNAccessFile | 位置Subversion版本库的访问控制文件的路径 |
Require valid-user | 指定只有输入了正确的用户/密码的用户可以访问URL |
但是那只是一个例子,对于Apache有很多的选择。
五、创建版本库
使用命令行工具创建版本库
创建一个名为SVN(例如D:\SVN\
)的空文件夹,作为你的所有版本库的根。
在D:\SVN\
里创建另一个目录MyNewRepository
。
打开命令行窗口(或DOS窗口),进入D:\SVN\
目录,输入
svnadmin create --fs-type bdb MyNewRepository
或
svnadmin create --fs-type fsfs MyNewRepository
现在你在D:\SVN\MyNewRepository
创建了一个新的版本库。
创建一个新的文件夹,命名为SVNRepository
右键点击新创建的目录,选择TortoiseSVN→在此创建版本库...。
然后就会在新文件夹创建一个版本库,不要手工编辑这些文件!!!如果你得到什么警告,一定要先确定目录非空并且没有写保护。
为了访问本地版本库,你需要这个文件夹的路径,只要记住Subversion期望所有的版本库路径使用的形式为file:///C:/SVNRepository/
,请注意全部使用的是斜杠。
为了访问网络共享中的版本库,你可以使用驱动器影射或使用UNC路径,对于UNC路径,形式为file://ServerName/path/to/repos/
,请注意这里前面只有两个斜杠。
在SVN 1.2之前,UNC路径曾经是一种非常晦涩的格式file:///\ServerName/path/to/repos
,这种格式依然支持,但不推荐。
相关阅读:
- [答复网友问题]根据公司的情况,建几个库比较合理阿? (luoyear, 2008-1-09)
- 联想集团软件部的软件配置管理具体做法 (51testing, 2008-1-16)
- 规范软件开发过程--软件配置管理实践 (51testing, 2008-1-21)
- Apache 配置文件详解 (lf0026, 2008-1-28)
- 软件配置管理最佳实践 (51testing, 2008-1-29)
- 用CVS来管理自己的程序 (51testing, 2008-1-29)
- 配置管理变更的关键路径 (51testing, 2008-1-29)
- 软件测试配置管理 (51testing, 2008-1-29)
- SCM的自动化配置管理 (51testing, 2008-2-20)
- 使用配置管理工具进行持续集成开发 (51testing, 2008-2-20)
收藏
举报
TAG:
配置管理