SVN安装相关的基本知识

  • A+
所属分类:运维技术

如果你是一个新手,在安装svn时,你可能会去网上搜索一篇文章,然后参考着这篇文章进行安装,但是搜索出的结果往往让你更加迷惑,因为不同的操作系统下,提供的安装方案不同,而且使用的软件也不尽相同,如果你本来就不太了解它们之间的区别,这样往往会让你更加疑惑,而这片文章先将这些基础信息进行了总结,然后再介绍怎样搭建svn服务器。

看完这篇文章之后,不管是在Windows中安装SVN,还是在Linux中安装SVN,都会让你更加轻松明了的安装它们。

 

版本管理软件中,目前最常用的还是svn和git,此处我们只总结与svn安装相关的一些基本知识。

svn是apache软件基金会的一款开源的版本控制软件,svn全称为subversion

SVN安装相关的基本知识

svn是一款C/S架构的软件,也就是说,如果我们想要使用svn,则需要有两个部分,svn服务端,svn客户端,刚才说它是C/S架构的,但是svn服务端也能与apache httpd相结合,从而使用http协议访问svn服务器,如果svn服务端同时与httpd和openssl结合,还能够通过https地址访问svn服务器,如果svn服务端不与httpd进行结合,只是单纯的使用svn本身,那么,svn客户端则只能通过原生的svn协议访问svn服务器,刚才,我们提到了三种访问svn服务端的方式,他们可以通过不同的url访问svn服务器,示例url如下:

svn://localhost/zsythinkrepos

http://localhost/zsythinkrepos

https://localhost/zsythinkrepos

我们什么都还没有做,就出现了3种不同的情况,这就是为什么你在网上搜索了一下"怎样安装SVN",出来那么多不同安装方案的原因之一,没错,这只是原因之一,还有其他原因,我们继续聊。

 

apache官网只发布了svn的原代码,所以,如果你想要直接通过apache发布的源代码安装svn,不管是在windows中,还是在Linux中,都需要有一定的基础,但是幸运的是,一些第三方人士,提供了一些第三方的SVN安装包(二进制包),这些安装包能够满足大多数操作系统平台,而且安装起来更加方便,但是所谓的"第三方"比较多,所以,你在网上搜索"怎样安装svn"时,会出现很多的安装方案,这就是原因之二,如果你是一个新手,推荐使用这些第三方包去搭建svn服务器,而不是使用源码安装,作为一个新手来说,你应该先确定自己想要在哪个平台上安装SVN,然后选择一个对应平台下的合适的第三方软件包,最后,再在网络上找到一篇对应的文章,参考着安装即可,但是如果你是一个纯小白,往往分不清它们之前的区别,所以,我们先来说说各个操作系统下常用的一些安装方案。

 

首先,登录apache svn的官网,如果我们想要获取svn,可以获取svn的源代码,或者获取二进制包,apache官网只维护svn的源码,并不对第三方的二进制包进行维护,第三方自身会对这些第三方包进行维护,如果想要通过源码安装svn,点击source Download连接,我们也可以点击Binary Packages连接,获取到第三方的二进制包。

SVN安装相关的基本知识

 

点击Binary Packages连接以后,可以看到第三方包所支持的操作系统平台,找到你的操作系统对应的连接,即可找到对应的svn安装包。

SVN安装相关的基本知识

那么我们先说windows,再说Linux,其他的操作系统也可参考此步骤进行。

 

可以看到windows下比较成熟的svn第三方提供者都被apache整理到了列表中。

SVN安装相关的基本知识

此处我只说说我个人使用过的第三方svn软件包,用的不深,但是大致介绍一下,还是可以的,如有错误,欢迎指正。

 

CollabNet:CollabNet是老牌的svn第三方提供者,他不仅提供了windows平台下的svn安装包,也提供了Linux平台下的svn安装包,并且通过CollabNet提供的安装包安装完成的svn服务端可以通过一个web界面进行管理。

 

TortoiseSVN:TortoiseSVN的图标是一个小乌龟,很多人接触svn都是从它开始,但是它只是一个svn客户端,也就是说,搭建svn服务端时我们还需要依靠别的第三方软件包,比如 CollabNet 或 VisualSVN 等等,虽然它只是一个svn客户端,但是大多数人在windows下,应该都会首选它作为svn的客户端,因为它的确很好用,Tortoise也提供了git的图形化接口,如果你不使用SVN,而是在使用GIT,也可以尝试使用tortoisegit作为工具。

 

