
从WordPress转向Halo的记录(步骤及教程)
因为原先WordPress的Sakurairo主题加载过于缓慢,与其十分臃肿,就换了Halo
1.备份原有WordPress(WXR)文件
在 WordPress 管理后台的 工具-导出 菜单中,选择导出 所有内容 来导出你的 WordPress 数据,下载导出的文件后会得到一个 XML 文件。并且把wp-content/uploads下的文件打包备份。(具体可参考:halo迁移)
2.安装Halo(Docker Compose安装)
这里以宝塔面板9.1.0为例
进入到宝塔面板,找到Docker栏目,如果没安装就安装,安装完成后如下图
接着点击上方的编排模板 -> 添加 -> 随便输入一个模板名
输入一个名字
之后在内容可以像我这样写(示例注意一定要修改好配置文件!!):
version: "3"
services:
halo:
image: ghcr.io/halo-dev/halo:2.18.0
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
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
- --spring.r2dbc.username=root
# MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。记得修改!
- --spring.r2dbc.password=XXXXXXXX
- --spring.sql.init.platform=mysql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=https://blog.htadiy.cc/
halodb:
image: mysql:8.1.0
restart: on-failure:3
networks:
halo_network:
command:
- --default-authentication-plugin=caching_sha2_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
volumes:
- ./mysql:/var/lib/mysql
- ./mysqlBackup:/data/mysqlBackup
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
- MYSQL_ROOT_PASSWORD=XXXXXXXX
- MYSQL_DATABASE=halo
networks:
halo_network:
修改完你的密码后按确定就行了。之后会出现你刚刚创建的模板,旁边有一个"拉取镜像"按钮,按下后耐心等待即可,成功之后,本地镜像栏目下应该会有两个镜像。
之后再点击容器栏目 -> 创建容器 -> 容器编排 -> 选择你刚刚命名的模板 -> 随便输入名称 -> 确定
之后就会开始创建,可能会需要一点时间。详细步骤见下图。
之后应该就会直接启动了,至此Halo安装完成。
要实现外部访问,还需要开放端口,具体步骤为:在宝塔中选择安全栏目 -> 添加端口规则 -> 协议TCP不变 -> 端口输入8090 -> 确定
3.设置反向代理(可选)
因为默认Halo监听8090端口,而不是在80或者443端口,并且不支持SSL,反向代理就可以解决这些。
在宝塔中选择网站栏目 -> PHP项目 -> 添加站点 -> 域名输入 -> PHP版本选择7.4
之后选择操作下的设置 -> 反向代理 -> 添加反向代理 -> 在目标URL中输入:http://你的服务器公网IP:8090/ 发送域名输入你刚刚绑定的域名 -> 确定
注意这里的服务器IP要换成你自己的,还有域名。
如果要配置SSL,选择SSL自行配置即可,这里就不演示了,记得要勾选强制HTTPS。
4.初始化Halo并导入WordPress数据
之后访问你的网站,后面加上/console让Halo初始化,这时会让你设置用户名密码之类的,设置就好了。
接着会进入Halo的后台控制界面,访问站点迁移插件,选择下载,用方式二安装,方式一是找不到这个插件的!!!
安装并启用插件后,在左边栏下滑,选择"迁移",之后上传你备份好的WXR文件根据向导继续即可
之后选择左边栏的附件,根据你原先的目录结构(uploads下的目录结构),去上传并创建,这里就不演示了。
5.安装Hao主题(可选)
个人觉得是Halo中最好的主题
打开Hao主题的Github Releases页面,下载好主题(按图示选择)
下载完之后打开你的网站后台,选择左边栏外观下的"主题"栏目 -> 右上角主题管理 -> 上传安装/升级
上传你的主题并启用,你的主题就设置完成了,之后个性化设置也可以在"主题"栏目中设置。
至此,全部步骤完成
6.问题
所有问题可以在评论中提出,有时间都会回复的,只是简单的记录,可能没那么详细,谅解一下~