Installiere und konfiguriere Cachet unter Ubuntu 16.04/18.04


Installiere und konfiguriere Cachet unter Ubuntu

Cachet ist ein in PHP geschriebenes Open-Source-Statusseitensystem. Mit Cachet hast du die Möglichkeit Ausfallzeiten und Systemausfälle zu verbessern und diese an Kunden und/oder deine Teammitglieder zu kommunizieren. In über 10 Sprachen übersetzt und unter Verwendung einer einfachen, aber leistungsfähigen JSON-API, bietet es ein geplantes Wartungsmanagement und zeigt verschiedene Metriken an, sodass Betriebszeit, Fehlerraten oder ähnliche Information tragende Faktoren messbar werden. In diesem Tutorial zeige ich dir, wie du Cachet unter deinem Ubuntu 16.04/18.04 lauffähig machst und dir Zugang zum Web UI von Cachet verschaffst.

Vor der Installation von Cachet …

Sorge für ein Update und ein Upgrade deines Servers.


apt-get update && apt-get upgrade

Für die Installation von Cachet benötigst du eine Datenbank wie z.B. MySQL oder MariaDB. Ich verwende in diesem Tutorial MySQL. Mit dem unten eingeblendeten Kommando installierst du dir diese Basiskomponente.


apt-get install mysql-server mysql-client curl

Als nächstes geht es daran die Datenbank einzurichten. Melde dich mit Hilfe des folgenden Befehls in MySQL an. Solltest du während der Installation nach keinem Passwort gefragt werden, dann gib das dir bekannte root-Passwort deines Servers ein.


mysql -u root -p

Lege zunächst eine Datenbank für Cachet an. Wie du diese benennst, bleibt dir überlassen. Ich nenne die Datenbank cachetdb.


CREATE DATABASE cachetdb;

Ordne der Datenbank dann einen Nutzer (hier: cachetuser) und ein Passwort (hier: testpassword) mit allen Rechten an dieser Datenbank zu.


GRANT ALL PRIVILEGES ON cachetdb.* TO 'cachetuser'@'localhost' IDENTIFIED BY 'testpassword';

Weise den Server an, die Rechte-Tabellen erneut zu laden


FLUSH PRIVILEGES;

und verlasse MySQL.


EXIT;

Als weitere Basiskomponente für die Installation von Cachet wirst du einen Webserver wie Apache sowie PHP für die Erstellung von Webanwendungen brauchen. Zunächst fügst du das PPA-Repository für PHP hinzu.

!Hinweis!: Derzeit funktionieren stabile Releases von Cachet nicht in PHP 7.2 oder 7.3. Du würdest also die Versionen 5.6, 7.0 oder 7.1 benötigen. Dieser Umstand kann sich jedoch im Zuge weiterer Releases ändern. Du solltest dich in diesem Sinne einfach auf dem Laufenden halten, wenn du Komplikationen bei der Ausführung von Cachet nach der Installation einer neueren PHP-Version vermeiden möchtest.


add-apt-repository ppa:ondrej/php

apt-get update

apt-get install php7.1

Installiere folglich Apache und notwendige PHP-Module mit dem unten aufgeführten Kommando.


apt-get install apache2 libapache2-mod-php7.1 php7.1-mbstring php7.1-curl php7.1-zip php7.1-gd php7.1-mysql php7.1-xml php7.1-mcrypt

!Hinweis!: Seit Version PHP 7.2 gibt es das Mcrypt-Modul nicht mehr. Da es aber eine der wichtigen Komponenten für die Nutzung von Cachet ist, ist dies, anknüpfend an den letzten Hinweis, ein weiterer Grund mit der jüngsten vor PHP 7.2 releasten Version zu arbeiten, nämlich mit PHP 7.1.

Aktiviere daraufhin das Apache rewrite-Modul


a2enmod rewrite

und führe schließlich einen Neustart des Apache Webservers durch, um die neu vorgenommene Konfiguration zu übernehmen.


systemctl restart apache2

Installiere und konfiguriere Cachet

Du downloadest den Quellcode mit Git. Zunächst wechselst du hierfür mit dem unten gezeigten Kommando in das Verzeichnis /var/www/html/.


cd /var/www/html/

und klonst dort Cachet mit Git.


git clone https://github.com/cachethq/Cachet.git

Wechsle daraufhin weiter in das Cachet-Verzeichnis.


cd Cachet

