So installieren Sie das Cachet Status Page System auf Fedora 29
Cachet ist ein schönes und leistungsstarkes Open-Source-Statusseiten-System in PHP, das es Ihnen ermöglicht, Ausfallzeiten und Systemausfälle besser an Ihre Kunden, Teams und Aktionäre zu kommunizieren. Die Anwendung bietet viele Funktionen, von denen die wichtigsten sind: eine leistungsstarke JSON-API, Ereignisberichte, Metriken, Transkriptionsunterstützung für Ereignisnachrichten, Teilnehmerbenachrichtigungen per E-Mail, Zwei-Faktor-Authentifizierung. In diesem Tutorial werden wir das Cachet-Statusseiten-System mit PHP, Nginx, MySQL und Composer auf dem Fedora 29-System installieren.
Anforderungen
Um Cachet auf Ihrem Fedora 29-System auszuführen, benötigen Sie ein paar Dinge:
- PHP Version 7.1 oder höher
- HTTP-Server mit PHP-Unterstützung (z.B.: Nginx, Apache, Caddy)
- Komponist
- Eine unterstützte Datenbank: MySQL, PostgreSQL oder SQLite
- Git
Voraussetzungen
- Ein Fedora 29 Betriebssystem.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
Erste Schritte
Überprüfen Sie Ihre Fedora-Version:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Richten Sie die Zeitzone ein:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, denn es stellt sicher, dass Sie die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems erhalten:
sudo dnf check-upgrade || sudo dnf upgrade -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Fedora-Betriebssystems erforderlich sind:
sudo dnf install -y curl wget vim git unzip socat bash-completion
Schritt 1 – PHP installieren
Installieren Sie PHP sowie die notwendigen PHP-Erweiterungen:
sudo dnf install -y php-cli php-fpm php-common php-xml php-gd php-zip php-mbstring php-mysqlnd php-pgsql php-sqlite3 php-opcache php-apcu php-json
Um PHP, das in Modulen kompiliert ist, anzuzeigen, können Sie ausführen:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Überprüfen Sie die PHP-Version:
php --version
Starten und aktivieren Sie den PHP-FPM-Dienst:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Wir können zum nächsten Schritt übergehen, nämlich der Installation und Einrichtung der Datenbank.
Schritt 2 – MariaDB installieren und eine Datenbank für Cachet erstellen
Cachet unterstützt MySQL, MariaDB, PostgreSQL und SQLite Datenbanken. In diesem Tutorial verwenden wir MariaDB als Datenbankserver.
Installieren Sie den MariaDB-Datenbankserver:
sudo dnf install -y mysql-server
Überprüfen Sie die MariaDB-Version:
mysql --version
Starten und aktivieren Sie den MariaDB-Dienst:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Laufenmysql_secure installation
Skript zur Verbesserung der MariaDB-Sicherheit und zur Festlegung des Passworts fürMariaDBroot
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 mit der MariaDB-Shell als Root-Benutzer:
sudo 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> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;
Verlassen Sie MariaDB:
MariaDB> exit
Ersetzen Sie,dbname
undusername
durch Ihre eigenenpassword
Namen.
Schritt 3 – Installieren Sie den Acme.sh-Client und erhalten Sie Let’s Encrypt Zertifikat (optional).
Die Sicherung Ihrer Website mit HTTPS ist nicht notwendig, aber es ist eine gute Vorgehensweise, um den Traffic Ihrer Website zu sichern. Um das TLS-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir den acme.sh-Client. Acme.sh ist eine reine UNIX-Shell-Software zum Erhalten 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 Version von acme.sh:
acme.sh --version
# v2.8.0
Besorgen Sie sich RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Hostname:
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256
Wenn Sie gefälschte Zertifikate zum Testen benötigen, können Sie die Option--staging
Flagge zu den obigen Befehlen.
Nachdem Sie die obigen Befehle ausgeführt haben, sind Ihre Zertifikate und Schlüssel 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 diese ausführen:
acme.sh --list
Erstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir werden das/etc/letsencrypt
Verzeichnis verwenden.
mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Zertifikate installieren/kopieren nachVerzeichnis.
# 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 automatisch alle 60 Tage erneuert.
Nach Erhalt der Zertifikate verlassen Sie das Formular root user und kehren Sie zum normalen sudo user zurück:
exit
Schritt 4 – Installation und Konfiguration von NGINX
Cachet kann mit vielen Webservern gut funktionieren. 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.
Installieren Sie Nginx:
sudo dnf install -y nginx
Überprüfen Sie die Nginx-Version:
sudo nginx -v
Starten und aktivieren Sie den Nginx-Dienst:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Konfigurieren Sie Nginx für Cachet, indem Sie es ausführen:
sudo vim /etc/nginx/conf.d/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;
}
}
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‘) === ’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
Überprüfen Sie die Composer-Version:
composer --version
# Composer version 1.8.4 2019-02-11 10:52:10
Schritt 6 – Cachet installieren
Erstellen Sie ein Dokumenten-Stammverzeichnis, in dem sich das Gütesiegel befinden soll:
sudo mkdir -p /var/www/cachet
Ändern Sie den Besitzer des/var/www/cachet
Verzeichnisses auf {.jour_user}
:
sudo chown -R {your_user}:{your_user} /var/www/cachet
HINWEIS: Ersetzen Sie { durchjour_user}
Ihren ursprünglich erstellten Nicht-Root-Benutzernamen.
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.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 cachet:install
Stellen Sie das entsprechende Eigentum zur Verfügung:
sudo chown -R nginx:nginx /var/www/cachet
Führen Sie aus undsudo vim /etc/php-fpm.d/www.conf
setzen Sie den Benutzer und die Gruppe auf . Zunächst werden sie auf die folgenden Werte gesetztapache:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Ö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:
Um auf das Cachet Dashboard zuzugreifen, geben Sie
die URL Ihrer/dashboard
Website an.