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

Subversion (SVN) 的详细介绍请点这里
Subversion (SVN) 的下载地址请点这里

猜你喜欢

转载自www.linuxidc.com/Linux/2017-07/145358.htm