記Halo1.5版本遷移Halo2.10.0版本

原文地址: 記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種只是個理論,具體過程中會不會有什麼問題,得後續實踐才知道了

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章