因为原先WordPress的Sakurairo主题加载过于缓慢,与其十分臃肿,就换了Halo

1.备份原有WordPress(WXR)文件

在 WordPress 管理后台的 工具-导出 菜单中,选择导出 所有内容 来导出你的 WordPress 数据,下载导出的文件后会得到一个 XML 文件。并且把wp-content/uploads下的文件打包备份。(具体可参考:halo迁移)

2.安装Halo(Docker Compose安装)

这里以宝塔面板9.1.0为例

进入到宝塔面板,找到Docker栏目,如果没安装就安装,安装完成后如下图

屏幕截图 2024-08-07 210808.png

接着点击上方的编排模板 -> 添加 -> 随便输入一个模板名

输入一个名字

之后把下面的配置文件复制进”内容“文本框里面(示例注意一定要修改好自己的密码!!):

services:
  halo:
    image: registry.fit2cloud.com/halo/halo:2
    restart: on-failure:3
    depends_on:
      halodb:
        condition: service_healthy
    networks:
      halo_network:
    volumes:
      - ./halo2:/root/.halo2
    ports:
      - "8090:8090"
    healthcheck:
      test:
        ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
      interval: 30s
      timeout: 5s
      retries: 5
      start_period: 30s
    environment:
      # JVM 参数,默认为 -Xmx256m -Xms256m,可以根据实际情况做调整,置空表示不添加 JVM 参数
      - JVM_OPTS=-Xmx256m -Xms256m
    command:
      - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
      - --spring.r2dbc.username=halo
      # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。
      - --spring.r2dbc.password=openpostgresql
      - --spring.sql.init.platform=postgresql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://localhost:8090/
  halodb:
    image: postgres:15.4
    restart: on-failure:3
    networks:
      halo_network:
    volumes:
      - ./db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD", "pg_isready"]
      interval: 10s
      timeout: 5s
      retries: 5
    environment:
      - POSTGRES_PASSWORD=openpostgresql
      - POSTGRES_USER=halo
      - POSTGRES_DB=halo
      - PGUSER=halo

networks:
  halo_network:

(关于配置文件相关键值的详细介绍,详见:链接)。

修改完你的密码后按确定就行了。之后会出现你刚刚创建的模板,旁边有一个"拉取镜像"按钮,按下后耐心等待即可,成功之后,本地镜像栏目下应该会有两个镜像。

屏幕截图 2024-08-07 212030.png

之后再点击容器栏目 -> 创建容器 -> 容器编排 -> 选择你刚刚命名的模板 -> 随便输入名称 -> 确定

之后就会开始创建,可能会需要一点时间。详细步骤见下图。

之后应该就会直接启动了,至此Halo安装完成。

要实现外部访问,还需要开放端口,具体步骤为:在宝塔中选择安全栏目 -> 添加端口规则 -> 协议TCP不变 -> 端口输入8090 -> 确定

3.设置反向代理(可选)

因为默认Halo监听8090端口,而不是在80或者443端口,并且不支持SSL,反向代理就可以解决这些。

在宝塔中选择网站栏目 -> PHP项目 -> 添加站点 -> 域名输入 -> PHP版本选择7.4

屏幕截图 2024-08-07 213729.png

之后选择操作下的设置 -> 反向代理 -> 添加反向代理 -> 在目标URL中输入:http://你的服务器公网IP:8090/ 发送域名输入你刚刚绑定的域名 -> 确定

注意这里的服务器IP要换成你自己的,还有域名。

如果要配置SSL,选择SSL自行配置即可,这里就不演示了,记得要勾选强制HTTPS。

4.初始化Halo并导入WordPress数据

之后访问你的网站,后面加上/console让Halo初始化,这时会让你设置用户名密码之类的,设置就好了。

接着会进入Halo的后台控制界面,访问站点迁移插件,选择下载,用方式二安装,方式一是找不到这个插件的!!!

安装并启用插件后,在左边栏下滑,选择"迁移",之后上传你备份好的WXR文件根据向导继续即可

之后选择左边栏的附件,根据你原先的目录结构(uploads下的目录结构),去上传并创建,这里就不演示了。

5.安装Hao主题(可选)

个人觉得是Halo中最好的主题

打开Hao主题的Github Releases页面,下载好主题(按图示选择)

屏幕截图 2024-08-07 215939.png

下载完之后打开你的网站后台,选择左边栏外观下的"主题"栏目 -> 右上角主题管理 -> 上传安装/升级

上传你的主题并启用,你的主题就设置完成了,之后个性化设置也可以在"主题"栏目中设置。

屏幕截图 2024-08-07 220444.png

屏幕截图 2024-08-07 220535.png

至此,全部步骤完成

6.问题

所有问题可以在评论中提出,有时间都会回复的,只是简单的记录,可能没那么详细,谅解一下~