Comment créer une page d'état avec Cachet sur Debian 8

De Get Docs
Aller à :navigation, rechercher

Introduction

Cachet est une alternative de page d'état auto-hébergée aux services hébergés tels que StatusPage.io et Status.io. Il vous aide à communiquer la disponibilité et les temps d'arrêt de vos applications et à partager des informations sur les pannes.

Il est écrit en PHP, donc si vous avez déjà un serveur LAMP ou LEMP, il est facile à installer. Il a une interface propre et est conçu pour être réactif afin qu'il puisse fonctionner sur tous les appareils. Dans ce tutoriel, nous allons configurer une page d'état avec Cachet sur Debian. La pile logicielle que nous utiliserons est :

  • Cachet pour la page d'état elle-même
  • Composer pour gérer les dépendances PHP de Cachet
  • SQLite comme base de données pour stocker les données de Cachet
  • Nginx pour servir la page d'état

Notez que Cachet ne surveille pas vos sites Web ou serveurs pour les temps d'arrêt ; Cachet enregistre les incidents, qui peuvent être mis à jour manuellement via l'interface Web ou avec l'API de Cachet. Si vous recherchez des solutions de surveillance, consultez le tutoriel Building for Production : Web Applications - Monitoring.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin de :

Étape 1 - Création de l'utilisateur du cachet

La toute première chose à faire est de créer un compte utilisateur distinct pour exécuter Cachet. Cela aura l'avantage supplémentaire de la sécurité et de l'isolement.

sudo useradd --create-home --shell /bin/bash cachet

Cette commande créera un utilisateur nommé cachet avec un répertoire personnel dans /home/cachet, dont le shell sera défini sur /bin/bash. La valeur par défaut est /bin/sh, mais elle ne fournit pas suffisamment d'informations dans son invite. Ce sera un utilisateur sans mot de passe qui aura des privilèges exclusivement sur les composants que Cachet utilisera.

Maintenant que l'utilisateur est créé, installons les dépendances PHP.

Étape 2 - Installation des dépendances PHP

Ensuite, nous devons installer les dépendances de Cachet, qui sont un certain nombre de packs PHP ainsi que wget et unzip, que Composer utilise pour télécharger et décompresser les bibliothèques PHP.

sudo apt-get install \
  php5-fpm php5-curl php5-apcu php5-readline \
  php5-mcrypt php5-apcu php5-cli php5-gd php5-sqlite\
  wget unzip

Vous pouvez en savoir plus sur n'importe quel package individuel à partir de la liste officielle des extensions PHP.

Configurons maintenant php-fpm, le gestionnaire de processus FastCGI. Nginx l'utilisera pour envoyer des requêtes proxy à Cachet.

Tout d'abord, créez le fichier qui hébergera les informations pour Cachet dont php-fpm a besoin. Ouvrez /etc/php5/fpm/pool.d/cachet.conf avec nano ou votre éditeur préféré.

sudo nano /etc/php5/fpm/pool.d/cachet.conf

Collez ce qui suit :

/etc/php5/fpm/pool.d/cachet.conf

[cachet]
user = cachet
group = cachet
listen.owner = www-data
listen.group = www-data
listen = /var/run/php5-fpm-cachet.sock
php_admin_value[disable_functions] = exec,passthru,shell_exec,system
php_admin_flag[allow_url_fopen] = off
request_terminate_timeout = 120s
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /

Enregistrez et fermez le fichier.

Vous pouvez en savoir plus sur ces paramètres dans l'article sur Comment héberger plusieurs sites Web en toute sécurité avec Nginx et Php-fpm, mais voici à quoi sert chaque ligne de ce fichier :

  • [cachet] est le nom du pool. Chaque pool doit avoir un nom unique
  • user et group sont des utilisateurs Linux et le groupe sous lequel le nouveau pool sera exécuté. C'est le même que l'utilisateur que nous avons créé à l'étape 1.
  • listen.owner et listen.group définissent la propriété de l'auditeur, c'est-à-dire la prise du nouveau pool php-fpm. Nginx doit pouvoir lire ce socket, nous utilisons donc l'utilisateur et le groupe b www-data.
  • listen spécifie un emplacement unique du fichier socket pour chaque pool.
  • php_admin_value vous permet de définir des valeurs de configuration PHP personnalisées. Ici, nous l'utilisons pour désactiver les fonctions qui peuvent exécuter des commandes Linux (exec,passthru,shell_exec,system).
  • php_admin_flag est similaire à php_admin_value, mais c'est juste un commutateur pour les valeurs booléennes, c'est-à-dire on et off. Nous allons désactiver la fonction PHP allow_url_fopen qui permet à un script PHP d'ouvrir des fichiers distants et qui pourrait être utilisée par un attaquant.
  • L'option pm permet de paramétrer les performances du pool. Nous l'avons défini sur ondemand, ce qui fournit un équilibre pour maintenir une faible utilisation de la mémoire et constitue une valeur par défaut raisonnable. Si vous avez beaucoup de mémoire, vous pouvez la régler sur static. Si vous avez beaucoup de threads CPU avec lesquels travailler, alors dynamic pourrait être un meilleur choix.
  • L'option chdir doit être / qui est la racine du système de fichiers. Cela ne devrait pas être modifié à moins que vous n'utilisiez une autre option importante (chroot).

