搭建 Halo 博客
Halo [ˈheɪloʊ],强大易用的开源建站工具。
一、安装 docker
# 1. 更新apt包索引并安装包以允许apt通过 HTTPS 使用存储库:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
# 2. 添加Docker官方GPG密钥:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 3. 使用以下命令设置存储库:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 4. 更新apt包索引:
sudo apt-get update
# 5. 安装 Docker 引擎、containerd 和 Docker Compose。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 6. 通过运行镜像来验证Docker Engine安装是否成功 hello-world。
sudo docker run hello-world
二、配置 halo
#1. 创建halo目录
mkdir ~/halo
#2. 配置halo:
touch ~/halo/docker-compose.yaml
#3. 更改
vim ~/halo/docker-compose.yaml
# 具体配置参考: https://docs.halo.run/getting-started/install/docker-compose
三、启动 halo
sudo docker compose up
四、配置 nginx
sudo vim /etc/nginx/sites-available/instances.fun
具体文件内容:
upstream halo {
server 127.0.0.1:8090;
}
server {
listen 80;
listen [::]:80;
server_name instances.fun
client_max_body_size 1024m;
location / {
proxy_pass http://halo;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
五、配置网站具体内容
访问你配置的网址,登录,就可以了。
用户名&密码是在docker-compose.yaml 里设置的。
六、halo 踩坑记录
6.1 关闭注册&登录功能
设置-代码注入-全局head标签 添加如下代码
<script>
document.addEventListener('DOMContentLoaded', function() {
let element = document.querySelector('header div div:nth-child(2) ul li:last-child');
element.parentNode.removeChild(element);
});
</script>