`
firewings
  • 浏览: 45061 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基于Windows的SVN安装与配置

阅读更多

1 什么是SVN?

SVN全称为Subversion, 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。 许多人会把版本控制系統想像成某种 “时光机器”。

某些版本控制系統也是 SCM(software configuration management) 系统。 这些系統是特別设计来管理大量代码的, 而且具有许多专门针对软件开发的功能,像通俗易懂的程序语言, 或是提供编译软件的工作。 不过Subversion 并不是这样的系统; 它是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源码。

版本控制是管理数据变更的一种技术。对于开发人员来说,它已经成为不可或缺的工具,因为他们经常修改软件代码,产生部分的变更,然后第二天再取消所有的变更。想象有一群程序员同时工作的情况你就能理解,为什么需要一个良好的系统来管理可能出现的混乱。

2 SVN服务器端安装与配置

2.1安装Apache

本安装基于windows操作平台,因为要搭建此项目管理服务器,所以必须要先安装Apache服务器。

(1)下载Apache

注意:Apache低于2.0.54的Windows版本的存在编译问题,不能与Subversion 1.2一起工作。2.2.X目前不能很好支持SVN 1.4.3。所以当前建议下载Apache 2.0.63版本。其他版本请在此http://httpd.apache.org/download.cgi下载。

(2)安装

下载完成后运行apache_2.0.63-win32-x86-no_ssl.msi。设置系统信息,在Network Domain下填入您的域名(比如:workyee.com),在Server Name下填入您的服务器名称(比如:www.workyee.com,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:t.a.i@163.com),如果你的服务器是本地或者没有DNS名称,请直接输入IP地址。上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者(此三条信息也可在安装后进行修改,该文件位于Apache Group/Apache2/conf/httpd.conf文件)。下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动(如发生安装失败情况可以打开Apache Group\Apache2\conf\httpd.conf,编辑文件的Listen 80为其他可用的端口,然后用CMD进入命令行模式进入你安装apache的目录/apache2/bin输入apache -k install和apache -k start)。一般选择如下图所示。按“Next”继续。

 

安装完成后浏览 http://localhost/ 若成功,可看到如下图apache欢迎页面。

 

2.2 安装SVN

(1)下载SVN

在本实例中,选择下载svn-win32-1.5.4.zip此版本,其他版本可以在此下载http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

(2)安装

将svn-win32-1.5.4.zip压缩包解压,从svn-win32-1.5.4\bin 中将mod_authz_svn.so mod_dav_svn.so复制到Apache Group\Apache2\modules下,再将svn-win32-1.5.4\bin目录下的所有dll文件全部复制到Apache Group\Apache2\bin文件夹下。

修改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看到下图状态栏显示Apache/2.0.63(Win32) SVN/1.5.4 DAV/2即表示安装成功。

 

2.3 配置SVN

(1)建立版本库

首先建立一个用于存在SVN项目的版本库,本例中在D盘驱动器中建立目录SvnTrac/svn,可通过如下命令建立版本库,当然如果你需要建立多个版本库只需将名称进行换名即可。

首先以cmd命令窗口进入svn-win32-1.5.4\bin目录结构下,输入:

>svnadmin create --fs-type fsfs D:/SvnTrac/svn/projects回车,等待提示创建完成;完成后则进行相关密码以及权限设置。

(2)设置密码文件

以cmd命令窗口进入路径Apache Group\Apache2\ bin目录下,然后输入:

> htpasswd -c D:/SvnTrac/svn/projects/conf/<filename> <username>

本例中filename名称使用pw,username名称使用admin(注意filename无需后缀名),这样便可在SvnTrac/svn/projects/conf目录下创建一个用户名为admin的pw文件,此文件将在后面配置权限所用。

部分添加用户操作,可使用如下命令:

添加用户:>htpasswd -d filename <username>

添加用户不带MD5加密用户:>htpasswd -p filename <username>(windows平台下默认是MD5加密)

删除用户:>htpasswd -D filename <username>

(3)设置权限文件

用文本编辑器或在CMD下在SvnTrac/svn/projects/conf路径下生成名为access的文件,此名称将在Apache Group\Apache2\conf\httpd.conf配置文件中所用,此处不使用扩展名。

编辑一下内容:

[groups]
administrator = admin
user = allen
[/]
* = r
@user = r
@administrator = rw
[projects:/]
@user = rw

内容含义为根目录下任何人有读权限,administrator组默认有读写权限;user组对projects也有读写的权限。admin和allen为对应组员,增加组员用","搁分。备注: 如果有中文路径,那要把文件存成UTF8格式,不建议使用中文路径,这在编程当中是严格禁止的。

(4)配置Apache

<Location /svn>
DAV svn
SVNPath "D:/svntrac/svn/projects"
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "D:/svntrac/svn/projects/conf/pw"
AuthzSVNAccessFile "D:/svntrac/svn/projects/conf/access"
Require valid-user
SVNAutoversioning on
ModMimeUsePathInfo on
</Location>

备注: 如果使用<Location /svn/>可列出D:/svntrac/svn/projects 下的版本库,若为<Location /svn>则不能访问http://127.0.0.1/svn下的项目,而只能这样访问,如http://127.0.0.1/svn/<projectname>。注意配置信息时不要出现不必要的空格,以免apache启动出错。

配置内容说明

设置
解释

<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


重启apache并访问http://127.0.0.1/svn,如出现下图即表示SVN安装配置成功。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics