Comment installer le système de pages d’état Cachet sur Debian 9

Cachet est un magnifique et puissant système de pages d’état open source écrit en PHP qui te permet de mieux communiquer les temps d’arrêt et les pannes de système à tes clients, tes équipes et tes actionnaires. L’application te fournit de nombreuses fonctionnalités, dont les plus notables sont : une puissante API JSON, des rapports d’incidents, des métriques, la prise en charge de markdown pour les messages d’incidents, desnotifications aux abonnés par e-mail, une authentification à deux facteurs. Dans ce tutoriel, nous allons installer le système de pages d’état Cachet en utilisant PHP, Nginx, MariaDB et Composer.

Exigences

  • PHP version 5.5.9 ou supérieure
  • Serveur HTTP avec prise en charge de PHP (par exemple : Nginx, Apache, Caddy)
  • Composer
  • Une base de données prise en charge : MySQL, PostgreSQL ou SQLite

Prérequis

  • Un serveur exécutant Debian 9.
    Un utilisateur non root avec des privilèges sudo.

Étapes initiales

Vérifie la version de Debian :

lsb_release -ds
Debian GNU/Linux 9.5 (stretch)

Configure le fuseau horaire :

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Mets à jour les paquets de ton système d’exploitation :

sudo apt update && sudo apt upgrade -y

Installe les paquets vim, git et socat :

sudo apt install -y vim git socat sudo

Étape 1 – Installer PHP

Installe PHP et les extensions PHP requises :

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

Vérifie la version de PHP :

php --version
# PHP 7.0.30-0+deb9u1 (cli) (built: Jun 14 2018 13:50:25) ( NTS )

Étape 2 – Installe MariaDB et crée une base de données pour Cachet

Cachet prend en charge les bases de données MySQL/MariaDB, PostgreSQL et SQLite3. Dans ce tutoriel, nous utiliserons MariaDB comme serveur de base de données.

Installe le serveur de base de données MariaDB :

sudo apt install -y mariadb-server

Vérifie la version de MariaDB :

mysql --version
# mysql  Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Exécut e mysql_secure installationscript pour améliorer la sécurité de MariaDB et définir le mot de passe pour MySQLrootutilisateur :

sudo mysql_secure_installation

Réponds à chacune des questions :

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

Connecte-toi au shell MySQL en tant qu’utilisateur root :

mysql -u root -p
# Enter password

Crée une base de données et un utilisateur MariaDB vides pour Cachet et mémorise les informations d’identification :

MariaDB [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;

Sors de MariaDB :

MariaDB [(none)]> exit

Remplace le dbname, le nom d’utilisateur et le mot de passe par tes propres noms.

Étape 3 – Installe le client Acme.sh et obtiens le certificat Let’s Encrypt (facultatif)

Sécuriser ta page d’état avec HTTPS n’est pas nécessaire, mais c’est une bonne pratique pour sécuriser le trafic de ton site. Pour obtenir un certificat SSL de Let’s Encrypt, nous allons utiliser le client Acme.sh. Acme.sh est un logiciel shell unix pur pour obtenir des certificats SSL de Let’s Encrypt sans aucune dépendance.

Télécharge et installe Acme.sh :

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 ~

Vérifie la version d’Acme.sh :

/etc/letsencrypt/acme.sh --version
# v2.8.0

Obtiens des certificats RSA et ECC/ECDSA pour ton domaine/nom d’hôte :

# 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

Après avoir exécuté les commandes ci-dessus, tes certificatse t clésseront dans :

  • Pour RSA: /etc/letsencrypt/status.example.com répertoire.
  • Pour ECC/ECDSA: /etc/letsencrypt/status.example.com_ecc répertoire.

Étape 4 – Installe et configure Nginx

Cachet peut fonctionner correctement avec de nombreux serveurs Web. Dans ce tutoriel, nous avons choisi Nginx.

Installe Nginx :

sudo apt install -y nginx

Vérifie la version de Nginx :

sudo nginx -v
# nginx version: nginx/1.10.3

Configure Nginx pour Cachet en exécutant :

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

Et remplis le fichier avec la configuration suivante :

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;
  }

}

Active la nouvelle cachet.confconfiguration en liant le fichier au sites-enabledrépertoire :

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

Teste la configuration de NGINX :

sudo nginx -t

Recharge Nginx :

sudo systemctl reload nginx.service

Étape 5 – Installer Composer

Installe Composer, le gestionnaire de dépendances de PHP de manière globale :

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

Vérifie la version de Composer :

composer --version
# Composer version 1.7.2 2018-08-16 16:57:12

Étape 6 – Installer Cachet

Crée un répertoire racine de document dans lequel Cachet doit résider :

sudo mkdir -p /var/www/cachet

Accède au répertoire racine du document :

cd /var/www/cachet

Télécharge le code source de Cachet avec Git et vérifiela dernière version balisée :

git clone https://github.com/cachethq/Cachet.git .
git tag -l
git checkout v2.3.15

Copi e .env.example à .envet configure la base de données et les APP_URLparamètres dans .envfichier :

cp .env.example .env
vim .env

Installe les dépendances de Cachet avec Composer :

composer install --no-dev -o

Configure la clé d’application en exécutant :

php artisan key:generate

Installe Cachet :

php artisan app:install

Change la propriété du /var/www/cachet à www-data:

sudo chown -R www-data:www-data /var/www/cachet

Ouvre ton site dans un navigateur Web et suis les instructions à l’écran pour terminer l’installation de Cachet.

Étape 7 – Termine l’installation de Cachet

Sélectionne les pilotes de cache et de session et configure les options de messagerie :

Termine la mise en place du cachet

Configure les paramètres généraux du site comme le nom du site, le domaine du site, le fuseau horaire et la langue :

Paramètres généraux de Cachet

Crée un compte d’utilisateur administratif :

Ajoute un compte administrateur

Après cela, tu devrais recevoir un message indiquant que Cachet a été configuré avec succès. Tu peux ouvrir le tableau de bord de Cachet en cliquant sur le bouton « Aller au tableau de bord » :

Cachet a été installé avec succès

L’installation et la configuration de Cachet sont terminées.

Pour accéder au tableau de bord de Cachet, ajoute /dashboardà l’URL de ton site Web.

Cachet Dashboard

Liens

Vous aimerez aussi...