记Halo1.5版本迁移Halo2.10.0版本

halo1,halo2 · 浏览次数 : 52

小编点评

## Halo2.10.0版本迁移教程 **步骤 1:准备工作** * 建立本地 Linux 系统。 * 选择 MySQL 8.1.0 版本的数据库。 **步骤 2:安装与配置** 1. 启动 1Panel面板。 2. 点击 "App" 选项卡,搜索 "Halo". 3. 点击 "Install". 4. 在安装过程中,选择 MySQL 数据库。 5. 勾选 "允许外部访问"。 6. 输入 IP 地址 (通常为 172.23.147.149) 和端口号 (默认 9888)。 7. 点击 "安装". **步骤 3:数据迁移** 1. 打开 "Data Migration" 选项卡,选择 "Export 1.5 Version Data". 2. 在弹出的窗口中,选择 "mysql". 3. 在 "Data Source" 中选择数据库 (您在步骤 2 中创建的数据库)。 4. 在 "Destination" 中选择 "mysql". 5. 点击 "开始迁移". **步骤 4:验证数据导入** 1. 启动 1Panel面板。 2. 点击 "Data" 选项卡,搜索 "1.5 Version". 3. 检查 "Data Imported Successfully" 和 "Data Imported Failed" 信息。 **步骤 5:导入新版本数据** 1. 下载 Halo2.10.0 版本的 JSON 数据。 2. 在 1Panel 面板中,打开 "Data Migration" 选项卡。 3. 点击 "Import". 4. 选择 JSON 文件。 5. 点击 "Start". **步骤 6:配置自定义页面链接** 1. 打开 1Panel 面板。 2. 打开 "App" 选项卡,搜索 "Custom". 3. 点击 "New". 4. 选择 "Theme". 5. 输入自定义页面链接。 6. 点击 "Save". **步骤 7:验证数据导入** 1. 启动 1Panel 面板。 2. 点击 "Data" 选项卡,搜索 "Custom". 3. 检查 "Data Imported Successfully" 和 "Data Imported Failed" 信息。 **注意:** * 数据迁移过程可能会占用大量时间,请耐心等待。 * 请确保所有步骤都顺利完成,并注意数据备份。 * 如果遇到任何问题,请联系 Stars-One 官方支持。

正文

原文地址: 记Halo1.5版本迁移Halo2.10.0版本 - Stars-One的杂货小窝

上一篇Window10安装linux子系统及子系统安装1Panel面板 - Stars-One的杂货小窝将对应的环境都准备好了,这下我们可以通过1Panel进行halo的2.10版本安装,来测试新版本升级是否有什么问题

本篇文章实际是在本地Linux系统进行的数据迁移和新版本使用的,仅供参考

各位如果要参考实践,请注意数据备份!!

安装halo

先进入1Panel面板,我们需要先安装数据库,之后再Halo的话

我这里数据库是选择了MySql的8.1.0版本(halo好像也支持其他数据库,具体有兴趣各位自行研究下)

安装halo选择mysql数据库即可,也要记得勾选允许外部访问设置

之后通过ip+halo端口号访问halo

PS: 通过ifconfig的linux命令查看ip地址(具体可参考上一篇文章)

第一次访问会提示初始化一个账号,初始化账号就正式进入到halo后台管理了

数据迁移

这里参考官方文档,下面记录我的步骤

提示: 官方目前只支持1.5和1.6版本迁移到halo2.x版本,如果halo是之前的版本,得先升级到1.5或1.6版本,再继续升到2.x版本

1.安装迁移插件

站点迁移:https://halo.run/store/apps/app-TlUBt

2.必要的3个插件

3.安装MD编辑器插件

我这里选择了 ByteMD:https://halo.run/store/apps/app-HTyhC

Halo 2.0 目前没有内置 Markdown 编辑器,如果需要重新编辑迁移后的文章,需要额外安装 Markdown 编辑器插件

4.导出1.5版本的json数据

5.新版本导入数据

到此,数据就是成功导入了

其他问题

1.文章链接发生变更