VisualSVN:VisualSVN也是一个不错的svn第三方提供者,如果你是一个初学者,同时你需要在windows server上快速的搭建一个svn服务器,本人推荐首选VisualSVN,我们只要启动安装程序,简单配置即可(很多下一步),VisualSVN既提供了svn服务端,也提供了svn客户端,但是VisualSVN提供的svn客户端貌似是收费的,所以,如果你想要在windows中实现全套的svn解决方案,推荐使用TortoiseSVN作为svn客户端,使用VisualSVN作为svn服务端, VisualSVN提供的svn服务端程序的名称叫VisualSVN Serve,VisualSVN Serve集成了Apache Subversion和Apache httpd,也就是说,如果使用VisualSVN Serve搭建svn服务端,我们不用做过多的配置,即可实现通过http协议访问svn服务端,而且随时打开VisualSVN Serve的程序,即可视图化的管理svn服务端,非常方便,适合新手使用,所以,在windows server中搭建svn服务器,首选此尤物。

 

win32Svn:win32Svn也是svn的第三方提供者,通过win32Svn安装完成后的svn,与通过源码方式安装的svn非常像,我们可以把它理解成别人帮我们编译好的二进制svn程序,省略了我们在windows中编译svn源码的步骤,我们只要使用win32Svn安装即可获得可以运行的svn服务端,甚至连环境变量都帮我们配置好了,但是,这样安装的服务端并没有什么图形化管理界面,如果你对svn的各种命令还不熟悉,就不要使用win32Svn了,如果只安装了win32Svn,就相当于只是安装了一个纯粹的SVN,所以我们只能通过svn协议访问svn服务端。

 

其实,不管是通过哪种方式安装svn,不管是通过哪个第三方去安装svn,最终安装的都是一些可运行的svn二进制程序,只是有的第三方为我们提供了管理界面,有的第三方没有提供,没有操作界面时,则需要依靠一些命令去操控svn,有些命令是操作服务端的,比如svnserve命令、svnadmin命令,有些命令是客户端命令,比如svn命令,其实svn命令本身也可以算作一种客户端,只是它不是一种客户端程序,而是一个客户端命令。

 

好了,windows第三方svn提供者我只了解这么多,你可以根据自己的情况进行参考。

 

说完了windows,说说Linux,Linux有众多发行版,此处我们只聊聊CentOS中,本人用过的svn第三方提供者(www.zsythink.net)

SVN安装相关的基本知识

yum源:yum源可能是centos中最常用的svn第三方提供者之一了,在默认的情况下,CentOS 6.X很有可能默认安装了subversion1.6,而且使用yum源安装svn也是非常方便,如果需要与httpd集成,直接通过yum安装mod_dav_svn即可。但是本人在通过yum安装svn以后,集成http后,总会有一些小毛病,所以本人推荐在Linux中使用源码安装SVN服务器,而且不管是通过yum还是通过编译安装,最终都是通过命令行去操作svn,也更符合Linux管理员的使用习惯。

 

CollabNet:CollabNet我们已经说过了,它即提供了windows下的安装包,也提供了Linux下的安装包,本人就是在Linux中短暂的使用过一段时间的CollabNet,因为当时并没有多少使用经验,所以为了更加方便自己的使用,首要选择了它,因为他有一个web管理界面,这对不熟悉svn命令的某些同学来说,可能非常有吸引力。

 

Linux中的svn第三方提供者我就了解这么多,就先总结到这里吧。

 

如果你对svn很熟悉,那么一定觉得我说了一整篇的废话,如果你是新手,希望这篇文章能够帮到你,老规矩,求点赞、评论、推荐、收藏~~~。

 

如果你想要在Linux中使用源码编译安装SVN,可以参考本博客中的另一篇文章,文章链接如下,其中记录了详细的安装步骤。

Centos6.X中搭建SVN服务器,支持http与https

 

weinxin
我的微信公众号
关注"实用运维笔记"微信公众号,当博客中有新文章时,可第一时间得知哦~
朱双印

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:3   其中:访客  3   博主  0

    • avatar 奥特曼 1

      git和svn用哪个好啊

      • avatar 亦双弓 3

        占个板凳 :grin:

        • avatar echo 6

          什么时候写的SVN系列呢 以前没发现呢 :mrgreen: