Windows上SVN迁移至Linux

1.从windows导出svn文件
bat脚本

@echo off

svnadmin dump E:\Repositories\3goodsoft_carbon_admin		> D:/test/3goodsoft_carbon_admin.dump
svnadmin dump E:\Repositories\3goodsoft_android				> D:/test/3goodsoft_android.dump		
svnadmin dump E:\Repositories\3goodsoft_carbon_cloud        > D:/test/3goodsoft_carbon_cloud.dump
svnadmin dump E:\Repositories\3goodsoft_carbon_web          > D:/test/3goodsoft_carbon_web.dump
svnadmin dump E:\Repositories\3goodsoft_code                > D:/test/3goodsoft_code.dump
svnadmin dump E:\Repositories\3goodsoft_doc                 > D:/test/3goodsoft_doc.dump
svnadmin dump E:\Repositories\3goodsoft_operate_web         > D:/test/3goodsoft_operate_web.dump
svnadmin dump E:\Repositories\3goodsoft_shrk_web            > D:/test/3goodsoft_shrk_web.dump
svnadmin dump E:\Repositories\3goodsoft_shzxglpt            > D:/test/3goodsoft_shzxglpt.dump
svnadmin dump E:\Repositories\3goodsoft_smallroutine        > D:/test/3goodsoft_smallroutine.dump
svnadmin dump E:\Repositories\3goodsoft_u3d                 > D:/test/3goodsoft_u3d.dump
svnadmin dump E:\Repositories\3goodsoft_ui                  > D:/test/3goodsoft_ui.dump
svnadmin dump E:\Repositories\accidentprevention            > D:/test/accidentprevention.dump
svnadmin dump E:\Repositories\anrika                        > D:/test/anrika.dump
svnadmin dump E:\Repositories\code-generator                > D:/test/code-generator.dump
svnadmin dump E:\Repositories\construction                  > D:/test/construction.dump
svnadmin dump E:\Repositories\construction_view             > D:/test/construction_view.dump
svnadmin dump E:\Repositories\czrailway                     > D:/test/czrailway.dump
svnadmin dump E:\Repositories\czrailway_view                > D:/test/czrailway_view.dump
svnadmin dump E:\Repositories\ds                            > D:/test/ds.dump
svnadmin dump E:\Repositories\kg-project                    > D:/test/kg-project.dump
svnadmin dump E:\Repositories\kg-project-admin              > D:/test/kg-project-admin.dump
svnadmin dump E:\Repositories\kg-project-PC                 > D:/test/kg-project-PC.dump
svnadmin dump E:\Repositories\oneplusx                      > D:/test/oneplusx.dump
svnadmin dump E:\Repositories\operate                       > D:/test/operate.dump
svnadmin dump E:\Repositories\qrcode                        > D:/test/qrcode.dump
svnadmin dump E:\Repositories\shkt                          > D:/test/shkt.dump
svnadmin dump E:\Repositories\shzxglpt                      > D:/test/shzxglpt.dump
svnadmin dump E:\Repositories\u3d                           > D:/test/u3d.dump
svnadmin dump E:\Repositories\zjxh                          > D:/test/zjxh.dump

然后打成压缩包上传至Linux服务器并解压
在这里插入图片描述
2.安装SVN

yum install subversion

安装完成后创建对应的Windows仓库,每一个都得创建

svnadmin create /home/svn/Repositories/xxx

在这里插入图片描述

然后执行svn脚本 svn_sy.sh ,脚本中的路径更改为自己的
在这里插入图片描述

#!/bin/bash
DIR_HOME="/home/test"
SVN_HOME="/home/svn/Repositories"
files=`cd $DIR_HOME;ls`
pro="test android BackEnd DevOps ios pigcms Product UI wechat WorkLogs"
for file in $files;
do
   #get all *dump files
   project=`echo $file | sed -n '/.*\.dump/p' | cut -d '.' -f1`
   if [ "$project"x != ""x ];then
      if [ "$project" = "$pro" ];then
         continue
      fi
      create_dir="svnadmin create $SVN_HOME/$project"
      svn_load="svnadmin load $SVN_HOME/$project < $DIR_HOME/$project.dump"
      execute create_dir order
      echo $create_dir
      eval $create_dir
      execute svn_load order
      echo $svn_load
      eval $svn_load
   fi
done

每个仓库的conf目录下都有自己authz,passwd和svnserve.conf文件,不好管理
拷贝一份到svn根目录下。然后修改所有仓库下的是svnserve.conf指向根目录下的authz和passwd
修改内容如下

