更新:26-01-26 | 发布:26-01-26
本文档描述如何用 Halo 建站,供感兴趣者参考。
registry.fit2cloud.com/halo/halo。新建文件夹,此文档以 ~/gdhalo 为例。
mkdir ~/gdhalo && cd ~/gdhalo
注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。
创建 docker-compose.yml
参考 Halo安装指南,选择了 Halo + MySQL。还有 “Halo + PostgreSQL(推荐)”、“Halo + H2”等。
从安装指南复制样例文档,并修改 2 个数值:
image: registry.fit2cloud.com/halo/halo:2。rootmdb8。修改后的文件保存在 ~/gdhalo 目录中。文件内容如下:
version: "3"
services:
halo:
# image: registry.fit2cloud.com/halo/halo-pro:2.22
image: registry.fit2cloud.com/halo/halo:2
container_name: gdhalo_master
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:mysql://halodb:3306/halo
- --spring.r2dbc.username=root
# MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
# - --spring.r2dbc.password=o#DwN&JSa56
- --spring.r2dbc.password=rootmdb8
- --spring.sql.init.platform=mysql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=http://localhost:8090/
halodb:
image: mysql:8.1.0
container_name: gdhalo_dbmysql
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=o#DwN&JSa56
- MYSQL_ROOT_PASSWORD=rootmdb8
- MYSQL_DATABASE=halo
networks:
halo_network:
启动 Halo 服务
执行以下命令启动 Halo, 并以后台方式运行(即关闭终端所在窗口, Halo也不会停止):
~/gdhalo % docker compose up -d
如需要实时查看 Halo 的日志,可执行如下命令:
docker-compose logs -f
如果是采用上述默认的 docker-compose.yml 启动 Halo 的,则在本机浏览器访问本地Halo地址 1,就会出现的 Halo 系统初始化 页面。参考文档 Halo初始化,填写相关信息,初始化 Halo 网站。
简体中文。AI学院。gdv2。georgedonnev2@outlook.com。初始化完成后,会弹出登录页面。输入用户名和密码登录后,就可以使用 Halo 网站了。
初始化完成后,用超级管理员安装必要的插件,让网站可用或更方便使用。要安装的插件有:
Vditor编辑器。使用该编辑器,可以编写 markdown 文档来生成网站的文章。默认编辑器不能编写 markdown 文档。文章导入导出。内容助手。还有几个插件,是默认主题/初始化时已经安装的,不用额外再安装。
在本机浏览器中输入学院内部网站地址 2 访问网站,然后按以下步骤操作:
点击网站右上角 图标,再点 登录。以
超级管理员(或有超级管理员权限的用户)登录。
登录后,再点右上角图标,再点 控制台。
点击左侧导航栏的 菜单 后,可对菜单做修改。
参考以下步骤设置主菜单。
点击左侧导航栏的 菜单 后,页面显示为左、中、右三列。点击中列底部的 新建 按钮新建一个菜单,输入如下信息:
导航,然后按底部的 [提交] 按钮。菜单名称取做
导航,是为了复用到页脚的菜单组中,会出现导航字样。主菜单则不会出现导航字样。如果不复用到页脚的菜单组,则菜单名称随意取即可。
以主题 Earth 1.14.0 为例。用超级管理员登录后进入控制台,然后点击左侧导航栏的 主题,在右侧顶部找到 页脚,在页脚页面可选择 菜单组。
将 导航 菜单设置为主菜单。回到中列,点击菜单 导航 右边的 […] 按钮,点击出现的 设置为主菜单。
新建菜单项。点击中列的 导航 菜单,再点击右列的右上角的 新建 按钮,增加菜单项到 导航 菜单中。重复多次操作,依次输入以下信息:
| 上级菜单项 | 类型 | 名称 | 链接地址 | 打开方式 |
|---|---|---|---|---|
| - | 自定义链接 | 首页 |
/ | 当前窗口 |
| 上级菜单项 | 类型 | 分类 | 打开方式 |
|---|---|---|---|
| - | 分类 | 公告 |
当前窗口 |
| - | 分类 | 就业 |
当前窗口 |
| 就业 | 分类 | 入职招聘 |
当前窗口 |
| 就业 | 分类 | 实习岗位 |
当前窗口 |
| - | 分类 | 手册 |
当前窗口 |
| - | 分类 | 笔记 |
当前窗口 |
| 上级菜单项 | 类型 | 自定义页面 | 打开方式 |
|---|---|---|---|
| - | 自定义页面 | 关于 |
当前窗口 |
分类。需要参考 Halo文章 之 “文章标签管理”先定义好,才能在菜单定义时被选择到。
页面。需要参考 Halo页面 先定义好,才能在菜单定义时被选择到。
和上述“设置主菜单”类似,新建菜单“友情链接”。
点击左侧导航栏的 菜单 后,页面显示为左、中、右三列。点击中列底部的 新建 按钮新建一个菜单,输入如下信息:
友情链接,然后按底部的 [提交] 按钮。新建菜单项。点击中列的 友情链接 菜单,再点击右列的右上角的 新建 按钮,增加菜单项到 导航 菜单中。重复多次操作,依次输入以下信息:
| 上级菜单项 | 类型 | 名称 | 链接地址 | 打开方式 |
|---|---|---|---|---|
| - | 自定义链接 | 江南大学 |
https://www.jiangnan.edu.cn/ |
新窗口 |
| - | 自定义链接 | AI学院 |
https://ai.jiangnan.edu.cn/ |
新窗口 |
访问网站,用超级管理员(或有超级管理员权限的用户)登录,进入控制台,点击左侧导航栏的 设置,在设置页面做如下改动:
基本设置
AI学院。智能学院祝全体师生春节快乐!幸福安康!。后续考虑经常修改。简体中文。上述修改完成后,点击底部的 保存 按钮。
文章设置
先维持不变。
SEO设置
先维持不变。
用户设置
附件配置
先维持不变。
评论设置
主题路由设置
先维持不变。
代码注入
后续再配置。
通知设置
后续再启用邮件通知器。
以主题 Earth 1.14.0 为例。用超级管理员登录后进入控制台,然后点击左侧导航栏的 主题,对以下内容做设置:
布局
网格(一行三列)。站点标题。图片。全局
图片,网站左上角会显示网站 Logo。样式
跟随系统。文章
修改后未见效果。先维持默认配置。
侧边栏
是网页右边的侧边栏。把可以呈现的 4 个小部件,都显示了。
页脚
风格二。欢迎访问学院内部网站。导航,再选 友情链接。菜单组
导航。就是本文 设置主菜单 中定义的主菜单。
菜单组
友情链接。就是本文 设置友情链接 中定义的菜单。
备案设置
今后再设置。
插件集成
今后再设置。
如果只是浏览学院内部网站,在浏览器里输入学院内部网站地址 2 后即可浏览。如果要发布文章,则还需按以下步骤操作:
点击网站右上角 图标,再点 登录。
登录后,再点右上角图标,再点 控制台。
点击左侧导航栏的 文章,再点击右上角 新建 按钮,就可以新建文章了。
接下来可参考 Halo 官网文档 Halo文章 来操作。有几点说明如下:
有以下遗留事宜,待后续跟进:
修改了 docker-compose.yml 中 的 MySQL 的密码,docker compose up 重启时不成功。把密码改回来再重启,是可以成功的。期望密码修改后重启可以成功。
发布的文章,保存在哪个目录了?当前查看本机的目录,没有发现。
站点 Logo。如何适应浅色和深色。网站切换到深色模式后,站点 Logo 不容易被看清。