因为之前用的是Win Server 2012 跑的VirtualSVN Server 服务。现在要迁移到Linux服务器上来,所以在这里记录一下迁移过程。
SVN + Apache 搭建
- Centos7
- Svnserver 1.8
首先目标机器肯定是要安装SVN,这里要注意一点的是目标机器SVN版本一定要和之前的SVN版本一致。
因为Centos7默认的Yum源SVN版本是1.7,而Windows上面这里是1.8。所以这里要添加一个1.8的SVN Yum源。
Svn安装
1 | sudo tee /etc/yum.repos.d/wandisco-svn.repo << EOF |
Apache 配置1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23tee /etc/httpd/conf.d/subversion.conf << EOF
# WANdisco Subversion Configuration
# For more information on HTTPD configuration options for Subversion please see:
# http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html
# Please remember that when using webdav HTTPD needs read and write access your repositories.
# Needed to do Subversion Apache server.
LoadModule dav_svn_module modules/mod_dav_svn.so
# Only needed if you decide to do "per-directory" access control.
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /svn/
AuthType Basic
AuthName "SVN Repo"
AuthzSVNAccessFile /svn/authz
AuthUserFile /svn/htpasswd
Require valid-user
</Location>
EOF
service httpd start
systemctl enable httpd
SVN 迁移
代码迁移
因为我之前是用hotcopy备份的。所以直接把hotcopy备份的文件打包之后通过XFTP传到目标机器
配置迁移
在VittualSvn Server 的 Repositories root 会有SVN的用户密码文件以及分组文件。我们同样把它拷贝的目标机器
- htpasswd 保存的用户名和密码
- groups.conf 保存的分组信息
还原
1 | svnadmin hotcopy yourproject /svn/yourproject |
用户和分组信息还原1
2cp htpasswd /svn/
cp group.conf /svn/authz
启动SVN1
2svnserver -d -r /svn
echo "svnserver -d -r /svn" >> /etc/rc.local
关于SVN权限迁移
目前还不知道如何把Windows VirtualSvn server 的权限迁移过来,所以迁移过后权限需要重新编辑authz这个文件重新设置
这个时候就可以在浏览器访问到你的SVN了
用户名和密码和之前的一样
参考:
http://151wqooo.blog.51cto.com/2610898/1256188/
https://my.oschina.net/u/206356/blog/287635
http://home.51.com/hewei732099/diary/item/10054557.html