接上一篇《ArmSom-Sige5开发版使用Armbian——基础路由》,本文将介绍如何在 ArmSom-Sige5 开发板上安装 Cockpit Web GUI 作为管理面板,监视其他服务器(包括 Homelab设备 和 VPS)。
面板选择
常见的 Linux 服务器面板有很多,比如宝塔、1Panel,相互之间的比较这里就不阐述了请自行Google,这里选择 Cockpit 理由主要是:一管多、轻量、开源(社区维护)、美观。
Start up
安装
我的 Armbian 是基于 Ubuntu 24.04 Nobel,这里直接按照官方参考文档 Ubuntu 的安装步骤
. /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit
启用与关闭
当浏览器访问 cockpit.socket
时,实际进行服务的 cockpit.service
和 cockpit-ws
进程将按需启动,默认端口为 9090 (后续配置可更改),安装完成后我们启动 cockpit.socket
:
sudo systemctl enable cockpit.socket
如果要停止通过浏览器访问
sudo systemctl disable cockpit.socket
配置
监听端口配置
要更改其端口和/或地址,应在 /etc/systemd/system/cockpit.socket.d/listen.conf
修改
sudo mkdir -p /etc/systemd/system/cockpit.socket.d
sudo vim /etc/systemd/system/cockpit.socket.d/listen.conf
增加以下内容
[Socket]
ListenStream=
ListenStream=7777
FreeBind=yes
注意:第一行的空值是有意留出的。
systemd
允许在单个Socket
单元中声明多个Listen
指令;在插入文件中的空值会重置列表,从而禁用原始单元的默认端口 9090。这里参考Cockpit官方文档,更多systemd.socket
配置说明可参考手册。
应用改变,现在尝试访问 7777
sudo systemctl daemon-reload
sudo systemctl restart cockpit.socket
cockpit.conf 配置
默认配置文件在 /etc/cockpit/cockpit.conf
sudo vim /etc/cockpit/cockpit.conf
增加以下内容
[WebService]
Origins = http://your.domain # 内网域名
ProtocolHeader = X-Forwarded-Proto # 与nginx中一致
ForwardedForHeader = X-Forwarded-For # 与nginx中一致
LoginTo = false
AllowUnencrypted = true # 由于我在内网不使用https 这里需要允许
AllowMultiHost = true