一、系统准备

废话不多说!

首先,准备好你的Ubuntu 20.04操作系统。

Halo000.jpg

注:我是在阿里云上购买的ECS共享型云服务器,选择了Ubuntu 20.04 64位操作系统。

Halo001.jpg

Halo002.jpg

Halo003.jpg

二、安装Halo

接下来就是准备好ssh客户端(我选择鼎鼎大名的Xshell),以方便远程管理你的Ubuntu。

Halo004.jpg

正式开始安装!

过程中难免会有坎坷,咱们逢山开路遇水搭桥,一路往下干!

2.1 对Ubuntu进行依赖检查

注:运行Halo,必须安装JRE,且最低依赖要求为JRE 11。

先来检查一下当前Ubuntu系统是否已安装JRE?版本是什么?

执行命令:

java -version

注:输入命令后,别忘了点回车,后面就不再一一提醒了。

Halo005.jpg

查询结果是“Command ‘java’ not found, but can be installed with:”

即:未找到java,但列出了可安装的JRE版本。

2.2 安装JRE

因为Halo要求最低为JRE 11,我们干脆就装JRE 17(当前的最高版本)。

执行命令:

apt-get install openjdk-17-jre -y

提示“Unable to locate package openjdk-17-jre”

即:无法定位openjdk-17-jre软件包

执行命令:

sudo apt-get update

来更新一下系统的软件列表

再次执行命令:

apt-get install openjdk-17-jre -y

哈哈(此处表示很兴奋)!可以了!

屏幕滚动安装完毕后,再执行命令:

java -version

来查看一下JRE的版本

Halo006.jpg

2.3 给系统创建一个用户

注:不推荐直接使用系统的root用户来运行Halo。

如果你坚持使用root用户,请跳过这一步。

我这里创建一个名为halo的用户,你可以随意创建你中意的用户名。

执行命令:

useradd -m halo

Halo007.jpg

2.4 给halo用户授权

授权前,咱们先来查看一下当前系统都有哪些用户和用户组,也可以忽略此步。

执行命令:

cat /etc/shadow

查看所有用户

Halo008.jpg

不查不知道,一查“吓一跳”。居然有这么多用户?当然,其中也有咱们刚刚创建的halo。

接下来,查看一下用户组。执行命令:

cat /etc/group

用户组也很多,这里就不上图了。

别墨迹了,快给halo用户授权吧。

注:在Ubuntu上,sudo组的成员默认被授予sudo访问权限,所以将halo添加到sudo组即可。

执行命令:

sudo usermod -aG sudo halo

接下来,咱们查看一下halo用户所在组

执行命令:

id halo

Halo009.jpg

再来检查一下halo用户是否具有sudo权限

执行命令:

sudo -l -U halo

Halo010.jpg

输出如上图信息,就说明halo用户在sudo组。

2.5 给halo用户创建密码

执行命令:

passwd halo

Halo011.jpg

如果看到“passwd: password updated successfully”,说明密码设置成功。

2.6 登陆halo账户

执行命令:

su – halo

2.7 创建存放安装包的目录

这里以 ~/app 为例,执行命令:

mkdir ~/app && cd ~/app

下载halo安装包

执行命令:

wget https://dl.halo.run/release/halo-1.4.17.jar -O halo.jar

Halo012.jpg

2.8 创建工作目录

执行命令:

mkdir ~/.halo && cd ~/.halo

下载示例配置文件到工作目录

执行命令:

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

Halo013.jpg

2.9 编辑配置文件,配置数据库或者端口等

执行命令:

vim application.yaml

Halo014.jpg

修改完配置后,记得输入wq进行保存(方法:同时按住shift + : 键,输入wq回车)。

2.10 测试运行Halo

执行命令:

cd ~/app && java -jar halo.jar

Halo015.jpg

如看到类似如下信息:

run.halo.app.listener.StartedListener : Halo started at http://127.0.0.1:8090
run.halo.app.listener.StartedListener : Halo admin started at http://127.0.0.1:8090/admin
run.halo.app.listener.StartedListener : Halo has started successfully!

则代表启动成功

2.11 切换至root账户

退出halo账户,登录到root账户(如果当前就是root 账户,请略过此步)

执行命令:

exit

Halo016.jpg

2.12 下载Halo官方的halo.service模板

执行命令:

wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service

Halo017.jpg

2.13 修改halo.service

执行命令:

vim /etc/systemd/system/halo.service

Halo018.jpg

修改YOUR_JAR_PATH:Halo运行包的绝对路径,例如 /home/halo/app/halo.jar 。

注:此路径不支持 ~ 符号。

修改USER:运行Halo的系统用户,如果是按照以上教程创建新的用户来运行Halo,修改为你创建的用户名称即可。反之请删除User=USER。

Halo019.jpg

2.14 重新加载systemd

执行命令:

systemctl daemon-reload

2.15 运行服务

执行命令:

systemctl start halo

2.16 保证在系统启动时能够启动服务

执行命令:

systemctl enable halo

2.17 查看服务日志

可以执行命令:

journalctl -n 20 -u halo

来查看服务日志检查启动状态。

Halo020.jpg

当在浏览器录入http://47.95.194.178:8090/(此处47.95.194.178为我的示例IP,换成你部署主机的IP即可),看到如下图所示页面,说明你的Halo安装部署已经成功了99%。

Halo021.jpg

——这是中国小武搭建完成Halo博客发表的第一文,以此纪念。

Q.E.D.


学习,永无止境