Halo2.0安装以及出现问题的解决方式

站点是1.0的版本,2.0出了好久没有更新,这几天有时间就处理了一下,期间遇到了很莫名其妙的BUG,解决过程虽然曲折但也都找到了解决办法,这里分享一下,少走弯路吧!

版本说明

Halo:2.15
主题:Dream for Halo 2.x (主题很棒,很喜欢)

博主站点
应用市场
2.15后端代码
Dream for Halo 2.x主题
nineya主题作者

后端代码安装配置界面

image-dlqx.png

主题界面展示

image-ua6q.png

后台安装

参考地址

根据官方的安装步骤进行,这里会省略创建目录等操作。

下载jar包

直接使用命令行下载到自己新建好的目录里

wget https://dl.halo.run/release/halo-2.15.0.jar -O halo-2.15.0.jar
application.yaml文件配置

我是用的是mysql的配置,其他配置可以参考官方给出的配置参数

⚠️这里有一个要避坑的点,外部访问地址需要更改为自己配置的域名,不然点击头像会跳转为本地址。

image-xmeh.png

之后可以在系统概览界面里看到外部访问地址

image-rhon.png

server:
  # 运行端口
  port: 8090
spring:
  # 数据库配置,支持 MySQL、MariaDB、PostgreSQL、H2 Database,具体配置方式可以参考下面的数据库配置
  # 这里数据库要提前建好,新建一个数据库就行。
  r2dbc:
    url: r2dbc:pool:mysql://localhost:3306/halo
    username: demo
    password: P@ssw0rd123..
  sql:
    init:
      mode: always
      # 需要配合 r2dbc 的配置进行改动
      platform: mysql
halo:
  caches:
    page:
      # 是否禁用页面缓存
      disabled: true
  # 工作目录位置
  work-dir: ${user.home}/.halo2
  # 外部访问地址
  external-url: https://nanwish.love
  # 附件映射配置,通常用于迁移场景
  attachment:
    resource-mappings:
      - pathPattern: /upload/**
        locations:
          - migrate-from-1.x

运行Halo

这里要先进入jar包存放的目录,后面的配置文件路径一定要写上,不然自己的配置会不生效。
⚠️这里有一个要避坑的点,就是java版本一定要是17

image-p5qm.png

java -jar halo-2.15.0.jar --spring.config.additional-location**=**optional:file:**\$HOME**/.halo2/

插件安装

基本的插件安装

应用市场
首先来到官方的应用市场,选择应用市场安装,这个插件可以将应用市场内嵌到管理后台里面,很方便

image-i1p1.png

点击安装,输入自己的博客地址,可以直接跳转到自己的博客后台进行安装

image-nk5e.png

image-xr9z.png

数据迁移

因为是旧站点迁移过来的,所以这里要导入数据,Halo2.x提供了一个很好用的迁移插件

image-tsmj.png

安装完成之后,要来到这里启用下这个插件

image-7tye.png

点击迁移,我之前是halo,所以这里点击halo,根据提示选择导出的json文件导入就可以了

image-crvt.png

新旧版本适配需要的插件

因为2.x将以前的功能拆分为了插件,所以运行起来之后要安装插件才可以保证正常使用,这里列举遇到的插件没安装正确出现的页面访问失败问题

图库不显示内容

安装图库插件

image-uvpu.png

没有评论地址

安装评论组件

image-cekq.png

日志不显示

需要安装瞬间插件

image-ixmc.png

友链页面不显示

安装连接管理插件

image-qtvk.png

编辑文章问题

需要安装编辑插件,其它几个要么是有BUG,要么是显示不美观,反人性操作,这个用起来比较舒服,而且对之前的自定义页面里面的html代码支持很好
image-jtyx.png
这个还支持一键复制文章到公众号,比着使用第三方编辑器重新搞,这个功能到心坎里去了

image-damr.png

使用阿里云OSS存储

需要安装对象存储插件

image-njlt.png

显示之前在阿里云存放的资源

在附件,新建存储策略

image-glw8.png
选择新建,添加好后,刷新页面

image-t6ql.png

搜索组件

首页搜索没有,需要安装搜索插件

image-hjox.png

搜索不出结果BUG解决方式

image-sklm.png
在后台管理界面,点击刷新搜索引擎,再去页面搜索就可以了。

image-ytti.png

RSS订阅

需要安装RSS插件

image-wqme.png

适配出现问题及解决方式

出现已删除用户的BUG

站点刚搭建好这里有可能会出现已删除用户,并且头像不显示

image-ccsc.png

显示已删除用户解决办法

作者用户名要和这个id一样

image-2j4k.png

image-x2fh.png

头像不显示解决办法

上传新头像

image-wfh2.png

配置好插件迁移内容不全面

这个可以在配置好插件之后,重新导入一下之前备份的文件,亲测有效

浏览文章阅读数量不变

安装好新版本之后,出现了浏览文章阅读数量不变化的问题,本来以为是延迟或者是显示策略问题,后来发现是因为缺少了一个js文件。

image-pfl3.png

每次点击文章,都会请求这个 halo-tracker.js文件,在控制台找到了报错,显示是一个js文件没有访问到,这里对标官网的演示站点,拿到 halo-tracker.js文件,放到自己的nginx根目录中

image-hvqb.png

https://demo.halo.run/halo-tracker.js

image-2sjm.png

需要在你的nginx配置中增加,alias路径根据自己的实际路径配置

location ~/halo-tracker/ {
          	alias /nginx/html/;
 }

image-v9fg.png

常用功能设置

导航栏自定义图标设置

image-sbll.png
我是用的是 nineya大佬的Dream主题,这个主题使用的是 remixicon的图标
nineya大佬博客
remixicon图标
然后在图标网站找到自己中意的图标,点击图标,复制class后的标签内容

image-3sip.png

在后台管理中找到菜单,编辑需要添加自定义图标的菜单,新建元数据,填入相应的代码就可以了

image-8u5y.png

侧边栏不显示的问题

没有默认显示的选项,需要手动去配置

image-cjxh.png

推荐插件

通知我

根据简介配置推送通道,配置简单,上手很快。

image-gmaj.png

image-gso8.png

我使用了微信推送,有新评论会及时微信通知,使用体验很棒。

image-oxcv.png

OAuth2 认证

两步验证可以在输入账号密码后,需要提供一个6位数的验证码,使用通过后才可以进入控制台image-magb.png
在我的里面配置OAuth2认证,需要手机端有相应的软件,这里推荐Authenticator

image-iltv.png

image-a2wt.png