Dort kannst du den unten eingeblendeten Befehl ausführen, um dir alle verfügbaren Cachet-Versionen als Output generieren zu lassen und dir so ein Bild darüber machen, welche Versionen es gibt und welche die Aktuellste ist.


git tag -l

Nun ist es daran eine der existierenden Versionen auszuchecken. In diesem Tutorial nutze ich die zu diesem Zeitpunkt neueste Version, nämlich v2.3.15.


git checkout v2.3.15

Schließlich müsstest du noch dafür sorgen, dass alle Dateien vom Webserver lesbar sind. Das erreichst du, indem du einen ordnungsgemäßen Besitz festlegst. Hierzu dient dir das unten präsentierte chown-Kommando (change owner-Kommando).


chown www-data:www-data -R /var/www/html/Cachet/

In den nächsten Code-Snippets zeige ich dir, wie du die zuvor erstellte Datenbank für die Nutzung von Cachet konfigurierst. Bevor du mit der Datenbankkonfiguration startest, benennst du die .env.example-Konfigurationsdatei um in .env.


mv .env.example .env

Öffne die .env-Konfigurationsdatei im Editor deiner Wahl. Ich tue dies mit dem nano-Editor.


nano .env

Der unten eingebundene Code-Block demonstriert dir, zu welchen Parametern die Inhalte in der besagten Datei angepasst werden müssen.


...

APP_URL=http://localhost

...

DB_DATABASE=cachet
DB_USERNAME=homestead
DB_PASSWORD=secret

...

Verändere die Werte der Parameter, die im Code-Snippet unten eingeblendet sind so, wie ich dir es hier folglich zeige. Für den Parameter APP_URL belässt du als Wert das http://-Präfix und fügst den Domainname deines Servers daran an. Die Parameter DB_DATABASE, DB_USERNAME und DB_PASSWORD belegst du mit den dir bekannten Werten deiner zuvor erstellten Cachet-Datenbank.


...

APP_URL=http://domainname

...

DB_DATABASE=cachetdb
DB_USERNAME=cachetuser
DB_PASSWORD=testpassword

...

!Hinweis!: Du kannst die SMTP-Einstellung in der .env-Konfigurationsdatei ändern, wenn Cachet E-Mails an Abonnenten senden soll. Der Wert des Parameters APP_KEY kann voreingestellt beibehalten werden, da er später automatisch ausgefüllt wird.

!Hinweis!: Wenn du APP_DEBUG = true gesetzt hast und ein Fehler auftaucht, sind deine MySQL-Daten für jeden, der die Site besucht, öffentlich sichtbar. Dazu gehört dann auch dein Passwort. Stelle also sicher, dass dieser Parameter während der Produktion den Wert false hat.

Speichere deine in der .env-Konfigurationsdatei im nano-Editor vorgenommenen Updates mit der Tastenkombination Strg+O und verlasse den Editor mit Strg+X.

Im Anschluss daran führst du die beiden unten zur Verfügung gestellten Kommandos aus, um Composer zu installieren. Composer ist ein Abhängigkeiten-Manager für PHP, mit dem es möglich ist, Pakete zu installieren. Composer holt alle für dein Projekt erforderliche Bibliotheken und Abhängigkeiten ein.


curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

composer install --no-dev -o

!Hinweis!: Wenn du zu diesem Zeitpunkt einen Fehler erhältst, bedeutet dies, dass deine MySQL-Details in der .env-Konfigurationsdatei falsch sind. Wenn dies der Fall ist, bearbeite den Inhalt der Datei erneut, führe erneut den Composer und die Datenbankeinrichtung aus.

Für alle in Cachet verwendeten Verschlüsselungen musst du noch den Applikation-Key setzen. Dies betrifft den Wert des APP_KEY-Parameters in der .env-Datei. Generiere hierzu den Applikation-Key und installiere die Applikation mit Hilfe der beiden unten stehenden Befehle.

.


php artisan key:generate

php artisan app:install

!Hinweis!: Ändere nie den Wert von APP_KEY nach der Installation in der Produktionsumgebung. Denn dies würde zum Verlust all deiner verschlüsselten/gehashten Daten führen.

Erstelle daran anknüpfend ein neues virtuelles Host-Verzeichnis in Apache. Tue dies, indem du beispielsweise eine neue Apache-Konfigurationsdatei namens cachet.conf auf deinem virtuellen Server erstellst.


touch /etc/apache2/sites-available/cachet.conf

