使用Termux安装halo博客
安装步骤:
在proot内安装debian
在debian内安装好halo博客
使用CloudFlare进行内网穿透访问
安装系统:
首先安装Termux,更新软件包
pkg update && pkg upgrade安装proot容器
pkg install proot proot-distro默认情况下,
proot-distro会根据你当前的设备架构选择适合的发行版。例如,如果你的设备是arm架构,那么proot-distro安装的发行版会自动适配arm架构。如果你希望安装模拟运行其他的架构,可以查看这篇文章(通常是为了模拟使用docker,本文安装的容器因为手机架构限制无法使用docker)
在proot安装完成后,我们在容器内安装linux系统
你可以选择指定版本,或将系统文件放在proot-distro目录下进行安装
proot-distro install debian安装完成后进入系统
proot distro login debian
apt update安装halo博客
因为无法使用1Panel等工具(无法使用docker),所以需要手动配置环境
首先安装好必要的环境:jdk21、mariadb数据库。
安装jdk
获取jdk包,放在合适的位置:
# mkdir java && cd java
wegt https://download.oracle.com/java/21/latest/jdk-21_linux-aarch64_bin.tar.gz解压jdk包:
tar -xzvf jdk包名配置java环境:
vim /etc/profile在profile下方添加内容:
export JAVA_HOME=/usr/jdk21/jdk-21.0.4
export PATH=$JAVA_HOME/bin:$PATH输入java查看安装是否成功
安装mariadb
apt install mariadb-server
service mariadb start安装halo博客
我们不推荐直接使用系统 root 用户来运行 Halo。如果你需要直接使用 root 用户,请跳过这一步。
创建一个名为 halo 的用户(名字可以随意)
创建新的系统用户
useradd -m halo为 halo 用户创建密码
passwd halo登录到 halo 账户
su - halo创建存放运行包的目录,这里以 ~/app 为例
mkdir ~/app && cd ~/app下载运行包
wget https://dl.halo.run/release/halo-2.20.0.jar -O halo.jar以下是官方维护的下载地址:
https://download.halo.run
https://github.com/halo-dev/halo/releases
创建 工作目录
mkdir ~/.halo2 && cd ~/.halo2创建 Halo 配置文件
vim application.yaml将以下内容复制到 application.yaml 中,根据下面的配置说明进行配置。
server:
# 运行端口
port: 8090
spring:
# 数据库配置,支持 MySQL、MariaDB、PostgreSQL、H2 Database,具体配置方式可以参考下面的数据库配置
r2dbc:
url: r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE
username: admin
password: 123456
sql:
init:
mode: always
# 需要配合 r2dbc 的配置进行改动
platform: h2
halo:
caches:
page:
# 是否禁用页面缓存
disabled: true
# 工作目录位置
work-dir: ${user.home}/.halo2
# 外部访问地址
external-url: http://localhost:8090
# 附件映射配置,通常用于迁移场景
attachment:
resource-mappings:
- pathPattern: /upload/**
locations:
- migrate-from-1.x数据库配置说明:
配置对应关系:
HOST:数据库服务地址,如 localhost
PORT:数据库服务端口,如 3306
DATABASE:数据库名称,如 halo,需要提前创建,以 MySQL 为例:
create database halo character set utf8mb4 collate utf8mb4_bin;
不推荐在生产环境使用默认的 H2 数据库,这可能因为操作不当导致数据文件损坏。如果因为某些原因(如内存不足以运行独立数据库)必须要使用,建议按时备份数据。
为了保持部署流程的简洁,此文档仅提供了必要的配置示例,完整的配置选项列表可查阅:配置说明
配置完成之后,保存即可。
测试运行 Halo
cd ~/app && java -Dfile.encoding=UTF-8 -jar halo.jar --spring.config.additional-location=optional:file:$HOME/.halo2/如果没有观察到异常日志,即可尝试访问 Halo
打开 http://ip:端口号 即可跳转到初始化页面。
关于如何将halo作为系统服务,以及如何更新系统可以查看上方官方文档
配置内网穿透
如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。但在这里是使用CloudFlare的免费内网穿透服务
参考:https://www.bilibili.com/video/BV1H4421X7Wg
访问并注册:https://www.cloudflare.com/zh-cn/
首先将域名迁移到CloudFlare下解析,这里用腾讯云的域名进行演示
在CloudFlare官网右上角点击添加域,输入你的dns,选择free服务,点击继续后在下方更改名称服务器内找到
类似
NS xxxx.ns.cloudflare.com
NS xxxx.ns.cloudflare.com
随后在腾讯云的控制台->我的域名->更多->修改DNS服务器->自定义dns修改为上方两条
修改完成返回CloudFlare,等待完成更改后,域名就可以在CloudFlare使用了
CloudFlare左侧列表Zero Trust处,在一些内容填写完后,打开Networks->Tunnels,添加一条隧道,随后CloudFlare会根据你的操作环境给出隧道安装方法,在隧道激活后,可以尝试使用域名访问自己的博客了!