Wie man das Cachet Statusseiten System unter Debian 9 installiert
Cachet ist ein schönes und leistungsstarkes Open-Source-Statusseiten-System das in PHP programmiert wurde, es ermöglicht Ihnen Ausfallzeiten und Systemausfälle an Ihre Kunden besser zu kommunizieren. Die Anwendung bietet Ihnen viele Funktionen, von denen die wichtigsten sind: eine leistungsstarke JSON-API, ereignisbezogene Berichte, Metriken, Metriken, Abschriftenunterstützung für Ereignismeldungen, Abonnentenbenachrichtigungen per E-Mail, Zwei-Faktor-Authentifizierung. In diesem Tutorial werden wir das Cachet-Statusseiten-System unter Verwendung von PHP, Nginx, MariaDB und Composer installieren.
Anforderungen
- PHP-Version 5.5.9 oder höher
- HTTP-Server mit PHP-Unterstützung (z.B.: Nginx, Apache, Caddy)
- Composer
- Eine unterstützte Datenbank: MySQL, PostgreSQL oder SQLite
Voraussetzungen
- Ein Server mit Debian 9.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
Erste Schritte
Überprüfen Sie die Debian-Version:
lsb_release -ds
# Debian GNU/Linux 9.5 (stretch)
Richten Sie die Zeitzone ein:
timedatectl list-timezones sudo timedatectl set-timezone 'Region/City'
Aktualisieren Sie die Pakete Ihres Betriebssystems:
sudo apt update && sudo apt upgrade -y
Installieren Sie die Pakete vim, git und socat:
sudo apt install -y vim git socat sudo
Schritt 1 – PHP installieren
Installieren Sie PHP und die erforderlichen PHP-Erweiterungen:
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-xml php7.0-gd php7.0-zip php7.0-mbstring php7.0-mysql php7.0-pgsql php7.0-sqlite3 php7.0-mcrypt php-apcu
Überprüfen Sie die PHP-Version:
php --version # PHP 7.0.30-0+deb9u1 (cli) (built: Jun 14 2018 13:50:25) ( NTS )
Schritt 2 – MariaDB installieren und eine Datenbank für Cachet erstellen
Cachet unterstützt MySQL/MariaDB, PostgreSQL und SQLite3 Datenbanken. In diesem Tutorial verwenden wir MariaDB als Datenbankserver.
Installieren Sie den MariaDB-Datenbankserver:
sudo apt install -y mariadb-server
Überprüfen Sie die MariaDB-Version:
mysql --version # mysql Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Starten Sie dasmysql_secure installation
Skript zur Verbesserung der MariaDB-Sicherheit und zur Festlegung des Passworts für den MySQLroot
Benutzer:
sudo mysql_secure_installation
Beantworten Sie jede der Fragen:
Enter current password for root (enter for none): Press Enter Set root password? [Y/n] Y 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 mit der MySQL-Shell als root-Benutzer:
mysql -u root -p # Enter password
Erstellen Sie eine leere MariaDB-Datenbank und einen leeren Benutzer für Cachet und merken Sie sich die Zugangsdaten:
MariaDB [(none)]> CREATE DATABASE dbname; MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password'; MariaDB [(none)]> FLUSH PRIVILEGES;
Verlassen Sie MariaDB:
MariaDB [(none)]> exit
Ersetzen Sie dbname, Benutzername und Passwort durch Ihre eigenen Namen.
Schritt 3 – Installieren Sie den Acme.sh-Client und erhalten Sie Let’s Encrypt Zertifikat (optional).
Die Sicherung Ihrer Statusseite mit HTTPS ist nicht notwendig, aber es ist eine gute Vorgehensweise, um den Traffic Ihrer Website zu sichern. Um das SSL-Zertifikat von Let’s Encrypt zu erhalten, werden wir den Acme.sh-Client verwenden. Acme.sh ist eine reine Unix-Shell-Software zum Erhalten von SSL-Zertifikaten von Let’s Encrypt ohne Abhängigkeiten.
Laden Sie Acme.sh herunter und installieren Sie es:
sudo mkdir /etc/letsencrypt git clone https://github.com/Neilpang/acme.sh.git cd acme.sh sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected] cd ~
Überprüfen Sie die Version von Acme.sh:
/etc/letsencrypt/acme.sh --version # v2.8.0
Besorgen Sie sich RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Hostname:
# RSA 2048 sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d status.example.com --ocsp-must-staple --keylength 2048 # ECDSA sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d status.example.com --ocsp-must-staple --keylength ec-256
Nachdem Sie die obigen Befehle ausgeführt haben, wird IhrZertifikateundSchlüsselwird drin sein:
- Für RSA: × × ×
/etc/letsencrypt/status.example.com
Verzeichnis. - Für ECC/ECDSA: × × ×
/etc/letsencrypt/status.example.com_ecc
Verzeichnis.
Schritt 4 – Installation und Konfiguration von Nginx
Cachet kann mit vielen Webservern gut funktionieren. In diesem Tutorial haben wir Nginx ausgewählt.
Installieren Sie Nginx:
sudo apt install -y nginx
Überprüfen Sie die Nginx-Version:
sudo nginx -v # nginx version: nginx/1.10.3
Konfigurieren Sie Nginx für Cachet, indem Sie es 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; 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.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; fastcgi_keep_conn on; } }
Aktivieren Sie die neu cachet.conf
Konfiguration durch Verknüpfen der Datei mit demsites-enabled
Verzeichnis:
sudo ln -s /etc/nginx/sites-available/cachet.conf /etc/nginx/sites-enabled/
Testen Sie die NGINX-Konfiguration:
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') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { 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
Überprüfen Sie die Composer-Version:
composer --version # Composer version 1.7.2 2018-08-16 16:57:12
Schritt 6 – Cachet installieren
Erstellen Sie ein Dokumenten-Stammverzeichnis, in dem sich das Gütesiegel befinden soll:
sudo mkdir -p /var/www/cachet
Navigieren Sie zum Stammverzeichnis des Dokuments:
cd /var/www/cachet
Laden Sie den Cachet-Quellcode mit Git herunter und kassieren Sie die neueste tagged release:
git clone https://github.com/cachethq/Cachet.git . git tag -l git checkout v2.3.15
Kopieren.env.example
zu.env
Datei und Konfiguration der Datenbank undAPP_URL
Einstellungen in.env
Datei:
cp .env.example .env vim .env
Cachet-Abhängigkeiten mit dem Composer installieren:
composer install --no-dev -o
Richten Sie den Anwendungsschlüssel durch Ausführen ein:
php artisan key:generate
Installieren Sie Cachet:
php artisan app:install
Wechseln Sie den Eigentümer des/var/www/cachet
Verzeichnis zuwww-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 – Vervollständigen Sie das Cachet-Setup.
Wählen Sie Cache- und Sitzungs-Treiber aus und konfigurieren Sie die Mail-Optionen:
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 des Cachet wurde abgeschlossen. Um
auf das Cachet Dashboard zuzugreifen, fügen Sie den Anhang an die URL Ihrer/dashboard
Website an.