linux系统安装subversion 服务器与配置.docx

上传人:b****7 文档编号:9242870 上传时间:2023-02-03 格式:DOCX 页数:11 大小:19.77KB
下载 相关 举报
linux系统安装subversion 服务器与配置.docx_第1页
第1页 / 共11页
linux系统安装subversion 服务器与配置.docx_第2页
第2页 / 共11页
linux系统安装subversion 服务器与配置.docx_第3页
第3页 / 共11页
linux系统安装subversion 服务器与配置.docx_第4页
第4页 / 共11页
linux系统安装subversion 服务器与配置.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

linux系统安装subversion 服务器与配置.docx

《linux系统安装subversion 服务器与配置.docx》由会员分享,可在线阅读,更多相关《linux系统安装subversion 服务器与配置.docx(11页珍藏版)》请在冰豆网上搜索。

linux系统安装subversion 服务器与配置.docx

linux系统安装subversion服务器与配置

 

SVN安装与配置技术文档

 

内容目录

1.引言3

1.1编写原因3

1.2编写目的4

1.3参考4

2.概述5

2.1SVN简介5

3.安装步骤6

3.1安装前的准备6

3.1.1安装环境要求6

3.3.1.1安装环境要求6

3.2设置7

3.2.1Apache配置7

3.1.2Subversion配置7

3.1.3创建用户并设置密码8

3.1.4设置版本库9

3.1.5导入数据11

3.1.6权限设置12

4.使用Subversion客户端TortoiseSVN13

4.1在windows系统环境下下载和安装TortoiseSVN13

4.2浏览资源库

1.引言

1.1编写原因

由于公司一直在版本的管理上采用的都是CVS系统,总体上而言还是很优秀的,经过多

年的项目开发管理经历,在使用CVS系统在管理中大型的软件项目时还是遇到了很多不可克

服的缺陷和与现行,主要表现在如下几个方向:

1、无法进行文件名称的修改活动,这样就会导致必须先删除该文件在上传,丢失了历

史信息;

2、目录名称没有管理,使得在项目的目录结构管理比较麻烦;

3、项目分支代价太高,需要对每一个文件都进行标记,对于大的项目耗时太长,并且

基本上不能删除废弃了的分支和标记,因为那样很容易导致项目仓库的损坏;

4、对于文件二进制和文本的处理经常会出现混乱,结果就是将二进制文件当做文本上

传后内容被扩展导致丢失,因为有些时候二进制文件的扩展名和某些文本文件的扩

展名相同了,所以导致CVS识别出错;

于是选择SVN来替代CVS系统,以解决上述问题;

1.2编写目的

1、符合公司未来发展的管理要求,实现公司管理体系的组合;

2、提高公司管理效率,降低公司管理成本;

3、明确公司员工行为规范,加强公司内部及客户现场开发管理;

1.3参考

http:

//wiki.centos.org/zh/HowTos/Subversion

2.概述

2.1SVN简介

Subversion是一个自由、开源的版本管理系统,可以免费使用,这也是Subversion

能够迅速串红的原因之一。

Subversion有两种运行方式,一种是基于ApacheHttpServer,另外一种是Subver

sionStandaloneServer。

下面所讲的是基于ApacheHttpServer的sunversion,这

样做有几个好处:

1、能够使用WebDAV协议;

2、能使用浏览器作为客户端工具浏览源码仓库;

3、可以很容易的支持到SSPI(windows域认证)和LDAP(轻量目录访问协议),这些

都是Apache本身就支持的;

4、能得到比较晚上的Apache安全认证系统,比如SSL加密连接;

3.安装步骤

3.1安装前的准备

3.1.1安装环境要求

1.机器配置要求:

1)内存:

2G

2)swap分区大小:

如果内存为大于512M则swap大小为内存2倍如果内存在1到2G之间则swap大小为内存1.5倍如果内存在2到8G之间则swap大小为内存1倍如果内存大于8G则swap大小为内存0.75倍。

3)磁盘要求:

/opt鉴于公司所有服务器PC机,硬盘空间普遍在300G左右,建议/opt在100G左右。

2.软件环境:

1)操作系统:

centOS5.6

2)SVN服务器:

subversion-1.6.11

3.3.1.1安装环境要求

在终端输入命令:

yuminstallmod_dav_svnsubversion

