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