Wie installiere ich Cachet Status Page auf Ubuntu 24.04 Server
Cachet ist ein in PHP geschriebenes Open-Source-Statusseitensystem. Es ermöglicht es dir, Ausfallzeiten und Systemfehler in deiner Infrastruktur zu überwachen. Cachet bietet eine JSO-API, sogar Berichte, Metriken, mehrere Benachrichtigungsmethoden und eine Zwei-Faktor-Authentifizierung.
In diesem Lernprogramm lernst du, wie du Cachet auf einem Ubuntu 24.04 Server mit Docker installierst und ausführst. Außerdem wirst du Nginx als Reverse Proxy installieren und einrichten und Cachet mit HTTPS über Certbot und Letsencrypt absichern.
Voraussetzungen
Für diesen Leitfaden brauchst du Folgendes
- Einen Ubuntu 24.04 Server.
- Einen Nicht-Root-Benutzer mit Administrator-Rechten.
- Einen Domainnamen, der auf die IP-Adresse des Servers zeigt.
Installation der Docker-Engine
In dieser Anleitung wirst du Cachet als Container mit Docker ausführen. Anschließend installierst du die Docker Engine auf deinem Ubuntu-System.
Führe zunächst den folgenden Befehl aus, um die Pakete ca-certificates und curl zu installieren.
sudo apt install ca-certificates curl
Führe nun den folgenden Befehl aus, um den GPG-Schlüssel für das Docker-Repository hinzuzufügen.
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
Füge das Docker-Repository mit folgendem Befehl hinzu:
echo “deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu (. /etc/os-release && echo "VERSION_CODENAME”) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Aktualisiere als Nächstes deinen Ubuntu-Paketindex und installiere Docker Engine mit dem folgenden apt-Befehl. Gib Y ein, um die Installation zu bestätigen.
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Nach der Installation sollte der Docker-Dienst auf deinem Ubuntu-System laufen und aktiviert sein.
Führe den folgenden Befehl aus, um den Docker-Dienst zu überprüfen.
sudo systemctl is-enabled docker sudo systemctl status docker
Du wirst eine ähnliche Ausgabe wie unten sehen:
Benutzer einrichten, um Docker auszuführen
Nach der Installation von Docker musst du deinen Benutzer zur Docker-Gruppe hinzufügen. So kannst du den Container als Nicht-Root-Benutzer ausführen.
Um deinen Benutzer zur Docker-Gruppe hinzuzufügen, führe den folgenden Befehl aus. Ändere den Benutzernamen mit deinem Benutzer.
sudo usermod -aG docker username
Melde dich nun mit deinem Benutzer an und führe den Befehl docker aus, um deine Konfiguration zu überprüfen.
su - username docker run hello-world
Wenn deine Konfiguration erfolgreich ist, siehst du die Hello World Nachricht von Docker.
Installation von Cachet mit Docker
Nachdem du die Docker-Engine installiert und deinen Benutzer konfiguriert hast, lädst du das Cachet-Projekt herunter, richtest die Datei docker-compose.yml ein, erstellst Images und konfigurierst den Container für Cachet und führst Cachet dann als Container aus.
Lade die Cachet-Docker-Version in das cachet-docker-Verzeichnis herunter und wechsle in dieses.
git clone https://github.com/cachethq/Docker.git cachet-docker cd cachet-docker
Bearbeite die Datei docker-compose.yml mit dem Editor nano.
nano docker-compose.yml
Ändere den Standard-Port auf 8000 für den Container und den Docker-Host.
ports: - 8000:8000
Speichere die Datei und beende sie.
Führe nun den unten stehenden Docker-Befehl aus, um das Cachet-Image zu erstellen und den Cachet-Container zu starten.
docker compose build docker compose up
Während des Build-Prozesses siehst du Folgendes:
Wenn du den Cachet-Container startest, erhältst du eine Ausgabe wie die folgende:
Wenn du Cachet zum ersten Mal startest, wird ein neuer APP_KEY wie der folgende erzeugt – Kopiere den APP_KEY und drücke Strg+c, um den Cachet-Container zu beenden.
Anschließend bearbeitest du die Datei docker-compose.yml erneut und ersetzt den APP_KEY wie folgt:
APP_KEY=base64:6ltZ62B69p6oxIVeQtf9jpX5BFvgUXU2qk5eXpw3OIQ=
Speichere die Datei und beende sie.
Führe nun den folgenden Docker-Befehl aus, um die alten Container und die neuen Cachet-Container zu löschen.
docker compose down docker compose up -d
Zum Schluss führst du den folgenden Befehl aus, um die laufenden Container oder Dienste zu überprüfen.
docker compose ps
Du siehst unten, dass der Cachet-Container auf Port 8000 läuft.
Nginx als Reverse Proxy einrichten
In dieser Anleitung wirst du Cachet mit Nginx als Reverse Proxy betreiben. Also installierst du Nginx und einen neuen Serverblock für einen Reverse-Proxy. Vergewissere dich, dass dein Domainname bereit ist und auf die IP-Adresse des Servers zeigt.
Um den Nginx-Webserver zu installieren, führst du den folgenden apt-Befehl aus. Gib Y ein, um mit der Installation fortzufahren.
sudo apt install nginx
Nachdem die Installation abgeschlossen ist, erstelle mit dem nano-Editor eine neue Nginx-Serverblockdatei /etc/nginx/sites-available/cachet.conf.
sudo nano /etc/nginx/sites-available/cachet.conf
Füge die folgende Konfiguration ein und stelle sicher, dass du status.howtoforge.local durch deinen Domainnamen ersetzt.
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; } }
Wenn du fertig bist, speichere die Datei und beende den Editor.
Führe nun den folgenden Befehl aus, um die Serverblockdatei cachet.conf / zu aktivieren und überprüfe deine Nginx-Syntax. Wenn du die richtige Syntax hast, siehst du eine Ausgabe , die testet, ob die Syntax in Ordnung ist.
sudo ln -s /etc/nginx/sites-available/cachet.conf /etc/nginx/sites-enabled/ sudo nginx -t
Zum Schluss führst du den Befehl systemctl aus, um den Nginx-Dienst neu zu starten und deine Änderungen zu übernehmen. Überprüfe dann den Status des Nginx-Dienstes, um sicherzustellen, dass er läuft.
sudo systemctl restart nginx sudo systemctl status nginx
Wie du unten siehst, läuft der Nginx-Dienst als Reverse-Proxy für die Cachet-Installation.
Cachet mit HTTPS absichern
Jetzt läuft Cachet in einem Container und du hast Nginx als Reverse Proxy für Cachet konfiguriert. Um Cachet zu sichern, erstellst du SSL-Zertifikate und implementierst HTTPS über Certbot und Letsencrypt.
Installiere Certbot und das Certbot Nginx Plugin mit dem folgenden apt-Befehl. Drücke Y, um die Installation zu bestätigen.
sudo apt install certbot python3-certbot-nginx
Führe nun den folgenden Certbot-Befehl aus, um SSL-Zertifikate zu erzeugen und Cachet mit HTTPS zu sichern. Achte darauf, dass du den Domänennamen und die E-Mail-Adresse mit deinen Daten änderst.
sudo certbot --nginx
Sobald der Vorgang abgeschlossen ist, sind deine SSL-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com verfügbar und deine Cachet-Installation sollte mit HTTPS gesichert sein.
Installation von Cachet
Rufe deine Cachet-Domain, z. B. https://status.howtoforge.local/, mit deinem bevorzugten Webbrowser auf. Du siehst dann den Installationsassistenten.
Im Abschnitt Umgebungseinrichtung wählst du die Standardeinstellungen Cache, Queue und Session als Datenbank aus und gibst deine SMTP-Daten ein.
Erstelle deine erste Statusseite und klicke auf Weiter, um fortzufahren.
Gib den neuen Administratorbenutzer, die E-Mail-Adresse und das Passwort für deine Cachet-Installation ein.
Nachdem die Installation abgeschlossen ist, siehst du eine Meldung, dass Cachet erfolgreich konfiguriert wurde. Klicke dann auf Gehe zum Dashboard, um auf Cachet zuzugreifen.
Gib deinen Admin-Benutzer und dein Passwort ein und klicke dann auf Login.
Wenn du die richtigen Anmeldedaten hast, siehst du das Cachet-Dashboard wie folgt:
Fazit
Herzlichen Glückwunsch! Du hast die Installation der Cachet-Statusseite auf einem Ubuntu 24.04 Server mit Docker abgeschlossen. Du hast Nginx als Reverse Proxy für Cachet konfiguriert und Cachet mit HTTPS über Certbot und Letsencrypt gesichert. Jetzt kannst du deine Websites oder Dienste mit Cachet hinzufügen und überwachen und zusätzliche Benachrichtigungen mit E-Mail-Adressen usw. einrichten.