Redémarrez php-fpm pour que les modifications prennent effet.

sudo systemctl restart php5-fpm

Si vous ne l'avez pas déjà fait, activez le service php-fpm pour qu'il démarre automatiquement au redémarrage du serveur :

sudo systemctl enable php5-fpm

Maintenant que les packages PHP généraux sont installés, téléchargeons Cachet.

Étape 3 - Téléchargement du cachet

Le code source de Cachet est hébergé sur GitHub. Cela facilite l'utilisation de Git pour le télécharger, l'installer et, comme nous le verrons plus tard, le mettre à niveau.

Les prochaines étapes doivent être suivies en tant qu'utilisateur cachet, alors passez-y.

sudo su - cachet

Clonez le code source de Cachet dans un nouveau répertoire appelé www.

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

Une fois cela fait, naviguez dans le nouveau répertoire où se trouve le code source de Cachet.

cd www

À partir de ce moment, vous avez tout l'historique du développement de Cachet, y compris les branches et les balises Git. Vous pouvez voir la dernière version stable sur la page des versions de Cachet, mais vous pouvez également afficher les balises Git dans ce répertoire.

Au moment de la publication, la dernière version stable de Cachet était la v2.3.11. Utilisez Git pour vérifier cette version :

git checkout v2.3.11

Ensuite, familiarisons-nous avec le fichier de configuration de Cachet.

Étape 4 - Configuration du cachet

Cachet nécessite un fichier de configuration appelé .env, qui doit être présent pour que Cachet démarre. Dans celui-ci, vous pouvez configurer les variables d'environnement que Cachet utilise pour sa configuration.

Copions l'exemple de configuration fourni avec Cachet pour une sauvegarde.

cp .env.example .env

Il y a deux bits de configuration que nous allons ajouter ici : un pour configurer la base de données et un pour configurer un serveur de messagerie.

Pour la base de données, nous utiliserons SQLite. Il est facile à configurer et ne nécessite l'installation d'aucun composant serveur supplémentaire.

Tout d'abord, créez le fichier vide qui hébergera notre base de données :

touch ./database/database.sqlite

Ensuite, ouvrez .env avec nano ou votre éditeur préféré afin de configurer les paramètres de la base de données.

nano .env

Comme nous allons utiliser SQLite, nous devrons supprimer de nombreux paramètres. Localisez le bloc de paramètres commençant par DB_ :

.env d'origine

. . .
DB_DRIVER=mysql
DB_HOST=localhost
DB_DATABASE=cachet
DB_USERNAME=homestead
DB_PASSWORD=secret
DB_PORT=null
DB_PREFIX=null
. . .

Supprimez tout sauf la ligne DB_DRIVER, et changez-la de mysql à sqlite.

.env mis à jour

. . .
DB_DRIVER=sqlite
. . .

Remarque : Vous pouvez vérifier les options de base de données de Cachet pour tous les noms de pilote de base de données possibles si vous utilisez une autre base de données, comme MySQL ou PostgreSQL.


Ensuite, vous devrez renseigner les détails de votre serveur SMTP pour les paramètres MAIL_* :

.env

. . .
MAIL_HOST=smtp.example.com
MAIL_PORT=25
MAIL_USERNAME=smtp_username
MAIL_PASSWORD=smtp_password
[email protected]
MAIL_NAME="Status Page"
. . .

Où:

  • MAIL_HOST doit être l'URL de votre serveur de messagerie.
  • MAIL_PORT doit être le port sur lequel le serveur de messagerie écoute (généralement 25).
  • MAIL_USERNAME doit être le nom d'utilisateur pour la configuration du compte SMTP (généralement l'adresse e-mail complète).
  • MAIL_PASSWORD doit être le mot de passe pour la configuration du compte SMTP.
  • MAIL_ADDRESS doit être l'adresse e-mail à partir de laquelle les notifications aux abonnés seront envoyées.
  • MAIL_NAME est le nom qui apparaîtra dans les e-mails envoyés aux abonnés. Notez que toutes les valeurs contenant des espaces doivent être contenues entre guillemets doubles.

