上一篇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個插件
- 鏈接管理:https://halo.run/store/apps/app-hfbQg
- 圖庫:https://halo.run/store/apps/app-BmQJW
- 瞬間(原日誌):https://halo.run/store/apps/app-SnwWD
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種只是個理論,具體過程中會不會有什麼問題,得後續實踐才知道了