Linux下subversion简单的安装部署配置

在日常工作中subversion—SVN是一个极为常见且比较重要的一个软件,它可以实现文件的版本控制使得多人可以共同协作的一个工具,在Linux的系统中一般情款下都会有集成安装,当然有的时候没有装也可以通过配置好的yum源来快速安装部署,在此就简单的说一下。

[root@localhost ~]# yum -y install subversion

[root@localhost ~]# svnserve --version

这样subversion就安装完了,并且在查看版本时我们得知subversion版本和2种存储模式,分别是:fs_base和fs_fs,在这2中模式中各有优缺点,在官方给出的说明中有一个表格,如下:

特性Berkeley DBFSFS
对操作中断的敏感   很敏感;系统崩溃或者权限问题会导致数据库“塞住”,需要定期进行恢复。   不敏感  
可只读加载   不能   可以  
存储平台无关   不能   可以  
可从网络文件系统访问   不能   可以  
版本库大小   稍大   稍小  
扩展性:修订版本树数量   无限制   某些本地文件系统在处理单一目录包含上千个条目时会出现问题。  
扩展性:文件较多的目录   较慢   较慢  
检出最新代码的速度   较快   可以  
大量提交的速度   较慢,但时间被分配在整个提交操作中   较快,但最后较长的延时可能会导致客户端操作超时  
组访问权处理   对于用户的 umask 设置十分敏感,最好只由一个用户访问。   对 umask 设置不敏感  
功能成熟时间   2001 年   2004 年  

在安装好后,此时就需要新建一个文件夹用于存放SVN的版本数据,然后指定创建SVN的版本库及使用的存储模式,当然如果没有指定默认都是使用fs_fs模式

[root@localhost ~]# mkdir /data/svndata/

[root@localhost ~]# svnadmin create /data/svndata/

#或者svnadmin create --fs-type fsfs /data/svndata/,如果要使用fs_base,就svnadmin create --fs-type bdb /data/svndata/

在创建完成后就会在/data/svndata文件夹中生成相应的库及配置文件、文件夹,其中conf文件夹中有3个文件authz、passwd、svnserve.conf,其中authz目录权限控制文件,passwd是明文用户密码配置文件,svnserve.conf是SVN的设置配置文件。

在svnserve.conf配置文件中先要把以下几行的注释去掉,编辑修改

anon-access=none

#匿名访问的权限,可以是read,write,none,默认为read 

auth-access=write

#使授权用户有写权限 

password-db=passwd

#密码数据库的路径 

authz-db=authz

#访问控制文件 

realm=/data/svndata/

#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

启动就用svnserve中使用-d参数用demon启动,-r参数指定路径的启动就好,参数如下:

[root@localhost ~]# svnserve -d -r /data/svndata/

SVN默认监听端口是tcp的3690端口,在开启后要注意开启防火墙。如果是在svnserve.conf配置文件中有开启,当然如果没有使用sasl的话密码都是明文在passwd文件中的,如果是启用就可以根据实际把配置文件放在sql数据库中或者是其它加密文件中,当然在此就不做过多的说明,就以明文密码为例,其中authz的配置如下:

[groups]

harry_and_sally = harry,sally

#harry_and_sally组

[/foo]

harry = rw

#harry在版本库的/foo整个目录下可读可写

* = r

#/foo目录下整个都有用户可读

[/boo]

sally = r

#sally在/boo目录下整个可读

[/coo]

@harry_and_sally = rw

#harry_and_sally用户组在/coo目录下整个可读可写

这些配置文件在改好保存后立即生效,不需要重启SVN,平时访问svn时可以安装好SVN的客户端工具后URL用SVN://IP或域名来访问。

Ubuntu 14.04 下搭建SVN服务器 SVN:// 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1e147db4ce1574f83ff23e9b9ae047da.html