该命令会自动从网络中搜索合适的svn安装文件,找到后会自动下载并安装;同时,如

系统中没有安装apache,这段命令也会将其拉进来一并安装好;

3.2设置

3.2.1Apache配置

在进一步学习之前,需要确定Apache已经设置好。

首先打开/ect/httpd/conf/httpd.conf,然后修改ServerName

这个指引。

如果需要协助或拥有更复杂的设置,可以参考Apache的文件;

在终端输入命令:

#servicehttpdstart//开启apache服务

#chkconfighttpdon

输入以上命令,然后在浏览器上输入:

http:

//localhost/或http:

//192.168.1.*如

果弹出测试页面则apache启动成功!

3.1.2Subversion配置

下一步就是在Apache内设置某些参数,以便Subversion与Apache能够相互支持;

打开文件:

/etc/httpd/conf.d/subversion.conf

确认改配置文件中存在以下两行内容,如果没有则手动添加:

LoadModuledav_svn_modulemodules/mod_dav_svn.soLoadModuleauthz_svn_modulemodules/mod_authz_svn.so

加入下列内容以支持基本验证,并将Apache指向实际放置版本库的路径:

DAVsvn

SVNPath/opt/svn/repos//单版本库目录形式SVNPath/opt/svn///多版本库目录形式

AuthTypeBasic//连接类型设置

AuthName"Subversionsvn"//连接框提示

AuthUserFile/opt/svn/user-auth-list//用户配置文件

AuthzSVNAccessFile/opt/svn/repos/authz//权限配置文件SVNListParentPathon//使用其可以访问主目录

Requirevalid-user//采用何种认证

配置文件的标签设置,如:

中的“/svn”可以任意设置,但是在使

用浏览器访问的时候,根目录必须是“/svn”,否则无法访问;所以严格而言,此处应

该设置成版本库的根目录;

添加完毕以后,保存;然后重启httpd:

#servicehttpdrestart

3.1.3创建用户并设置密码

完成以上步骤之后就需要创建用户并设置密码,以建立用户文档;

开始时,要利用-cm这个选项,它会利用文件并用MD5将口令加密,在再次添加用户

的时候,则无需用到-c,只需-m则可;在之前,需要确认用户文档的根目录存在否,如

果不存在,则需要创建文件夹/svn以充当根目录:

#cd/opt/

#mkdirsvn//在opt目录想创建文件夹“svn”

#htpasswd-cm/opt/svn/svn-auth-list‘yourusername’//‘yourusername’是

添加的用户名,回车后,系统会自动要求添加密码;

#htpasswd-m/etc/svn-auth-list‘yourusername’//继续添加用户的时候-c

没有了,-m的意思就是该用户输入的秘密通过MD5加密;

以上操作完毕之后,在对应的目录下会看到一个文件:

svn-auth-list,点击后能看

到刚才设置的用户名=密码(密码是MD5加密以后的代码)。

至此,用户信息目录创建完成。

注意:

1、用户信息文档是无需手动添加,通过以上命令,系统会自动添加文件夹并将用户

信息保存在文件内;

2、输入命令的时候,所创建的用户信息文档目录和subversion.conf里边

配置的AuthUserFile的路径必须一致,否则客户端访问的时候找不到用户信息;

3、用户信息文档目录是和接下来需要创建的版本库根目录处在同一层,这样方便日

后的维护;

3.1.4设置版本库

设置完用户信息后,就要根据subversion.conf配置文件所配置的目录信息来创建

svn的版本库;

命令如下:

由于在创建用户信息文档的时候,创建了/opt/svn/文件夹,而我们就将用svn来

做版本库的根目录;

#cd/opt/svn/

#svnadmincreaterepos//在svn文件夹下创建版本库repos,在svn下可以创建多个版本库

#chown-Rapache.apacherepos//这段命令非常重要,由于在创建的时候会用到linux的root用户添加,为了避免在客户端操作svn数据时出现权限问题,则使用该命令更改属主为apache用户,并设置可写权限;

#servicehttpdrestart//设置后重启httpd服务

至此,版本库创建完毕,可以通过本机浏览器查看安装效果,

http:

//localhost/svn/repos看到很有趣的显现...如果需要输入用户名和密码,

恭喜!

svn安装完毕!

接下来要做的导入数据并设置权限,从而实现安装svn的真正目

的了。

