作者:风雨的博客
转自:http://blog.163.com/yang_jianli/blog/static/161990006201211178580919/
svn服务要迁移到其它linux主机上
原服务器svn配置
仓库路径:/home/svn/repos
权限文件:/home/svn/svn-access-file
用户认证文件:/home/svn/passwordfile
apache 配置文件:/etc/httpd/conf.d/subversion.conf
svn 服务启动脚本 /etc/init.d/svn
做法如下
一、在原服务器上备份svn,备份内容如下
1.备份/home/svn/svn-access-file文件
2.备份/home/svn/passwordfile文件
3.备份/etc/httpd/conf.d/subversion.conf文件
4.备份/etc/init.d/svn文件
5.将版本库导出为一个文件,使用如下命令
- svnadmin dump /home/svn/repos > svn_bak
将以上备份的文件传到linux新主机的某个目录下,如/root/
二、在新的linux环境上安装svn和apache,配置
1.安装svn,使用如下命令
- yum install subversion
- yum install httpd
- yum install mod_dav_svn
2.创建仓库文件夹
- mkdir /home/svn/
- mkdir /home/svn/repos
3.运行创建版本库的命令,指定数据存储为 FSFS,如果要指定为 Berkeley DB,则将 fsfs 替换为 bdb
- svnadmin create --fs-type fsfs /home/svn/repos
三、恢复svn数据
- svnadmin load /home/svn/repos/ < /root/svn_bak
2.恢复权限、认证配置文件
- mv /root/svn-access-file /home/svn/
- mv /root/passwordfile /home/svn/
- mv /root/subversion.conf /etc/httpd/conf.d/
3.给版本库权限
- chown -Rvf apache /home/svn/
- chomd 755 /home/svn/
注:这一步很重要,如果没有,可能会出现
Can't create directory '/home/svn/repos/db/transactions/1-2.txn': Permission denied这样的错误,因为在svnadmin create时是root身份,所以,mod_dav_svn就没有write权限等。
四、启动svn
把svn文件恢复到 /etc/init.d/目录下,给它可执行的权限,然后
service svn start