Halo

安装jre11

  • Halo为java项目,需要安装java运行环境
  • 最新的Halo只支持jdk11以上,因此本文安装jdk11
1
sudo apt install openjdk-11-jdk
  • 安装完成后检查java版本
1
java -version

安装mysql数据库

  • Halo最低mysql版本要求为5.7+
1
sudo apt install mysql-server

配置数据库

启动mysql

1
service mysql start

查看mysql运行状态

1
service mysql status

登录mysql

1
mysql -u root -p

创建一个新的mysql用户

1
CREATE USER 'halo'@'%' IDENTIFIED BY '123';
  • halo为数据库用户名,%为主机,通常为localhost,而%说明该用户帐户将能够从任何主机进行连接

创建一个数据库

  • 要求:
    • 字符集(Character Set): utf8mb4
    • 排序规则(Collate): utf8mb4_bin
1
create database halodb default character set utf8mb4 collate utf8mb4_bin;
  • 授予数据库用户帐户的所有权限
1
GRANT ALL PRIVILEGES ON *.* TO 'halo'@'%';
  • 配置结束,退出mysql

安装Halo博客程序

  • Halo目录的结构
/home/halo/ .halo/ application.yaml
logs/
static/
templates/
upload/
app/ halo.jar
  • 红色部分是自动生成的,无需自己创建
  • halo.jar(主程序)与application.yaml(配置文件)需要我们下载配置

创建文件夹

1
2
3
4
5
cd /root
mkdir halo
cd halo
mkdir app
mkdir ./halo

进入app文件夹下载Halo博客程序

1
2
cd app
wget https://dl.halo.run/release/halo-1.4.5.jar -O halo.jar

进入.halo文件夹下载配置文件

1
2
cd ../.halo
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml

编辑配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
server:
port: 8090

# Response data gzip.
compression:
enabled: false
spring:
datasource:

# H2 database configuration.
# driver-class-name: org.h2.Driver
# url: jdbc:h2:file:~/.halo/db/halo
# username: admin
# password: 123456


# MySQL database configuration.
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: 123

# H2 database console configuration.
# h2:
# console:
# settings:
# web-allow-others: false
# path: /h2-console
# enabled: false

halo:

# Your admin client path is https://your-domain/{admin-path}
admin-path: admin

# memory or level
cache: memory
  • 将H2数据库部分注释掉,mysql的注释部分删除

最终配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server:
port: 8090

# Response data gzip.
compression:
enabled: false
spring:
datasource:

# MySQL database configuration.
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: 123456

halo:

# Your admin client path is https://your-domain/{admin-path}
admin-path: admin

# memory or level
cache: memory

测试运行

进入app文件夹运行halo.jar

1
java -jar halo.jar

打开http://ip:port进入安装界面

完结撒花