Vous pouvez en savoir plus sur les pilotes de messagerie de Cachet dans le code source mail.php et la documentation de messagerie correspondante de Laravel.

Une fois que vous avez terminé de modifier le fichier, enregistrez et quittez. Ensuite, vous devez configurer la base de données de Cachet.

Étape 5 - Migration de la base de données

Les bibliothèques PHP dont Cachet dépend sont gérées par Composer. Tout d'abord, assurez-vous d'être dans le bon répertoire.

cd /home/cachet/www

Exécutez ensuite Composer et installez les dépendances, à l'exception de celles utilisées à des fins de développement. Selon la vitesse de votre connexion Internet, cela peut prendre un moment.

composer install --no-interaction --no-dev -o --no-scripts

Créez le schéma de base de données et exécutez les migrations.

php artisan migrate

Remarque : Dans la dernière version stable (2.3.11), il y a un bogue lors de l'utilisation de SQLite qui vous oblige à exécuter la commande migrate avant toute chose autre.


Tapez yes lorsque vous y êtes invité. Vous verrez une sortie comme celle-ci :

Output**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Migration table created successfully.
Migrated: 2015_01_05_201324_CreateComponentGroupsTable
...
Migrated: 2016_06_02_075012_AlterTableMetricsAddOrderColumn
Migrated: 2016_06_05_091615_create_cache_table

La commande suivante, php artisan app:install, effectue une sauvegarde de la base de données, exécute les migrations et génère automatiquement la clé d'application (c'est-à-dire la valeur APP_KEY dans .env) que Cachet utilise pour l'ensemble de son chiffrement.

Avertissement : Ne modifiez jamais la valeur APP_KEY qui se trouve dans le fichier .env après avoir installé et commencé à utiliser Cachet dans un environnement de production. Cela entraînera la perte de toutes vos données chiffrées/hachées. Utilisez la commande php artisan app:install une seule fois. Pour cette raison, il est conseillé de conserver une sauvegarde de .env.


Terminez l'installation.

php artisan app:install

La sortie ressemblera à ceci :

OutputClearing settings cache...
Settings cache cleared!
. . .
Clearing cache...
Application cache cleared!
Cache cleared!

Comme dernière étape proactive, supprimez le cache de Cachet pour éviter 500 erreurs.

