Outils pour utilisateurs

Outils du site


admin:machines_virtuelles:admin:cachet

Ceci est une ancienne révision du document !


Affichage du statut des services avec cachet

Prérequis

  • enregistrement DNS,
  • reverse proxy + TLS sur le bastion,
  • serveur httpd fonctionnel en local.

Installation des fichiers

# cd /var/www/
# mkdir cachet
# cd  cachet
# git clone https://github.com/cachethq/Cachet.git
Clonage dans 'Cachet'...
# cd Cachet

On liste les versions disponibles :

# git tag -l
[...]
v2.3.9

Et on prend la dernière stable :

# git checkout v2.3.9

Installation des dépendances

La doc officielle de Cachet fait passer par composer pour la résolution des dépendances. Et vu la liste du bouzin, c'est bienvenu. On l'installe donc :

# apt install composer

On installe aussi php-mbstring :

# apt install php-mbstring

Puis on lance le bouzin :

# composer install --no-plugins --no-scripts --no-dev -o

Les bibliothèques téléchargées vont dans le fichier vendor/

J'ai jeté un oeil rapide aux 62 fichiers LICENSE ; elles sont casher.

Configuration et base de données

Pour la base de données :

# mysql
MariaDB [(none)]> CREATE USER 'cachet' IDENTIFIED BY 'secret';Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> CREATE DATABASE cachet;
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, CREATE, ALTER, INDEX, EXECUTE ON cachet.* TO 'cachet';

Ensuite la configuration du logiciel :

/var/www/cachet/Cachet/.env
APP_ENV=production
APP_DEBUG=false
APP_URL=https://status.chapril.org/
APP_KEY=secret
 
DB_DRIVER=mysql
DB_HOST=localhost
DB_DATABASE=cachet
DB_USERNAME=cachet
DB_PASSWORD=secret
 
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
CACHET_EMOJI=false
 
MAIL_DRIVER=smtp

On peut ensuite définir une clé secrète :

php artisan key:generate

Et initialiser la base de données :

php artisan app:install
Ne jamais modifier APP_KEY une fois en production. Tous les hashs et objets chiffrés seraient inopérants.

Configuration Nginx

On place dans /etc/nginx/sites-available/ :

/etc/nginx/sites-available/status.chapril.org
server {
    listen 80;
 
    access_log /var/log/nginx/status.chapril.org.access_log;
    error_log /var/log/nginx/status.chapril.org.error_log;
 
    server_name status.chapril.org;
 
    root /var/www/cachet/Cachet/public;
    index index.php;
 
    location / {
        try_files $uri /index.php$is_args$args;
    }
 
    location ~ \.php$ {
                include fastcgi_params;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_index index.php;
                fastcgi_keep_conn on;
    }
}

Puis on active le site :

ln -sf /etc/nginx/sites-available/status.chapril.org /etc/nginx/sites-enabled/status.chapril.org

Et on teste la conf NginX :

 nginx -t

Avant de restarter :

/etc/init.d/nginx reload

Enfin il faut changer les permissions car on a tout fait ça en root :

chown www-data:www-data /var/www/cachet/Cachet
admin/machines_virtuelles/admin/cachet.1499703041.txt.gz · Dernière modification : 2017/07/10 16:10 de fpoulain