首页 > 代码库 > subversion部署配置
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部署配置