yum install subversion

mkdir -p /opt/svn/repos
svnadmin create /opt/svn/repos

vi /opt/svn/repos/conf/authz
[groups]
#用户组所对应的用户
admin = aaa,bbb,ccc
user = test,tt
[/]
# admin组有读写的权限
@admin = rw
# user组只有读的权限
@user = r
# 除了上面设置的权限用户组以外,其他用户都禁止访问本目录
* =

vi /opt/svn/repos/conf/svnserve.conf
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#使授权用户有写权限
auth-access = write
#使用哪个文件作为账号文件
password-db = passwd
#使用哪个文件作为权限文件
authz-db = authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = /opt/svn/repos

vi /opt/svn/repos/conf/passwd
[users]
taro = taro_passwd
admin = Admin1234
root = root1234
test = test1234

vi /etc/sysconfig/svnserve
OPTIONS="-r /opt/svn/repos"

=============
subversion目录说明:
*dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据
*db目录:就是所有版本控制的数据存放文件
*hooks目录:放置hook脚本文件的目录
*locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端
*format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
*conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

=============
yum install mod_dav_svn

vi /etc/httpd/conf/httpd.conf
ServerName

vi /etc/httpd/conf.d/subversion.conf
# 有需要的话,请确定你删除这两行的注释
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
# 加入下列内容来支持基本验证,并将 Apache 指向实际放置版本库的地方。

DAV svn
SVNPath /opt/svn/repos
AuthType Basic
AuthName “Subversion repos"
# AuthUserFile /etc/svn-auth-conf
Require valid-user

cd /opt/svn
chown -R apache.apache repos
chcon -R -t httpd_sys_content_t repos

===============
备份原服务器数据仓库
导出:
svnadmin dump /opt/svn/repos >/data/svn_dump
导入:
svnadmin load /opt/svn/repos/ < /tmp/full_dump.file

直接备份源文件
tar zcvf reposbak.tar.gz /opt/svn/repos
拷贝至目标数据库,解压缩
tar zxvf reposbak.tar.gz -C /opt/svn