[general]
anon-access= none
auth-access= write
password-db= /home/svn/passwd
authz-db= /home/svn/authz

在这里插入图片描述

在这里插入图片描述
将windows的htpasswd文件和groups.conf拷贝过来
修改根目录的authz,将groups.conf目录下的组信息内容拷过去
然后到每个子仓库下的VisualSVN-GlobalWinAuthz.ini下的权限信息拷贝到authz中
注意前缀要加上仓库名和冒号
在这里插入图片描述
赋予authzhttppasswdpasswd 文件权限
在这里插入图片描述

如果直接使用svn的话,修改下passwd,重新创建用户就行。

然后启动svn

svnserve -d -r /根目录--listen-port 端口号

起来后使用 svn: // 路径就可以访问了,我这边之前是http的,所以需要通过http访问
安装httpd和mod_dav_svn模块

yum install -y mod_dav_svn
yum install -y http

到httpd配置目录下创建文件内容如下

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
<Location /svn>
    DAV svn
    SVNParentPath /home/svn/Repositories
    AuthType Basic
    AuthName "Authorization Realm"
    AuthUserFile /home/svn/httppasswd
    AuthzSVNAccessFile /home/svn/authz
    Satisfy all
    Require valid-user
</Location>
systemctl enable httpd

systemctl start httpd

如果不想使用80端口的话可以修改/etc/httpd/conf/httpd.conf

Listen xxx

将Listen 80 改为自己想要的端口

因为http密码是加密过后的所以需要生成

第一次创建
htpasswd -cm /home/svn/svn-auth-conf 用户名

修改密码或者添加用户
htpasswd -m /home/svn/svn-auth-conf 用户名

将生成的密码移动到 httppasswd 中
在这里插入图片描述
然后重启httpd

service httpd restart

添加防火墙放行策略:

firewall-cmd --permanent --add-service=http
firewall-cmd --reload
firewall-cmd --zone=public --add-port=端口号/tcp --permanent

访问报错查看httpd日志:
在这里插入图片描述

AH01620: Could not open password file:

在这里插入图片描述

vi /etc/selinux/config

将SELINUX的值设置为disabled
在这里插入图片描述
更改完之后需要重启服务器

svn自启动
脚本:

#!/bin/bash
 
##普通启动命令
svnserve -d  -r /home/svn/Repositories

service httpd restart

iptables -I INPUT -p tcp --dport 1443 -j ACCEPT

放到 /etc/rc.d/init.d 下
在这里插入图片描述
赋权

chmod 777  /etc/rc.d/init.d/svn_start.sh

更改rc.local 文件
在这里插入图片描述

赋权

chmod 777  /etc/rc.d/rc.local

然后自启动就配置好了

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
将VisualSVN Server从Windows迁移到CentOS需要进行以下步骤: 1. 安装Subversion和Apache HTTP Server 在CentOS系统中安装Subversion和Apache HTTP Server,可以使用以下命令: ``` sudo yum install subversion httpd ``` 2. 迁移VisualSVN Server仓库 将VisualSVN Server仓库迁移到CentOS系统中。您可以使用svnadmin dump命令在Windows系统中导出仓库的完整副本,然后使用svnadmin load命令将其导入到CentOS系统中。具体命令如下: 在Windows系统中执行以下命令导出仓库: ``` svnadmin dump "C:\Repositories\MyRepo" > C:\Repositories\MyRepo.dump ``` 将导出的文件MyRepo.dump拷贝到CentOS系统中,然后执行以下命令导入仓库: ``` svnadmin create /path/to/repository svnadmin load /path/to/repository < MyRepo.dump ``` 3. 安装mod_dav_svn模块 在CentOS系统中安装mod_dav_svn模块,可以使用以下命令: ``` sudo yum install mod_dav_svn ``` 4. 配置Apache HTTP Server 在Apache HTTP Server的配置文件中添加以下内容: ``` LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNPath /path/to/repository AuthType Basic AuthName "Subversion repository" AuthUserFile /path/to/users Require valid-user </Location> ``` 其中,SVNPath指定了SVN仓库的路径,AuthUserFile指定了用户认证文件的路径。 5. 创建用户并设置密码 使用htpasswd命令创建用户并设置密码: ``` sudo htpasswd -c /path/to/users username ``` 其中,username为您要创建的用户名。 6. 重启Apache HTTP Server 执行以下命令重启Apache HTTP Server: ``` sudo systemctl restart httpd ``` 完成以上步骤后,您就可以在CentOS系统中使用VisualSVN Server的仓库了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值