ln -s /etc/apache2/sites-available/cachet.conf /etc/apache2/sites-enabled/cachet.conf

Öffne die noch leere cachet.conf-Konfigurationsdatei im Editor deiner Wahl. Auch in diesem Fall nutze ich den nano-Editor.


nano /etc/apache2/sites-available/cachet.conf

Füge den Inhalt in die Konfigurationsdatei, den ich dir im Code-Block unten bereitstelle. Hierbei dient hostname.domainname als Platzhalter, den du mit dem Domainname deines Servers ersetzen müsstest.


   
    ServerName hostname.domainname
    # Or whatever you want to use
    ServerAlias www.hostname.domainname
    # Make this the same as ServerName
    DocumentRoot "/var/www/html/Cachet/public"
    
        Require all granted 
        # Used by Apache 2.4
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
   

Speichere das Update mit der Tastenkombination Strg+O und verlasse den nano-Editor mit Strg+X.

Führe dann abschließend einen Neustart deines Apache-Webservers durch.


service apache2 restart

Wenn du Änderungen vornimmst oder auf Probleme stößt, kannst du den Konfigurationscache mit dem folgenden Kommando löschen. Stelle zuvor jedoch sicher, dass du dich dabei dann im Verzeichnis /var/www/html/Cachet befindest.


php artisan config:clear

Führe anschließend dann ein Update der Applikation durch.


php artisan app:update

Getting started mit dem Cachet Web UI

Rufe in deinem Browser die Webadresse nach dem Schema http://hostname.domainname/ auf. Daraufhin solltest du im Browser automatisch zur /setup-Seite von Cachet navigiert werden, wie im folgenden Screenshot dargestellt.

Umgebungs-Setup-im Cachet Web-UI Setup

Sollte dies jedoch nicht eintreten und du erreichst einen HTTP-Fehler 500 (Internal Server Error), dann probiere diese beiden Kommandos aus und aktualisiere den Browser, um zu prüfen, ob du nun die besagte Seite erreichen kannst.


php artisan config:cache

php artisan app:update

Falls die beiden oben gezeigten Kommandos allerdings nicht den gewünschten Effekt erbringen, dann führe diese drei folgenden Befehle aus.


chmod -R 777 storage

rm -rf bootstrap/cache/*

chmod -R 777 bootstrap/

Nachdem du die angeforderten Informationen im Formular-Interface zum Umgebungs-Setup ausgefüllt und mit dem Next-Button bestätigt hast, wirst du in das Formular-Interface zum Statusseite-Setup weitergeleitet. Hier sind u. a. Informationen gefordert, wie der Name und die Domain (hostname.domainname) der Statusseite.

Statusseite-Setup im Cachet Web-UI Setup

Hast du auch diese Angaben mit dem Next-Button bestätigt, musst du im darauf folgenden Formular-Interface alle notwendigen Angaben zum Administrator Account machen.

Administrator-Account im Cachet Web-UI Setup

Schließlich kommst du mit Klick auf den Complete Setup-Button auf die Seite, die dir bestätigt, dass das Setup erfolgreich durchgeführt und abgeschlossen worden ist. Von dort aus gelangst du nicht mehr zurück zu den vorherigen Setup-Schritten, sondern dir wird über den Go to Dashboard-Button direkt die Möglichkeit gegeben

Bestätigung-Setup im Cachet Web-UI Setup

den Einstieg zu deinem persönlichen Cachet-Dashboard zu finden.

Dashboard im Cachet Web-UI

Fazit

Well done! Auf gehts! ? Du hast nun die Möglichkeit den Überblick über Ausfallzeiten und Systemausfälle deiner Website zu behalten, Metriken darüber erstellen zu lassen, diese zu überwachen, zu managen, Auffälligkeiten und Entwicklungen zu erkennen und somit Ausfallzeiten und Systemausfälle zu verbessern und in Austausch über diese mit bestimmten Personen zu treten. Ich wünsche dir gutes Gelingen bei der Nutzung von Cachet und es hat mir Spaß gemacht, dir bei dessen Installation, sowie der Konfiguration zu helfen. ?

#info {
position: relative;
padding: 15px;
margin: 1em 0 3em;
color: #39ff14;
background-color: #123850;
border-radius: 10px;
background: linear-gradient(top, #f9d835, #f3961c);
}Zurück zur Tutorial Übersicht Back to Tutorial Overview

Tags:

© 2002-2023 Phox inc. all rights reserved.

© 2002-2023 Phox inc. all rights reserved.