一、系统准备
废话不多说!
首先,准备好你的Ubuntu 20.04操作系统。
注:我是在阿里云上购买的ECS共享型云服务器,选择了Ubuntu 20.04 64位操作系统。
二、安装Halo
接下来就是准备好ssh客户端(我选择鼎鼎大名的Xshell),以方便远程管理你的Ubuntu。
正式开始安装!
过程中难免会有坎坷,咱们逢山开路遇水搭桥,一路往下干!
2.1 对Ubuntu进行依赖检查
注:运行Halo,必须安装JRE,且最低依赖要求为JRE 11。
先来检查一下当前Ubuntu系统是否已安装JRE?版本是什么?
执行命令:
java -version
注:输入命令后,别忘了点回车,后面就不再一一提醒了。
查询结果是“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的版本
2.3 给系统创建一个用户
注:不推荐直接使用系统的root用户来运行Halo。
如果你坚持使用root用户,请跳过这一步。
我这里创建一个名为halo的用户,你可以随意创建你中意的用户名。
执行命令:
useradd -m halo
2.4 给halo用户授权
授权前,咱们先来查看一下当前系统都有哪些用户和用户组,也可以忽略此步。
执行命令:
cat /etc/shadow
查看所有用户
不查不知道,一查“吓一跳”。居然有这么多用户?当然,其中也有咱们刚刚创建的halo。
接下来,查看一下用户组。执行命令:
cat /etc/group
用户组也很多,这里就不上图了。
别墨迹了,快给halo用户授权吧。
注:在Ubuntu上,sudo组的成员默认被授予sudo访问权限,所以将halo添加到sudo组即可。
执行命令:
sudo usermod -aG sudo halo
接下来,咱们查看一下halo用户所在组
执行命令:
id halo
再来检查一下halo用户是否具有sudo权限
执行命令:
sudo -l -U halo
输出如上图信息,就说明halo用户在sudo组。
2.5 给halo用户创建密码
执行命令:
passwd halo
如果看到“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
2.8 创建工作目录
执行命令:
mkdir ~/.halo && cd ~/.halo
下载示例配置文件到工作目录
执行命令:
wget https://dl.halo.run/config/application-template.yaml -O ./application.yaml
2.9 编辑配置文件,配置数据库或者端口等
执行命令:
vim application.yaml
修改完配置后,记得输入wq进行保存(方法:同时按住shift + : 键,输入wq回车)。
2.10 测试运行Halo
执行命令:
cd ~/app && java -jar halo.jar
如看到类似如下信息:
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
2.12 下载Halo官方的halo.service模板
执行命令:
wget https://dl.halo.run/config/halo.service -O /etc/systemd/system/halo.service
2.13 修改halo.service
执行命令:
vim /etc/systemd/system/halo.service
修改YOUR_JAR_PATH:Halo运行包的绝对路径,例如 /home/halo/app/halo.jar 。
注:此路径不支持 ~ 符号。
修改USER:运行Halo的系统用户,如果是按照以上教程创建新的用户来运行Halo,修改为你创建的用户名称即可。反之请删除User=USER。
2.14 重新加载systemd
执行命令:
systemctl daemon-reload
2.15 运行服务
执行命令:
systemctl start halo
2.16 保证在系统启动时能够启动服务
执行命令:
systemctl enable halo
2.17 查看服务日志
可以执行命令:
journalctl -n 20 -u halo
来查看服务日志检查启动状态。
当在浏览器录入http://47.95.194.178:8090/(此处47.95.194.178为我的示例IP,换成你部署主机的IP即可),看到如下图所示页面,说明你的Halo安装部署已经成功了99%。
Q.E.D.