前言
现在我的博客使用的Halo系统,安装了Clarity的开源主题以及诸多的插件,针对该主题我已经写好了较为完善的使用文档(比开发者的文档还详细)
最终的效果如本站所示(如果当你看文章时我还没换系统的话)
本文将基于1Panel|宝塔|命令行 编写安装Halo CMS建站系统并安装Clarity主题的教程
如若你当前还未购买服务器和域名,可参考下方文章中基础系列的部分,并完成基础环境的部署
服务器最低配置&建议配置:2核4G,低于此配置会出现卡顿

教程(1Panel)
安装必备应用
安装PostgreSQL数据库,该数据库相比于MySQL所需运存占用更小

安装配置默认即可

安装完成如下图(后台安装,可以不盯着安装进度)

接下来安装Halo应用

在安装Halo时,需指定数据库为PostgreSQL

然后点确认等待安装完成
以下就是目前所需的所有应用了(openresty安装在文章

解析域名
登陆雨云控制台后,域名服务

选择想要使用的域名并进入解析页面

点击添加解析记录->自定义解析->输入主机名称和记录值,其余默认,后点击添加
主机名称:网站的访问入口,例如https://halo.uomn.cn,其中halo为主机名称
记录值:服务器的IP


添加网站
返回1Panel面板,创建网站,输入你的解析的域名

然后申请SSL证书,如下图所示步骤

如下图所示即申请成功

为网站设置SSL,流程如下图



初始化网站
访问你的网站域名,不出意外的情况下,会出现下图页面
PS:由于我忘记了演示域名没备案,用的国内服务器,无法访问,所以我教程写到这里卡住了,重新买的服务器部署,呜呜呜~~
然后输入这些必要的信息,点击初始化,这些信息后边都可以修改的

点击初始化后会跳转到登录页面,输入刚才填写的用户名和密码进行登录
出现下图页面,代表Halo已经安装完成

教程(宝塔)
如果还没安装好宝塔以及Docker,可参考下边的文章
容器编排
这里默认你的宝塔已经安装好了Docker,没安装的话安装一下,如果不会的话看上边的文章
先找到容器编排页面,点击添加容器编排

复制下方文本到Compose中,编排名称随便写。至于Halo的版本,则是截至今天的2.22.7版本,如需要其他版本,自行修改版本号即可
version: "3"
services:
halo:
image: registry.fit2cloud.com/halo/halo-pro:2.22.7
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:18.1-alpine
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:
这里有几个注意的点,如果是在内网部署可以不用注意,上边的编排文本中,使用的数据库账号、密码是默认的,建议修改一下,防止被搞,如需修改这些信息,需要确保下图中,框选配置的值与箭头对应配置的值相同

确认无误后,点击确定部署容器

确定后会出现窗口显示安装进度,一般根据网络环境和服务器配置的不同而等待不同的时间,一般5分钟内完事

安装完成后会显示两个运行中的容器

然后在浏览器中访问IP:端口,测试是否能够进入到初始化界面,如果可以,则进行下一步绑定域名
如果访问不了,则可能是没有添加8090端口的防火墙,或者编排文本修改后出现错误

安装Nginx
如下图所示步骤

版本选择1.22.1即可,选择急速安装

安装完成后刷新一下页面
创建网站
点创建->反代容器,然后填写一下你要解析的域名、选择一下你要绑定的容器和端口,点击确定即可

访问域名显示Halo的初始化页面即安装完成,后续的初始化步骤参考上边基于1Panel部署的教程
注意:访问前记得申请下SSL,要不然可能访问不了

教程(命令行)
我猜应该没人直接用终端部署,所以就不写了,等有人需要我再写
安装Clarity主题
这个主题我已经写了一个文档,直接看文档即可,此处不再赘述
后记
Halo的生态还是很强大的,可以在Halo后台的应用市场搭配各种各样的插件对网站进行建设