如何在 Debian 12 上安装 Cachet 状态页面系统如何在 Debian 12 上安装 Cachet 状态页面系统如何在 Debian 12 上安装 Cachet 状态页面系统如何在 Debian 12 上安装 Cachet 状态页面系统
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 12 上安装 Cachet 状态页面系统

在此页面上

  1. 先决条件
  2. 安装 Docker 引擎
  3. 使用 Docker 和 PostgreSQL 数据库运行 Cachet
  4. 设置 Nginx 作为反向代理
  5. 设置 UFW(简单防火墙)
  6. 使用 HTTPS 保护 Cachet
  7. 安装标记
  8. 结论

Cachet 是一个用 PHP 编写的开源状态页面系统。它允许您监控基础设施上的停机时间和系统故障。 Cachet 提供 JSO API,甚至提供报告、指标、多种通知方法和双因素身份验证。

在下面的教程中,我们将向您展示如何在 Debian 12 服务器上安装 Cachet 状态页面。您将使用 PostgreSQL 数据库和 Nginx Web 服务器将 Cachet 作为 Docker 容器运行。

先决条件

在继续之前,请确保您具备以下条件:

  • Debian 12 服务器。
  • 具有 sudo 权限的非 root 用户。
  • UFW 已安装并配置。
  • 域名指向服务器IP地址。

安装 Docker 引擎

在此示例中,您将通过 Docker 将 Cachet 安装为容器。所以你需要将 Docker 引擎安装到你的 Debian 系统上。在此示例中,您将使用官方 Docker 引擎包。

首先,运行以下命令来安装包curl和ca-certificates。

sudo apt install ca-certificates curl -y

现在,通过执行以下命令为 Docker 存储库添加 GPG 密钥。

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

接下来,使用以下命令为 Debian 系统添加 Docker 引擎存储库。

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

添加 Docker 存储库后,使用以下命令更新并刷新您的包索引。

sudo apt update

现在使用以下命令将 Docker Engine 安装到您的系统中。键入 Y 确认安装。

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装完成后,Docker 服务应该会自动运行。使用以下命令检查 Docker 服务状态。

sudo systemctl status docker

您将看到如下所示的输出:

为了确保您的用户可以执行并运行容器,您必须使用以下命令将其添加到 docker 组。

sudo usermod -aG sudo alice

最后,以您的用户身份登录并执行下面的 docker 命令来运行容器 hello-world。

su - alice
docker run hello-world

如果配置成功,您应该得到如下输出“Hello Docker”:

使用 Docker 和 PostgreSQL 数据库运行 Cachet

安装 Docker 后,您需要下载 Cachet 项目并配置安装。在这种情况下,您将以非 root 用户身份使用 Docker 容器安装并运行 Cachet。

将Cachet项目下载到cachet-docker目录并进入。

git clone https://github.com/cachethq/Docker.git cachet-docker
cd cachet-docker

使用以下 nano 编辑器命令打开 docker-compose.yml 文件。

nano docker-compose.yml

将默认主机端口更改为 8000,如下所示。您还可以使用您的信息自定义数据库详细信息,并将默认的 Cachet 版本保留为目前的 2.4。

 ports:
 - 8000:8000

保存文件并退出。

现在运行以下 docker 命令来构建缓存映像并为 Cachet 和 PostgreSQL 运行容器。

docker compose build
docker compose up

下面,您可以看到为 Cachet 构建 Docker 镜像时的屏幕截图。

下面是为 Cachet 和 PostgreSQL 运行容器/服务时的屏幕截图。

在 Cachet 容器的详细日志中,您会发现有关 APP_KEY 配置的错误。复制生成的APP_KEY并按Ctrl+c终止容器。

接下来,使用 nano 编辑器重新打开 docker-compose.yml 文件。

nano docker-compose.yml

更改默认的 APP_KEY 参数,如下所示。确保包含 base64 字符串。

APP_KEY=base64:WfKUhY0wAOyr5hkxoctZUSWPGdXbBUWFvNLCoI7kTU8=

保存文件并退出。

