Installazione software · 5 min read · Oct 18, 2025

Come installare il sistema di pagina di stato Cachet su Debian 9

Cachet è un bellissimo e potente sistema di pagina di stato open source scritto in PHP che ti consente di comunicare meglio i tempi di inattività e le interruzioni del sistema ai tuoi clienti, team e azionisti. L’applicazione ti offre molte funzionalità, le più notevoli tra cui: una potente API JSON, rapporti sugli incidenti, metriche, supporto markdown per i messaggi sugli incidenti, notifiche agli abbonati via email, autenticazione a due fattori. In questo tutorial, installeremo il sistema di pagina di stato Cachet utilizzando PHP, Nginx, MariaDB e Composer.

Requisiti

  • Versione PHP 5.5.9 o superiore
  • Server HTTP con supporto PHP (es: Nginx, Apache, Caddy)
  • Composer
  • Un database supportato: MySQL, PostgreSQL o SQLite

Prerequisiti

  • Un server che esegue Debian 9.
    Un utente non root con privilegi sudo.

Passi iniziali

Controlla la versione di Debian:

lsb_release -ds  
# Debian GNU/Linux 9.5 (stretch)

Imposta il fuso orario:

timedatectl list-timezones  
sudo timedatectl set-timezone 'Regione/Città'

Aggiorna i pacchetti del tuo sistema operativo:

sudo apt update && sudo apt upgrade -y

Installa i pacchetti vim, git e socat:

sudo apt install -y vim git socat sudo

Passo 1 - Installa PHP

Installa PHP e le estensioni PHP richieste:

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

Controlla la versione di PHP:

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

Passo 2 - Installa MariaDB e crea un database per Cachet

Cachet supporta database MySQL/MariaDB, PostgreSQL e SQLite3. In questo tutorial, utilizzeremo MariaDB come server di database.

Installa il server di database MariaDB:

sudo apt install -y mariadb-server

Controlla la versione di MariaDB:

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

Esegui lo script mysql_secure_installation per migliorare la sicurezza di MariaDB e impostare la password per l’utente MySQL root:

sudo mysql_secure_installation

Rispondi a ciascuna delle domande:

Inserisci la password attuale per root (premi invio per nessuna): Premi Invio  
Impostare la password di root? [Y/n] Y  
Nuova password: la_tua_password_sicura  
Reinserisci la nuova password: la_tua_password_sicura  
Rimuovere gli utenti anonimi? [Y/n] Y  
Disabilitare il login remoto per root? [Y/n] Y  
Rimuovere il database di test e l'accesso ad esso? [Y/n] Y  
Ricaricare ora le tabelle dei privilegi? [Y/n] Y

Collegati alla shell di MySQL come utente root:

mysql -u root -p  
# Inserisci la password  

Crea un database MariaDB vuoto e un utente per Cachet e ricorda le credenziali:

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

Esci da MariaDB:

MariaDB [(none)]> exit

Sostituisci dbname, username e password con i tuoi nomi.

Passo 3 - Installa il client Acme.sh e ottieni il certificato Let’s Encrypt (opzionale)

Proteggere la tua pagina di stato con HTTPS non è necessario, ma è una buona pratica proteggere il traffico del tuo sito. Per ottenere un certificato SSL da Let’s Encrypt utilizzeremo il client Acme.sh. Acme.sh è un software shell unix puro per ottenere certificati SSL da Let’s Encrypt senza dipendenze.

Scarica e installa 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 ~

Controlla la versione di Acme.sh:

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

Ottieni certificati RSA e ECC/ECDSA per il tuo dominio/nome host:

# 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

Dopo aver eseguito i comandi sopra, i tuoi certificati e chiavi saranno in:

  • Per RSA: directory /etc/letsencrypt/status.example.com.
  • Per ECC/ECDSA: directory /etc/letsencrypt/status.example.com_ecc.

Passo 4 - Installa e configura Nginx

Cachet può funzionare bene con molti server web. In questo tutorial, abbiamo selezionato Nginx.

Installa Nginx:

sudo apt install -y nginx

Controlla la versione di Nginx:

sudo nginx -v  
# nginx version: nginx/1.10.3

Configura Nginx per Cachet eseguendo:

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

E popola il file con la seguente configurazione:

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

Attiva la nuova configurazione cachet.conf collegando il file alla directory sites-enabled:

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

Testa la configurazione di NGINX:

sudo nginx -t

Ricarica Nginx:

sudo systemctl reload nginx.service

Passo 5 - Installa Composer

Installa Composer, il gestore delle dipendenze PHP a livello 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

Controlla la versione di Composer:

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

Passo 6 - Installa Cachet

Crea una directory di root del documento dove Cachet dovrebbe risiedere:

sudo mkdir -p /var/www/cachet  

Naviga nella directory di root del documento:

cd /var/www/cachet

Scarica il codice sorgente di Cachet con Git e passa all’ultima release contrassegnata:

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

Copia .env.example nel file .env e configura le impostazioni del database e APP_URL nel file .env:

cp .env.example .env  
vim .env

Installa le dipendenze di Cachet con Composer:

composer install --no-dev -o

Imposta la chiave dell’applicazione eseguendo:

php artisan key:generate

Installa Cachet:

php artisan app:install

Cambia la proprietà della directory /var/www/cachet in www-data:

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

Apri il tuo sito in un browser web e segui le istruzioni sullo schermo per completare l’installazione di Cachet.

Passo 7 - Completa la configurazione di Cachet

Seleziona i driver di cache e sessione e configura le opzioni di posta:

Completa la configurazione di Cachet

Configura le impostazioni generali del sito come nome del sito, dominio del sito, fuso orario e lingua:

Impostazioni generali di Cachet

Crea un account utente amministrativo:

Aggiungi un account admin

Dopo di che, dovresti ricevere un messaggio che informa che Cachet è stato configurato con successo. Puoi aprire il dashboard di Cachet premendo il pulsante “Vai al dashboard”:

Cachet è stato installato con successo

L’installazione e la configurazione di Cachet sono state completate.
Per accedere al dashboard di Cachet aggiungi /dashboard all’URL del tuo sito web.

Dashboard di Cachet

Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.