对拷式SVN服务器迁移

背景

原服务器空间占满,更换服务器,ip都换掉。

原服务使用if.svnadmin管理。

新服务器需要保留原有用户列表,原有库提交记录的历史信息。

制约因素

原服务器空间满了,所以不能dump出东西,包括导出。所以准备使用服务器之间直接拷贝,使用scp远程复制svn下repo目录。

经验总结

使用命令行svnadmin create xxxx ,可以创建xxx的目录,该目录下有标准的svn结构包括conf目录,format文件等。

默认的svn协议使用的是conf下面的auth,passwd文件认证。

使用if.svnadmin的地址是http协议,其实使用的是httpd服务的认证。

所以在实践中,repo都导过来后,使用svn协议地址,客户端总是报Authorizatiokn failed的提交错误。其实这里没有走if.svnadmin配置的鉴权导致的。

方法步骤

保证两台服务器可以网络互通,最好走内网速度快

新服务器搭建略过,网上有很多,安装svn,安装httpd,配置php,安装if.svnadmin

从老服务器的svn下拷贝repo目录,使用服务器之间的scp命令直接拷贝。一般都有多个项目,注意拷贝时不要让用户提交内容,可以先将svn的权限收拢或停止。

将老服务器if.svnadmin的passwdfile文件拷贝到新服务器。可以在httpd的配置文件中看到引用的地址。一般在/etc/httpd/conf.d/subversion.conf配置。accessfile文件为分组和项目权限笔者不继承,只是需要用户信息所以没有拷贝,可视情况拷贝。

重启配置新服务器的subversion.conf, 重启新服务器的httpd

if.svnadmin里面的配置,需要test一下,都通过。若是不行,一般是权限问题,使用chown -R apache:apache filenameOrDirname 即可。

注意点

新服务器的路径,看httpd/conf.d/subversion.conf里面配置的路径

新服务器的路径,肯定是http协议的

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181013G1KTQS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券