- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Apache 与 Subversion 搭建安全的版
Apache 和 Subversion 搭建安全的版
作为新一代的开源版本控制工具,Subversion以其目录版本化、原子提交、版本化的元数据、更加有效的分支和标签等优良特性,正逐渐受到开源软件社区的重视,并有望取代CVS,成为开源软件开发中版本控制的首选系统。在服务器端,Subversion最大的独特之处,在于它可以通过一个扩展模块与Apache的HTTP服务器相结合,实现很多高级的管理功能和安全特性。与CVS相比,Subversion实现了更加先进和安全的用户认证功能。在Apache的支持下,用户可以通过HTTP协议访问版本库,管理员可以对用户访问HTTP的权限做出具体的设置,同时Subversion还可以获得SSL传输加密,用户数据加密,以及目录级的访问控制等特性。
本文将在服务器端配置工作的角度,结合作者在实际开发工作当中的配置实例,介绍Subversion服务器端的基本配置和管理,以及如何将Subversion与Apache结合,实现一些高级管理功能。在开源软件的开发过程当中,由于开发方式自由和开发人员分散这些特性,版本控制问题一直是关系到项目成败的重要问题。没有版本控制系统的支持,开源软件的开发过程就是混乱和不可控制的。
长期以来,CVS作为一种普遍采用的开源版本控制工具,在很多的开源软件项目当中充当了重要的角色。在Eclipse当中,更是把CVS作为一个默认的插件,与Ant,JUnit等工具并列在一起,成为Eclipse软件开发的基本工具。近年来,随着开源社区的发展,一种功能更加强大的开源版本控制工具逐渐进入了人们的视野,那就是Subversion,凭借着更为优秀的特性,Subversion正在逐步取代CVS,成为新一代的开源版本控制工具。
相比CVS,Subversion中的目录、文件以及改名等元数据都是被版本化的,例如文件的改名、拷贝等等操作;而且,在Subversion中,提交操作是不可分割的,修订版本号是基于每次提交操作而非文件;另外,Subversion可以独立运行,有着轻量级的分支(Branching)与标签(Tagging)操作,版本库可以采用数据库(Berkeley DB)或者是使用特定格式的文件进行存储,对二进制文件进行处理更为有效;最后,Subversion工具以及相关插件都有着很好的国际化支持,可以支持包括简体中文在内的多种语言版本,方便全球各地的开发人员。这些优秀的新特性,使得Subversion成为开源社区目前的最佳选择。
对于普通用户,即应用程序开发者而言,尤其是对Eclipse的用户而言,Subversion的使用十分的简单。通过官方提供的Eclipse插件Subclipse,用户可以在Eclipse里面很方便的使用Subversion客户端的各项基本功能。具体的客户端设置和使用方法,请参考Subversion官方网站和Subclipse官方网站。简单说来,在Eclipse中使用Subversion插件的基本功能,如更新、提交、同步、分支等等,基本上同使用Eclipse自带的CVS插件一模一样,这样,用户就可以从CVS方便的转移到Subversion。
目前,Subversion已经升级到1.3.2版本,相关下载、特性说明和详细使用手册可以在Subversion主页上找到。
有了简单易用的客户端,大部分的用户都可以轻松使用Subversion了,不过,作为服务器端的管理人员,还必须进一步了解服务器端的基本配置管理,才可以充分利用Subversion的各项优秀特性。
Subversion的版本库(repository),就是位于服务器端,统一管理和储存数据的地方。本文中,我们以Linux为例,介绍在服务器端配置和管理Subversion版本库的基本方法。
要创建一个版本库,首先要确定采用哪种数据存储方式。在Subversion中,版本库的数据存储有两种方式,一种是在Berkeley DB数据库中存放数据;另一种是使用普通文件,采用自定义的格式来储存,称为FSFS。
两种存放方式各有优缺点,读者可以参考上面的文档来了解两者详细的比较和区别,这里,我们仅引用上述文档当中的简单对照表,给出一个简明的比较。
表1两种版本库数据存储对照表
特性Berkeley DBFSFS
对操作中断的敏感很敏感;系统崩溃或者权限问题会导致数据库塞住,需要定期进行恢复。不敏感
可只读加载不能可以
存储平台无关不能可以
可从网络文件系统访问不能可以
版本库大小稍大稍小
扩展性:修订版本树数量无限制某些本地文件系统在处理单一目录包含上千个条目时会出现问题。
扩展性:文件较多的目录较慢较慢
检出最新代码的速度较快可以
大量提交的速度较慢,但时间被分配在整个提交操作中较快,但最后较长的延时可能会导致客户端操作超时
组
文档评论(0)