接上一篇《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.servicecockpit-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-web

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