Outils pour utilisateurs

Outils du site


systeme_de_page_d_etat_cachet

Cachet

Présentation d'installation d'un service de statut Cachet sur debian 9.
Dans cette présentation, nous allons configurer un site https://status.sleto.net.

Nous utiliserons les variables DBNAME, DBUSER et DBPASSWD respectivement pour le nom, l'utilisateur et le mot de passe de base de données.

Cachet sera installé dans /opt/cachet

Dépendances

Utilise PHP 7.1 via fpm ainsi qu'un Serveur web sécurisé (Nginx / Let's Encrypt).

sudo apt-get install -y php7.1-fpm php7.1-cli php7.1-curl php7.1-xml php7.1-pgsql php7.1-mbstring php7.1-gd php7.1-mcrypt

Nécessite également les outils :

sudo apt-get install -y postgresql postgresql-contrib git

Vous devrez également ajouter le domaine status.sleto.net dans le Serveur DNS (bind9)

Base de données

Nous allons créé une base de donnée PostgreSQL:

sudo -u postgres psql -c "CREATE USER $DBUSER;"
sudo -u postgres psql -c "ALTER USER $DBUSER PASSWORD '$DBPASSWD';"
sudo -u postgres psql -c "CREATE DATABASE $DBNAME OWNER $DBUSER;"

Installation

Installation de l'outil:

git clone https://github.com/cachethq/Cachet.git /opt/cachet
cd /opt/cachet
git checkout v2.3.18
useradd --home /opt/cachet --shell /bin/bash cachet
chown -R cachet:www-data *
chmod -R o-rwx *
chmod -R g+w *

Configuration

Écrire le fichier /opt/cachet/.env (attention de bien remplacer $DBNAME, $DBUSER et $DBPASSWD):

APP_ENV=production
APP_DEBUG=false
APP_URL=http://status.sleto.net
APP_KEY=2A7E7B1D0F54CE0B

DB_DRIVER=pgsql
DB_HOST=localhost
DB_DATABASE=$DBNAME
DB_USERNAME=$DBUSER
DB_PASSWORD=$DBPASSWD
DB_PORT=5432
DB_PREFIX=null

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
CACHET_EMOJI=false

MAIL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=25
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ADDRESS=null
MAIL_NAME=null
MAIL_ENCRYPTION=null

REDIS_HOST=null
REDIS_DATABASE=null
REDIS_PORT=null

GITHUB_TOKEN=null

Et lancer la configuration:

cd /opt/cachet
composer install --no-interaction --no-dev -o --no-scripts
php7.1 artisan app:install
rm -rf bootstrap/cache/*

Et finaliser en ajoutant le crontab sur l'utilisateur cachet:

* * * * * php7.1 /opt/cachet/artisan schedule:run >> /dev/null 2>&1

Configuration web

Ecrire le fichier /opt/cachet/nginx-status:

server {
    listen 80;
    server_name status.sleto.net;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name status.sleto.net;
    access_log /var/log/nginx/cloud.status.net.access.log;
    error_log  /var/log/nginx/cloud.status.net.error.log;

    include /opt/ssl/status.sleto.net.conf;
    
    location / {
         try_files $uri $uri/ /index.php?q=$uri&$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.1-fpm.sock;
    }    
}    

Notons que /opt/ssl/status.sleto.net.conf contiendra les informations relatives aux clefs privé et public HTTPS/SSL (voir Serveur web sécurisé (Nginx / Let's Encrypt)).

Activer la configuration web par:

ln -sf /opt/cachet/nginx-status /etc/nginx/sites-enabled

Rechargement

Pour rafraîchir les services fpm, mariadb et nginx

service nginx reload   
systeme_de_page_d_etat_cachet.txt · Dernière modification : 2021/05/08 13:25 de 127.0.0.1