rm -rf bootstrap/cache/*

Maintenant que la base de données est prête, nous pouvons configurer la file d'attente des tâches de Cachet.

Étape 6 - Configuration de la file d'attente de tâches

Cachet utilise une file d'attente pour planifier les tâches qui doivent s'exécuter de manière asynchrone, telles que l'envoi d'e-mails. La méthode recommandée consiste à utiliser Supervisor, un gestionnaire de processus qui fournit une interface cohérente à travers laquelle les processus peuvent être surveillés et contrôlés.

Tout d'abord, assurez-vous de vous déconnecter de la session de l'utilisateur cachet et de revenir à votre utilisateur sudo non root.

exit

Installez Superviseur.

sudo apt-get install supervisor

Créez ensuite le fichier qui contiendra les informations dont le superviseur a besoin de Cachet. Ouvrez /etc/supervisor/conf.d/cachet.conf.

sudo nano /etc/supervisor/conf.d/cachet.conf

Ce fichier indique à Supervisor comment exécuter et gérer son processus. Vous pouvez en savoir plus sur Supervisor dans l'article Comment installer et gérer Supervisor sur Ubuntu et Debian VPS.

Et ajoutez le contenu suivant. Assurez-vous de mettre à jour le répertoire et le nom d'utilisateur de Cachet si vous avez utilisé différentes fois.

/etc/supervisor/conf.d/cachet.conf

[program:cachet-queue]
command=php artisan queue:work --daemon --delay=1 --sleep=1 --tries=3
directory=/home/cachet/www/
redirect_stderr=true
autostart=true
autorestart=true
user=cachet

Enregistrez et fermez le fichier, puis redémarrez Supervisor.

sudo systemctl restart supervisor

Activez le service Superviseur afin qu'il démarre automatiquement au redémarrage du serveur.

sudo systemctl enable supervisor

La base de données et la file d'attente des tâches sont prêtes ; le prochain composant à configurer est le serveur Web.

Étape 7 - Configuration de Nginx

Nous utiliserons Nginx comme proxy de serveur Web qui parlera à php-fpm. La section des prérequis contient des tutoriels sur la configuration de Nginx avec un certificat TLS émis par Let's Encrypt.

Ajoutons le fichier de configuration Nginx nécessaire pour Cachet. Ouvrez /etc/nginx/sites-available/cachet.conf avec nano ou votre éditeur préféré.

sudo nano /etc/nginx/sites-available/cachet.conf

Il s'agit du texte intégral du fichier, que vous devez copier et coller. Assurez-vous de remplacer example.com par votre nom de domaine. La fonction de chaque section est décrite plus en détail ci-dessous.

/etc/nginx/sites-available/cachet.conf

server {
    server_name  example.com;
    listen 80;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443;
    server_name  example.com;

    root /home/cachet/www/public;
    index index.php;

    ssl on;
    ## Location of the Let's Encrypt certificates
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ## From https://cipherli.st/
    ## and https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    ## Disable preloading HSTS for now.  You can use the commented out header line that includes
    ## the "preload" directive if you understand the implications.
    #add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    ssl_buffer_size 1400;

    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm-cachet.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        fastcgi_keep_conn on;
    }
}

Voici ce que fait chaque section de ce fichier.

Le premier bloc server redirige tout le trafic HTTP vers HTTPS :

Cachet partiel.conf

server {
    server_name example.com;
    listen 80;
    return 301 https://$server_name$request_uri;
}

. . .

Le deuxième bloc server contient des informations spécifiques sur cette configuration, comme les détails SSL et la configuration php-fpm.

La directive root indique à Nginx où se trouve le répertoire racine de Cachet. Il devrait pointer vers le répertoire public et depuis que nous avons cloné Cachet dans /home/cachet/www/, il devient finalement root /home/cachet/www/public;.

Cachet partiel.conf

. . .
server {
    listen 443;
    server_name  example.com;

    root /home/cachet/www/public;
    index index.php;
    . . .
}

Les certificats SSL résident dans le répertoire Let's Encrypt, qui doit porter le nom de votre nom de domaine :

Cachet partiel.conf

. . .
server {
    . . .
    ssl on;
    ## Location of the Let's Encrypt certificates
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    . . .
}

Le reste des options SSL provient directement du tutoriel Nginx and Let's Encrypt :

Cachet partiel.conf

. . .
server {
    . . .
    ## From https://cipherli.st/
    ## and https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    ## Disable preloading HSTS for now.  You can use the commented out header line that includes
    ## the "preload" directive if you understand the implications.
    #add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    ssl_buffer_size 1400;

    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    . . .
}

La section location ~ \.php$ indique à Nginx comment servir les fichiers PHP. La partie la plus importante est de pointer vers le fichier de socket Unix que nous avons utilisé lors de la création de /etc/php5/fpm/pool.d/cachet.conf. Plus précisément, c'est /var/run/php5-fpm-cachet.sock.

Cachet partiel.conf

. . .
server {
    . . .
    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm-cachet.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        fastcgi_keep_conn on;
    }
}

Enregistrez et fermez le fichier si vous ne l'avez pas déjà fait.

Maintenant que la configuration du cachet pour Nginx est créée, créez un lien symbolique vers le répertoire sites-enabled, car c'est là que Nginx recherche et sélectionne les fichiers de configuration à utiliser :

sudo ln -s /etc/nginx/sites-available/cachet.conf /etc/nginx/sites-enabled/cachet.conf

Redémarrez Nginx pour que les modifications prennent effet.

sudo systemctl restart nginx

Et activez le service Nginx pour qu'il démarre automatiquement au redémarrage du serveur.

sudo systemctl enable nginx

C'est ça! Si vous accédez maintenant au nom de domaine dans votre navigateur, vous verrez la page de configuration de Cachet. Parcourons-le.

Étape 8 - Terminer la configuration initiale de Cachet

Le reste de la configuration de Cachet se fait via l'interface graphique de votre navigateur. Cela implique de définir le nom du site et le fuseau horaire ainsi que de créer le compte administrateur. Il y a trois étapes (configuration de l'environnement, de la page d'état et du compte administrateur) et vous pouvez toujours modifier la configuration ultérieurement dans le tableau de bord des paramètres de Cachet.

Configuration de l'environnement

La première étape de configuration est la configuration de l'environnement.

Remarque : La version Cachet que nous utilisons a un bogue où les paramètres de messagerie ne sont pas affichés dans la page de configuration de l'environnement, même si vous les avez déjà configurés dans .env . Cela sera corrigé dans la version 2.4.


Les champs doivent être remplis comme suit :

  • Cache Driver doit être ACP(u).
  • Pilote de session doit être ACP(u).
  • Pilote de messagerie doit être SMTP.
  • Mail Host doit être l'adresse de votre serveur de messagerie.
  • Mail From Address doit être l'adresse e-mail à partir de laquelle les notifications aux abonnés seront envoyées.
  • Mail Username doit être le nom d'utilisateur pour la configuration du compte SMTP (généralement votre adresse e-mail complète).
  • Mail Password doit être le mot de passe pour la configuration du compte SMTP.

Cliquez sur Suivant pour passer à l'étape suivante.

Configuration de la page d'état

Dans cette section, vous configurez le nom du site, le domaine du site, le fuseau horaire et la langue.

Remarque : Cachet prend en charge de nombreuses langues, mais il s'agit d'un projet communautaire, ce qui signifie qu'il peut y avoir des chaînes non traduites dans des langues autres que l'anglais. Vous pouvez afficher la liste des langues prises en charge, qui comprend également le pourcentage de contenu traduit.


Les champs doivent être remplis comme suit :

  • Nom du site : Le nom qui apparaîtra dans votre tableau de bord.
  • Domaine du site : Le FQDN que vous avez choisi pour Cachet.
  • Sélectionnez votre fuseau horaire : Choisissez un fuseau horaire en fonction de votre audience. Une bonne valeur par défaut est de choisir UTC.
  • Sélectionnez votre langue : Choisissez la langue que l'interface de Cachet utilisera.
  • Afficher la prise en charge de Cachet : Si vous sélectionnez cette option, un message Powered by Cachet s'affichera au pied de votre tableau de bord public.

Cliquez sur Suivant pour passer à l'étape suivante.

Configuration du compte administrateur

Enfin, configurez le compte administrateur. Choisissez votre nom d'utilisateur et entrez une adresse e-mail valide et un mot de passe fort.

Cliquez sur Complete Setup pour enregistrer toutes les modifications.

Configuration complète

Sur la page Configuration complète, vous serez informé que Cachet a été configuré avec succès. Vous pouvez maintenant cliquer sur le bouton Aller au tableau de bord pour vous connecter avec vos informations d'identification d'administrateur et visiter la page du tableau de bord de Cachet.

Cachet est maintenant entièrement configuré et fonctionnel. La dernière étape explique comment mettre à niveau Cachet à l'avenir.

Étape 9 - Mise à niveau du cachet

L'utilisation de Git facilite grandement la mise à niveau lorsqu'une nouvelle version de Cachet sort. Tout ce que vous avez à faire est de vérifier cette balise pertinente, puis d'exécuter les migrations de la base de données.

Remarque : C'est toujours une bonne idée de sauvegarder Cachet et sa base de données avant d'essayer de mettre à niveau vers une nouvelle version. Pour SQLite, il vous suffit de copier le fichier database/database.sqlite.


Tout d'abord, passez à l'utilisateur cachet et déplacez-vous dans le répertoire d'installation de Cachet.

sudo su - cachet
cd /home/cachet/www

Vous pouvez éventuellement activer la page de maintenance.

php artisan down

Récupérez le dernier code Cachet de GitHub.

git fetch --all

Et listez toutes les balises.

git tag -l

Vous verrez tous les tags actuels commençant par la lettre v. Vous remarquerez peut-être que certains sont en version bêta ou en version Release Candidate (RC). Comme il s'agit d'un serveur de production, vous pouvez les ignorer. Vous pouvez également visiter la page des versions de Cachet pour voir quelle est la dernière balise.

Lorsque vous trouvez la balise que vous souhaitez utiliser pour la mise à niveau, utilisez Git pour vérifier cette balise. Par exemple, si vous deviez effectuer une mise à niveau vers la version 2.4.0, vous utiliseriez :

git checkout v2.4.0

Supprimez le cache de Cachet avant de continuer.

rm -rf bootstrap/cache{,t}/*

Ensuite, mettez à niveau les dépendances de Composer, qui contiennent généralement des correctifs de bogues, des améliorations de performances et de nouvelles fonctionnalités.

composer install --no-interaction --no-dev -o --no-scripts

Enfin, exécutez les migrations.

php artisan app:update

Si vous avez activé la page de maintenance, vous pouvez maintenant réactiver l'accès.

php artisan up

La nouvelle version de Cachet sera opérationnelle.

Conclusion

Vous avez configuré Cachet avec SSL soutenu par SQLite et savez comment le maintenir avec Git. Vous pouvez choisir d'autres bases de données, comme MySQL ou PostgreSQL. Pour explorer plus d'options de Cachet, consultez la documentation officielle de Cachet.