Instalación · 5 min read · Oct 18, 2025

Cómo instalar el sistema de página de estado Cachet en Debian 9

Cachet es un hermoso y poderoso sistema de página de estado de código abierto escrito en PHP que te permite comunicar mejor el tiempo de inactividad y las interrupciones del sistema a tus clientes, equipos y accionistas. La aplicación te proporciona muchas características, las más notables entre ellas son: una poderosa API JSON, informes de incidentes, métricas, soporte para markdown en mensajes de incidentes, notificaciones a suscriptores por correo electrónico, autenticación de dos factores. En este tutorial, instalaremos el sistema de página de estado Cachet utilizando PHP, Nginx, MariaDB y Composer.

Requisitos

  • Versión de PHP 5.5.9 o superior
  • Servidor HTTP con soporte para PHP (por ejemplo: Nginx, Apache, Caddy)
  • Composer
  • Una base de datos soportada: MySQL, PostgreSQL o SQLite

Requisitos previos

  • Un servidor que ejecute Debian 9.
    Un usuario no root con privilegios sudo.

Pasos iniciales

Verifica la versión de Debian:

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

Configura la zona horaria:

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

Actualiza los paquetes de tu sistema operativo:

sudo apt update && sudo apt upgrade -y

Instala los paquetes vim, git y socat:

sudo apt install -y vim git socat sudo

Paso 1 - Instalar PHP

Instala PHP y las extensiones PHP requeridas:

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

Verifica la versión de PHP:

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

Paso 2 - Instalar MariaDB y crear una base de datos para Cachet

Cachet soporta bases de datos MySQL/MariaDB, PostgreSQL y SQLite3. En este tutorial, utilizaremos MariaDB como servidor de base de datos.

Instala el servidor de base de datos MariaDB:

sudo apt install -y mariadb-server

Verifica la versión de MariaDB:

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

Ejecuta el script mysql_secure_installation para mejorar la seguridad de MariaDB y establecer la contraseña para el usuario root de MySQL:

sudo mysql_secure_installation

Responde a cada una de las preguntas:

Enter current password for root (enter for none): Presiona Enter  
Set root password? [Y/n] Y  
New password: tu_contraseña_segura  
Re-enter new password: tu_contraseña_segura  
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

Conéctate al shell de MySQL como el usuario root:

mysql -u root -p  
# Ingresa la contraseña  

Crea una base de datos vacía de MariaDB y un usuario para Cachet y recuerda las credenciales:

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

Sal de MariaDB:

MariaDB [(none)]> exit

Reemplaza dbname, username y password con tus propios nombres.

Paso 3 - Instalar el cliente Acme.sh y obtener el certificado de Let’s Encrypt (opcional)

Asegurar tu página de estado con HTTPS no es necesario, pero es una buena práctica asegurar el tráfico de tu sitio. Para obtener un certificado SSL de Let’s Encrypt utilizaremos el cliente Acme.sh. Acme.sh es un software de shell unix puro para obtener certificados SSL de Let’s Encrypt sin dependencias.

Descarga e instala 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 ~

Verifica la versión de Acme.sh:

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

Obtén certificados RSA y ECC/ECDSA para tu dominio/nombre de 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

Después de ejecutar los comandos anteriores, tus certificados y claves estarán en:

  • Para RSA: directorio /etc/letsencrypt/status.example.com.
  • Para ECC/ECDSA: directorio /etc/letsencrypt/status.example.com_ecc.

Paso 4 - Instalar y configurar Nginx

Cachet puede funcionar bien con muchos servidores web. En este tutorial, seleccionamos Nginx.

Instala Nginx:

sudo apt install -y nginx

Verifica la versión de Nginx:

sudo nginx -v  
# nginx version: nginx/1.10.3

Configura Nginx para Cachet ejecutando:

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

Y llena el archivo con la siguiente configuración:

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

Activa la nueva configuración cachet.conf vinculando el archivo al directorio sites-enabled:

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

Prueba la configuración de NGINX:

sudo nginx -t

Recarga Nginx:

sudo systemctl reload nginx.service

Paso 5 - Instalar Composer

Instala Composer, el gestor de dependencias de PHP a nivel global:

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

Verifica la versión de Composer:

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

Paso 6 - Instalar Cachet

Crea un directorio raíz de documentos donde debería residir Cachet:

sudo mkdir -p /var/www/cachet  

Navega al directorio raíz de documentos:

cd /var/www/cachet

Descarga el código fuente de Cachet con Git y verifica la última versión etiquetada:

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

Copia .env.example al archivo .env y configura la base de datos y los ajustes de APP_URL en el archivo .env:

cp .env.example .env  
vim .env

Instala las dependencias de Cachet con Composer:

composer install --no-dev -o

Configura la clave de la aplicación ejecutando:

php artisan key:generate

Instala Cachet:

php artisan app:install

Cambia la propiedad del directorio /var/www/cachet a www-data:

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

Abre tu sitio en un navegador web y sigue las instrucciones en pantalla para finalizar la instalación de Cachet.

Paso 7 - Completa la configuración de Cachet

Selecciona los controladores de caché y sesión y configura las opciones de correo:

Finaliza la configuración de cachet

Configura los ajustes generales del sitio como el nombre del sitio, dominio del sitio, zona horaria e idioma:

Ajustes generales de Cachet

Crea una cuenta de usuario administrativo:

Agregar una cuenta de administrador

Después de eso, deberías recibir un mensaje que indica que Cachet se ha configurado correctamente. Puedes abrir el panel de control de Cachet presionando el botón “Ir al panel de control”:

Cachet se ha instalado correctamente

La instalación y configuración de Cachet se ha completado.
Para acceder al panel de control de Cachet, añade /dashboard a la URL de tu sitio web.

Panel de control de Cachet

Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.