之前博客文章地址都是日期开头的,新版本确实变更为固定

  • [](https://stars-one.site/2023/06/03/android-studio-version-list)
  • http://172.23.147.149:9888/archives/android-view-circle

到论坛问了下,可以在主题路由那里进行修改

2.主题迁移

之前用的Joe2,不过不支持halo2.x版本了,好在有大佬移植整成了Joe3版本

之前Joe2包含有live2d看板娘,但Joe3没有了,于是装了个live2d看板娘的插件,不过插件似乎有些缓存问题,后台配置的模型id不是优先生效了,和作者提了个issue,不知道作者有没有处理就是了

Joe3有些配置不一样,首页轮播图选择文章不是很好,连模糊搜索都没有,直接一个列表自己选文章,也和作者提了个issue建议

3.文章发布者头像

现在文章详情页的头像,需要修改当前账号的个人配置才行,就是左下角,账号旁边有个省略号的编辑,要去里面自己重新上传头像

我想着能不能直接输入一个图片链接使用,在论坛提了意见,halo社区成员考虑安全隐私方面,就不考虑加这个功能了,也就算了,也还是能用

4.自定义页面链接变更

之前旧版本有些自定义页面,迁移过来后,需要重新配置下

默认迁移过来的是属于自定义链接了,所以要调整下

我这里就是重新在下面的主菜单去新建菜单,选择我们的自定义页面就可以了

5.文章列表查询筛选有问题

之前旧版本存在一些私密和草稿文章,迁移到新版本之后,文章列表确实是有这些文章,且显示文章的状态是未发布的

但是我通过筛选未发布的文章,却是提示我数据为空...好像是一个bug,到论坛里提了个帖子反馈,目前还没人回复

6.主题编辑

新版本不像之前版本那样,有个主题编辑功能

论坛里也问了,官方建议自己去fork一份代码进行修改,我看那个主题文件都是一个gradle项目了,一想要配环境之类就放弃了

官方不提供,那我们自己改就好了

实际主题文件和之前一样,是放在本地的一个文件夹目录的

我们在1Panel面板的文件管理进入到/opt/1panel/apps/halo/halo/data/themes此目录下就可以找到我们安装的主题了

这个opt文件夹,实际上就是你之前1Panel安装时候的配置项,我是直接默认,所以就是opt文件夹

之后里面的主题文件和相关规则,可以参考halo官方主题开发文档

注意下: 新版本使用了theleaf模版引擎,和之前的freemarker不一样了

其他补充

最后,目前我是在本地进行测试使用,还没准备放在服务器上

迁移步骤有2种:

1.通过通过1Panel的容器菜单,将mysql和Halo的2个docker镜像导出,之后服务器那边安装1Panel导入镜像即可

2.通过halo管理内置的迁移数据

在halo的备份菜单,将数据备份,然后新版本那边重新安装mysql,halo,之后初始化,再导入备份数据

当然,上面2种只是个理论,具体过程中会不会有什么问题,得后续实践才知道了

参考

与记Halo1.5版本迁移Halo2.10.0版本相似的内容:

记Halo1.5版本迁移Halo2.10.0版本

原文地址: 记Halo1.5版本迁移Halo2.10.0版本 - Stars-One的杂货小窝 上一篇Window10安装linux子系统及子系统安装1Panel面板 - Stars-One的杂货小窝将对应的环境都准备好了,这下我们可以通过1Panel进行halo的2.10版本安装,来测试新版本升级

记一次 CDN 流量被盗刷经历

先说损失,被刷了 70 多RMB,还好止损相对即时了,亏得不算多,PCDN 真可恶啊。 600多G流量,100多万次请求。 怎么发现的 先是看到鱼皮大佬发了一篇推文突发,众多网站流量被盗刷!我特么也中招了。 抱着看热闹的心情点开阅读了。。。心想,看看自己的中招没,结果就真中招了 。 被盗刷资源分

记一次 .NET某上位视觉程序 离奇崩溃分析

一:背景 1. 讲故事 前段时间有位朋友找到我,说他们有一个崩溃的dump让我帮忙看下怎么回事,确实有太多的人在网上找各种故障分析最后联系到了我,还好我一直都是免费分析,不收取任何费用,造福社区。 话不多说,既然有 dump 来了,那就上 windbg 说话吧。 二:WinDbg 分析 1. 为什么

记一次 .NET某酒业业务系统 崩溃分析

一:背景 1. 讲故事 前些天有位朋友找到我,说他的程序每次关闭时就会自动崩溃,一直找不到原因让我帮忙看一下怎么回事,这位朋友应该是第二次找我了,分析了下 dump 还是挺经典的,拿出来给大家分享一下吧。 二:WinDbg 分析 1. 为什么会崩溃 找崩溃原因比较简单,用 !analyze -v 命

记一次aspnetcore发布部署流程初次使用k8s

主题: aspnetcorewebapi项目,提交到gitlab,通过jenkins(gitlab的ci/cd)编译、发布、推送到k8s。 关于gitlab、jenkins、k8s安装,都是使用docker启动服务。 首先新建一个项目,为了方便浏览就把swaggerr非开发环境不展示去掉 下面就是需

记一次 .NET某网络边缘计算系统 卡死分析

一:背景 1. 讲故事 早就听说过有什么 网络边缘计算,这次还真给遇到了,有点意思,问了下 chatgpt 这是干嘛的 ? 网络边缘计算是一种计算模型,它将计算能力和数据存储位置从传统的集中式数据中心向网络边缘的用户设备、传感器和其他物联网设备移动。这种模型的目的是在接近数据生成源头的地方提供更快速

记一次RocketMQ消费非顺序消息引起的线上事故

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工单创建完成的消息事件(异步消息)、MQ消费者收到消息之后、会通知各处理器处理该消息、各处理器处理完后都会发布一条将该工单写入搜索引擎的消息、最终该工单出现在搜索引擎、被工单处理人检索和处理。 事故异常体现 1、异常体现 从工单的流转记录发现、

记一次难忘的json反序列化问题排查经历

前言 最近我在做知识星球中的商品秒杀系统,昨天遇到了一个诡异的json反序列化问题,感觉挺有意思的,现在拿出来跟大家一起分享一下,希望对你会有所帮助。 案发现场 我最近在做知识星球中的商品秒杀系统,写了一个filter,获取用户请求的header中获取JWT的token信息。 然后根据token信息

记一个,生产遇到的redission锁,释放问题:lock.tryLock(0, 0, TimeUnit.SECONDS)

package com.aswatson.cdc.test; import org.redisson.Redisson; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.redisso

记一次 .NET某机械臂上位系统 卡死分析

一:背景 1. 讲故事 前些天有位朋友找到我,说他们的程序会偶发性的卡死一段时间,然后又好了,让我帮忙看下怎么回事?窗体类的程序解决起来相对来说比较简单,让朋友用procdump自动抓一个卡死时的dump,拿到dump之后,上 windbg 说话。 二:WinDbg 分析 1. 主线程在做什么 要想