也可以通过其他PC机访问,但是需要在服务器机器上使用防火墙命令开放

80(apache的默认端口)端口:

iptables-IINPUT-ptcp--dport80-jACCEPT//如果此命令不行,则可用:

/skin/iptables-IINPUT-ptcp–dport80-jACCEPT

然后在客户端通过浏览器访问,OK!

注意:

1、在本机如果无法访问,可能出现的问题是你的subversion.conf配置和输入的路径不

对,查看一下配置文件的开始标签,是否改成了,因为默认的很有可能

就不是这样,而我们在配置的时候就恰恰容易忽略这一点,必须保证“/svn”和你创建

版本库的根目是一致的;

2、如果标签是正确的,那么就要确定subversion.conf中指定的版本库路径和之前创建

的版本库路径是否一致;

3、确定subversion.conf中指定的用户信息文档路径和创建的用户信息版本路径是否一

致;

将以上几点确认完毕后,重启httpd服务:

servicehttpdrestart,继续访问...OK!

3.1.5导入数据

svn安装并访问OK后,导入文件开始操作;需要注意的是在导入项目的过程中,我们

往往会导入多个项目,为了在日后维护和客户端checkout的过程中能准确的找到所需要

要的项目,所以导入项目的命令需要在版本库路径下再写一个文件,将项目导入到改文

件下;

导入文件命令:

命令格式为:

svnimport/导入项目路径/file:

///opt/svn/repos/(项目仓库路径)-m“提示信息!

例如:

svnimport/opt/svn/repos/svnTest1_1file:

///root/svnTest1_1-m“InitialOK”//将root文件夹下的svnTest1_1项目,导入到版本库svnTest1_1的文件下,项目名称和文件名称最好保持一致,这样便于区分;

导入文件OK以后,在浏览器访问http:

//localhost/svn/repos,输入用户信息后则

会看到svnTest1_1项目的结构;

3.1.6权限设置

SVN权限继承关系

1、父目录设置权限,子目录未设置,则子目录继承父目录权限;

2、父目录设置rw,子目录设置r,则子目录实际为r权限;

3、父目录设置r,子目录设置rw,则子目录实际为rw权限;

4、父目录设置了权限,子目录设置空权限(等号后面什么也不写),则子目录无读写

权限;

5、同一目录在配置文件中先后多行设置权限,以最后一行为准;

(略)

4.使用Subversion客户端TortoiseSVN

命令svn是客户端使用的,也是开发人员使用最多的。

既然是命令,当然可以通过

命令行方式来运行,但没欠已经有很多开源好用的客户端软件,比如TortoiseSVN就是

其中一个。

4.1在windows系统环境下下载和安装TortoiseSVN

下载网站:

下载后安装,在windows环境下安装步骤略过;

4.2浏览资源库

TortoiseSVN安装后,在任意文件夹下右击鼠标就可以使用TortoiseSVN菜单了。

1、在TortoiseSVN的快捷键菜单中选择TortoiseSVN==>Repo-browser菜单项,将弹出

输入资源库的地址对话框,如图:

由于服务器端subversion被apache代理,所有通过http:

//来访问;

2、点击OK,出现如图所示的对话框。

这里显示SVN资源库中的所有文件。

4.3在资源库中添加文件夹

1、在左侧的浏览窗口中右击,在弹出的快捷键菜单中选择Createfolder选项,弹出对

话框。

在对话框中输入在SVN服务器上新建的文件夹名:

trunk,如图:

2、SVN简介创建3个目录,分别为:

trunk、branches、tags目录,为什么创建这三个

目录,因为SVN建议采用这种目录结构,每个文件的目的不同:

trunk目录:

程序的主目录,通常源代码的一些文件会保存在这里

branches目录:

保存的是主程序的分支文件,比如同样的一个软件,可能出现分支开

发的情况,那么,可以把分支的代码文件保存在这里;

tags目录:

保存的是源代码分割版本的备份,比如,当软件的版本从version1.0

到version2.0时,需要有一份代码的备份,以备将来能够随时找回原

来的版本;

4.4导入文件到资源库(略)

4.5从资源库中迁出(略)

4.6更新(update)--修改--提交(commit)

4.7解决冲突的办法

4.8历史版本的比较

4.9恢复到之前的版本

4.10TortoiseSVN的配置

4.11与Eclipse的集成

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1