Cachet ist ein schönes und leistungsstarkes Open-Source-Statusseitensystem, das in PHP geschrieben ist und Ihnen eine bessere Kommunikation ermöglicht Ausfallzeiten und Systemausfälle für Ihre Kunden, Teams und Aktionäre. Die Anwendung bietet Ihnen viele Funktionen, die bemerkenswertesten unter ihnen sind:eine leistungsstarke JSON-API, Vorfallberichte, Metriken, Markdown-Unterstützung für Vorfallmeldungen, Abonnentenbenachrichtigungen per E-Mail, Zwei-Faktor-Authentifizierung. In diesem Tutorial installieren wir das Cachet-Statusseitensystem unter Verwendung von PHP, Nginx, MySQL und Composer auf Ubuntu 18.04 LTS.
Anforderungen
- PHP-Version 7.1 oder höher
- HTTP-Server mit PHP-Unterstützung (zB:Nginx, Apache, Caddy)
- Komponist
- Eine unterstützte Datenbank:MySQL, PostgreSQL oder SQLite
- Git
Voraussetzungen
- Ein Ubuntu 18.04 LTS-Betriebssystem.
- Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.
Erste Schritte
Überprüfen Sie Ihre Ubuntu-Version:
lsb_release -ds
# Ubuntu 18.04.1 LTS
Richten Sie die Zeitzone ein:
sudo dpkg-reconfigure tzdata
Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, da er sicherstellt, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:
sudo apt update && sudo apt upgrade -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Ubuntu-Betriebssystems erforderlich sind:
sudo apt install -y curl wget vim git unzip socat bash-completion
Schritt 1 – PHP installieren
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-xml php7.2-gd php7.2-zip php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-sqlite3 php7.2-opcache php-apcu
Um PHP in Modulen kompiliert anzuzeigen, können Sie Folgendes ausführen:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Überprüfen Sie die PHP-Version:
php --version
# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Der PHP-FPM-Dienst wird beim Neustart auf einem Ubuntu 18.04-System automatisch gestartet und aktiviert, sodass er nicht manuell gestartet und aktiviert werden muss. Wir können mit dem nächsten Schritt fortfahren, nämlich der Installation und Einrichtung der Datenbank.
Schritt 2 – Installieren Sie MySQL und erstellen Sie eine Datenbank für Cachet
Cachet unterstützt MySQL-, MariaDB-, PostgreSQL- und SQLite-Datenbanken. In dieser Anleitung verwenden wir MySQL als Datenbankserver.
MySQL-Datenbankserver installieren:
sudo apt install -y mysql-server
Überprüfen Sie die MySQL-Version:
mysql --version
# mysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper
Führen Sie mysql_secure installation
aus Skript zur Verbesserung der MySQL-Sicherheit und zum Festlegen des Passworts für MySQL root
Benutzer:
sudo mysql_secure_installation
Beantworten Sie jede der Fragen:
Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Verbinden Sie sich als Root-Benutzer mit der MySQL-Shell:
sudo mysql -u root -p
# Enter password
Erstellen Sie eine leere MySQL-Datenbank und einen Benutzer für Cachet und merken Sie sich die Anmeldedaten:
mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
Beenden Sie MySQL:
mysql> exit
Ersetzen Sie dbname
, username
und password
mit Ihren eigenen Namen.
Schritt 3 – Installieren Sie den Acme.sh-Client und erhalten Sie das Let's Encrypt-Zertifikat (optional)
Das Sichern Ihrer Website mit HTTPS ist nicht erforderlich, aber es ist eine bewährte Methode, den Datenverkehr Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let's Encrypt zu erhalten, verwenden wir den acme.sh-Client. Acme.sh ist eine reine UNIX-Shell-Software zum Abrufen von TLS-Zertifikaten von Let's Encrypt ohne Abhängigkeiten.
Laden Sie acme.sh herunter und installieren Sie es:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~
Überprüfen Sie die acme.sh-Version:
acme.sh --version
# v2.8.0
Fordern Sie RSA an und ECC/ECDSA Zertifikate für Ihre Domain/Ihren Hostnamen:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Wenn Sie zum Testen gefälschte Zertifikate wünschen, können Sie das --staging
hinzufügen Flag zu den obigen Befehlen.
Nachdem Sie die obigen Befehle ausgeführt haben, werden Ihre Zertifikate und Schlüssel wird sein in:
- Für RSA :
/home/username/example.com
Verzeichnis. - Für ECC/ECDSA :
/home/username/example.com_ecc
Verzeichnis.
Um Ihre ausgestellten Zertifikate aufzulisten, können Sie Folgendes ausführen:
acme.sh --list
Erstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir verwenden den /etc/letsencrypt
Verzeichnis.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installieren/kopieren Sie Zertifikate in das /etc/letsencrypt-Verzeichnis.
# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
Alle Zertifikate werden alle 60 Tage automatisch erneuert.
Nachdem Sie die Zertifikate erhalten haben, verlassen Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:
exit
Schritt 4 – NGINX installieren und konfigurieren
Cachet kann mit vielen Webservern gut funktionieren. In diesem Tutorial haben wir Nginx ausgewählt. Wenn Sie den Apache-Webserver gegenüber Nginx bevorzugen, besuchen Sie https://docs.cachethq.io/docs/installing-cachet#section-running-cachet-on-apache um mehr zu erfahren.
Nginx installieren:
sudo apt install -y nginx
Überprüfen Sie die Nginx-Version:
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
Konfigurieren Sie Nginx für Cachet, indem Sie Folgendes ausführen:
sudo vim /etc/nginx/sites-available/cachet.conf
Und füllen Sie die Datei mit der folgenden Konfiguration:
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name status.example.com;
root /var/www/cachet/public;
index index.php;
ssl_certificate /etc/letsencrypt/status.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/status.example.com/status.example.com.key;
ssl_certificate /etc/letsencrypt/status.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/status.example.com_ecc/status.example.com.key;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
fastcgi_keep_conn on;
}
}
Aktivieren Sie die neue cachet.conf
konfigurieren, indem Sie die Datei mit sites-enabled
verknüpfen Verzeichnis:
sudo ln -s /etc/nginx/sites-available/cachet.conf /etc/nginx/sites-enabled/
NGINX-Konfiguration testen:
sudo nginx -t
Nginx neu laden:
sudo systemctl reload nginx.service
Schritt 5 - Composer installieren
Installieren Sie Composer, den PHP-Abhängigkeitsmanager, global:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Composer-Version prüfen:
composer --version
# Composer version 1.8.3 2019-01-30 08:31:33
Schritt 6 - Cachet installieren
Erstellen Sie ein Dokumentstammverzeichnis, in dem sich Cachet befinden soll:
sudo mkdir -p /var/www/cachet
Ändern Sie den Besitz von /var/www/cachet
Verzeichnis zu {jour_user}
:
sudo chown -R {your_user}:{your_user} /var/www/cachet
HINWEIS : Ersetzen Sie {jour_user}
mit Ihrem ursprünglich erstellten Nicht-Root-Nutzernamen.
Navigieren Sie zum Stammverzeichnis des Dokuments:
cd /var/www/cachet
Laden Sie den Cachet-Quellcode mit Git herunter:
git clone -b 2.4 --single-branch https://github.com/cachethq/Cachet.git .
Kopieren Sie .env.example
zu .env
Datei und konfigurieren Sie die Datenbank und APP_URL
Einstellungen in .env
Datei:
cp .env.example .env
vim .env
Cachet-Abhängigkeiten mit Composer installieren:
composer install --no-dev -o
Richten Sie den Anwendungsschlüssel ein, indem Sie Folgendes ausführen:
php artisan key:generate
Cachet installieren:
php artisan cachet:install
Ändern Sie den Besitz von /var/www/cachet
Verzeichnis zu www-data:
sudo chown -R www-data:www-data /var/www/cachet
Öffnen Sie Ihre Website in einem Webbrowser und folgen Sie den Anweisungen auf dem Bildschirm, um die Installation von Cachet abzuschließen.
Schritt 7 – Schließen Sie die Cachet-Einrichtung ab
Cache- und Sitzungstreiber auswählen und E-Mail-Optionen konfigurieren:
Konfigurieren Sie allgemeine Site-Einstellungen wie Site-Name, Site-Domain, Zeitzone und Sprache:
Erstellen Sie ein administratives Benutzerkonto:
Danach sollten Sie eine Meldung erhalten, dass Cachet erfolgreich konfiguriert wurde. Sie können das Cachet-Dashboard öffnen, indem Sie auf die Schaltfläche "Gehe zum Dashboard" klicken:
Die Installation und Einrichtung von Cachet ist abgeschlossen.
Um auf das Cachet-Dashboard zuzugreifen, hängen Sie /dashboard
an zu Ihrer Website-URL.
Links
- https://cachethq.io/
- https://github.com/CachetHQ/Cachet