现在运行下面的 docker 命令来终止 Cachet 和 PostgreSQL 的容器,然后再次启动它。

docker compose down
docker compose up -d

容器启动后,使用以下命令验证正在运行的容器的列表。

docker compose ps

如下所示,Cachet 和 PostgreSQL 容器都在运行。 Cachet 容器正在端口 8000 上运行。

设置 Nginx 作为反向代理

现在 Cachet 作为容器在端口 8000 上运行,您将安装并配置 Nginx 作为 Cachet 的反向代理。

使用以下命令将 Nginx 安装到您的 Debian 服务器。

sudo apt install nginx -y

安装完成后,使用下面的 nano 编辑器命令创建一个新的 Nginx 服务器块配置 /etc/nginx/sites-available/cachet。

sudo nano /etc/nginx/sites-available/cachet

插入下面的配置并确保将 server_name 参数更改为您的域名。

server {
 listen 80;
 server_name status.howtoforge.local;
 location / {
 proxy_pass http://127.0.0.1:8000;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;
 }
}

保存文件并退出编辑器。

接下来,运行下面的 Nginx 命令来激活 Cachet 服务器块并检查您的 Nginx 语法。如果您的语法正确,您应该得到一个输出“syntax is ok”。

sudo ln -s /etc/nginx/sites-available/cachet /etc/nginx/sites-enabled/
sudo nginx -t

最后,重新启动 Nginx Web 服务器以应用 Cachet 服务器块配置并验证 Nginx 服务以确保其正在运行。

sudo systemctl restart nginx
sudo systemctl status nginx

如果 Nginx 正在运行,您应该得到一个输出 active(running)。

设置 UFW(简单防火墙)

在访问Cachet之前,您必须确保HTTP和HTTPS端口都被允许。在 Ubuntu 上,您将允许通过 UFW(简单防火墙)传输 HTTP 和 HTTPS 流量。

确保 UFW 已启用,现在运行以下命令以在 UFW 上启用“Nginx Full”配置文件。这将允许 HTTP 和 HTTPS 协议的流量到达您的 Nginx Web 服务器。

sudo ufw allow 'Nginx Full'

现在使用以下命令验证 UFW 中启用的规则列表。

sudo ufw status

您将看到 UFW 上启用了“Nginx Full”配置文件。

使用 HTTPS 保护 Cachet

此时,您的 Cachet 应该可以通过 Nginx 访问。为了保护您的安装,您将通过 Letsencrypt 的 SSL 为 Cachet 启用 HTTPS。

因此,运行以下命令来安装 Certbot 和 Certbot Nginx 插件。输入 Y 确认安装。

sudo apt install certbot python3-nginx-certbot

安装完成后,执行下面的 certbot 命令为您的 Cachet 安装生成 SSL/TLS 证书。请务必使用您的信息更改详细域名和电子邮件地址。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email  -d status.howtoforge.local

一切完成后,您的 SSL/TLS 证书应存储在 /etc/lestencrypt/live/status.howtoforge.local 目录中。此外,您的 Cachet 应通过 HTTPS 进行保护。

安装标记

启动您首选的 Web 浏览器并访问您的 Cachet 安装 https://status.howtoforge.local/。如果安装成功,您应该会看到以下页面。

选择数据库的默认缓存驱动程序、队列驱动程序和会话驱动程序。然后,输入您的邮件服务器的详细信息。

单击下一步继续。

现在设置状态页面名称、默认时区和默认语言。然后再次单击下一步。

现在,输入您的用户名、电子邮件和密码,为 Cachet 创建一个新的管理员用户。然后,点击完成设置进行确认。

完成后,您将看到以下内容 - 单击转到仪表板。

使用您的用户名和密码登录 Cache,然后点击登录。

如果安装成功,您应该获得如下所示的 Cachet 仪表板:

结论

恭喜!您现在已经使用 Docker 在 Debian 12 服务器上安装了 Cachet 状态页面。您的 Cachet 安装正在使用 PostgreSQL 数据库和 Nginx Web 服务器运行。您现在可以使用 Cachet 监控您的站点。

©2015-2025 艾丽卡 support@alaica.com