Despliegue de Cachet en un VPS para crear una página de estado pública de servicios
TL;DR
En esta guía detallada, configuraremos Cachet paso a paso, una solución potente y flexible para crear una página de estado pública para sus servicios. Aprenderá a instalar y configurar Cachet en un VPS con Ubuntu 24.04 LTS, utilizando Nginx, PHP 8.4 y MySQL 8.0, así como a asegurar la conexión con HTTPS y organizar un sistema de copia de seguridad. Como resultado, obtendrá una página de estado completamente funcional que le ayudará a informar eficazmente a los usuarios sobre la disponibilidad de sus servicios, trabajos planificados e incidentes.
- Configuración de Ubuntu 24.04 LTS, incluyendo SSH, firewall y utilidades básicas.
- Instalación paso a paso de todos los componentes necesarios: Nginx, PHP 8.4, MySQL 8.0 y Composer.
- Configuración detallada de Cachet, incluyendo la base de datos, variables de entorno y el servidor web Nginx.
- Activación de HTTPS con Caddy para asegurar una conexión segura.
- Creación de un sistema de copia de seguridad para proteger los datos y configuraciones de Cachet.
- Resolución de problemas comunes y respuestas a preguntas frecuentes.
Qué configuramos y por qué
En el mundo moderno, la estabilidad y disponibilidad de los servicios en línea son de importancia crítica. Ya sea una plataforma SaaS, un servidor de juegos o un proyecto personal, los usuarios esperan un funcionamiento ininterrumpido. Sin embargo, los incidentes, los trabajos planificados o las fallas imprevistas son inevitables. En tales situaciones, es crucial tener una forma efectiva de informar a su audiencia. Para esto está diseñado Cachet.
Cachet es una solución open-source elegante y potente para crear una página de estado pública (status page). Le permite informar de forma transparente sobre el estado de sus servicios, publicar avisos de trabajos planificados, registrar incidentes y mostrar su historial de resolución. Al usar Cachet, aumenta la confianza de los usuarios, reduce la carga en el soporte técnico durante las interrupciones y demuestra un enfoque profesional en la gestión de la infraestructura.
En resumen, al finalizar esta guía, obtendrá una página de estado completamente funcional, segura y mantenible, alojada en su propio VPS. Podrá crear componentes (por ejemplo, "Servidor web", "Base de datos", "API"), vincularlos con métricas, publicar incidentes con actualizaciones en tiempo real e informar a los suscriptores a través de varios canales.
Existen diferentes enfoques para crear páginas de estado. Algunos prefieren utilizar servicios gestionados en la nube, como Statuspage.io (Atlassian), Instatus, Better Uptime o Atlassian Opsgenie. Estas soluciones ofrecen comodidad, integraciones listas para usar y costos mínimos de configuración, pero a menudo conllevan pagos mensuales, limitaciones en el número de componentes o suscriptores, y menos control sobre los datos y la personalización. Para muchos proyectos, especialmente en las etapas iniciales o con un presupuesto limitado, estos costos pueden ser significativos.
Un enfoque alternativo es una solución autoalojada en su propio VPS. Esto le otorga control total sobre la infraestructura, los datos y las capacidades de personalización. Solo paga por el VPS, lo que a menudo resulta significativamente más económico a largo plazo, especialmente si ya tiene un servidor. También proporciona mayor privacidad, ya que todos los datos se almacenan en su propia máquina. Cachet es una de las mejores soluciones de código abierto para autoalojamiento, ofreciendo una rica funcionalidad y una comunidad activa. Este es el camino que elegiremos en esta guía, desplegando Cachet en un VPS.
Qué configuración de VPS se necesita para esta tarea
La elección de un VPS adecuado para Cachet depende de la carga esperada, el número de componentes, incidentes y suscriptores. Cachet no es una aplicación que consuma muchos recursos para la mayoría de los escenarios, pero es importante asegurar el funcionamiento estable del servidor web, PHP-FPM y la base de datos.
Requisitos mínimos para Cachet (válido para 2026):
- Procesador (CPU): 1-2 vCPU. Para Cachet es suficiente un núcleo de un procesador moderno (por ejemplo, Intel Xeon E-series o AMD EPYC). Si planea ejecutar otros servicios en el mismo VPS o espera un tráfico muy alto, puede considerar 2 vCPU.
- Memoria RAM: 2 GB. Este volumen será suficiente para el sistema operativo (Ubuntu 24.04 LTS), el servidor web Nginx, PHP-FPM, MySQL 8.0 y la propia aplicación Cachet. Con un uso activo o un gran número de visitantes a la página de estado, 4 GB de RAM asegurarán un funcionamiento más cómodo.
- Disco (Almacenamiento): 40 GB SSD. El espacio principal será ocupado por el sistema operativo (alrededor de 10-15 GB), los archivos de Cachet (varios cientos de megabytes) y la base de datos. Un disco SSD es crítico para un buen rendimiento de la base de datos. Para una perspectiva a largo plazo y el almacenamiento de copias de seguridad, se recomiendan 60-80 GB. Un SSD NVMe será la elección ideal para un rendimiento máximo.
- Red (Network): 100 Mbps - 1 Gbps. Para una página de estado que principalmente entrega contenido estático y pequeños volúmenes de datos de la base de datos, 100 Mbps suele ser suficiente. Sin embargo, los VPS modernos a menudo ofrecen puertos de 1 Gbps, lo cual es preferible para el rendimiento general y la escalabilidad.
- Sistema operativo: Ubuntu Server 24.04 LTS (u otra versión LTS moderna de una distribución basada en Debian).
Plan de VPS específico para la tarea:
Para una instalación típica de Cachet, capaz de atender a varios miles de visitantes al día y monitorear hasta 20-30 componentes, será adecuado un VPS con las siguientes características: 2 vCPU, 4 GB RAM, 80 GB NVMe SSD, puerto de 1 Gbps. Esta configuración será suficiente con holgura para el funcionamiento estable de Cachet y una posible expansión de la funcionalidad.
Puede considerar un VPS con las características indicadas o ofertas similares de otros proveedores.
Cuándo se necesita un servidor dedicado y no un VPS:
Los servidores dedicados suelen ser necesarios para tareas mucho más grandes que una simple página de estado de Cachet. Considere un servidor dedicado si:
- Planea alojar Cachet junto con docenas de otros servicios de alta carga en la misma máquina.
- Se requiere un rendimiento de entrada/salida (I/O) muy alto o hardware específico no disponible en un VPS.
- Tiene miles o decenas de miles de suscriptores activos y espera un tráfico muy alto en la página de estado durante incidentes importantes.
- Necesita requisitos estrictos de cumplimiento normativo que exigen el aislamiento físico del equipo.
- Desea un control total sobre el hardware, incluyendo la elección de modelos específicos de CPU, RAM, controladores RAID y tarjetas de red.
Para la mayoría de los usuarios que despliegan Cachet, un VPS será una solución más que suficiente y económicamente ventajosa.
Ubicación: qué factores influye
La elección de la ubicación del VPS es importante por varias razones:
- Latencia: Aloje el servidor lo más cerca posible de su audiencia principal o de los servidores cuyo estado está monitoreando. Una menor latencia significa un acceso más rápido a la página de estado para sus usuarios.
- Legislación de datos: Dependiendo de la jurisdicción de su empresa y de sus usuarios, puede haber requisitos para el almacenamiento de datos en un país o región específica (por ejemplo, GDPR en Europa). Asegúrese de que la ubicación elegida cumpla con estos requisitos.
- Precio: El costo de un VPS puede variar ligeramente entre diferentes regiones.
- Riesgos geopolíticos: En algunos casos, la elección de la ubicación puede estar dictada por el deseo de evitar ciertos riesgos geopolíticos.
Generalmente se recomienda elegir una ubicación que esté en la misma región geográfica que su audiencia principal. Por ejemplo, si sus usuarios están en Europa, elija un servidor en Alemania, Países Bajos o Finlandia.
Preparación del servidor
Antes de proceder con la instalación de Cachet, es necesario realizar una preparación básica de su nuevo VPS. Utilizaremos Ubuntu Server 24.04 LTS, ya que es una versión actual y estable del sistema operativo, con soporte hasta 2029.
1. Conexión por SSH y creación de usuario
Después de obtener los datos de acceso a su VPS (dirección IP, contraseña de root), conéctese a él a través de SSH. Se recomienda no utilizar el usuario root para el trabajo diario. Cree un nuevo usuario con permisos sudo y configure la autenticación por claves SSH.
ssh root@ВАШ_IP_АДРЕС # Conectarse como root
adduser имя_пользователя # Crear un nuevo usuario
usermod -aG sudo имя_пользователя # Añadir el usuario al grupo sudo
Ahora, copie su clave pública SSH al servidor para el nuevo usuario. Si no tiene una clave SSH, créela en su máquina local usando ssh-keygen.
# En la máquina local:
ssh-copy-id имя_пользователя@ВАШ_IP_АДРЕС
Después de esto, salga de la sesión de root e inicie sesión con el nuevo usuario:
exit
ssh имя_пользователя@ВАШ_IP_АДРЕС
2. Deshabilitar la autenticación por contraseña para root y la contraseña SSH (opcional, pero recomendado)
Para mejorar la seguridad, se recomienda deshabilitar el inicio de sesión por contraseña para root y, posiblemente, para todos los usuarios, permitiendo solo la autenticación por claves SSH. Edite el archivo /etc/ssh/sshd_config.
sudo nano /etc/ssh/sshd_config
Encuentre y modifique las siguientes líneas:
# PermitRootLogin yes # Comente o establezca en no
PermitRootLogin no
PasswordAuthentication no # Deshabilitamos el inicio de sesión por contraseña para todos los usuarios
ChallengeResponseAuthentication no
Reinicie el servicio SSH:
sudo systemctl restart sshd
IMPORTANTE: Asegúrese de poder iniciar sesión con el nuevo usuario mediante clave SSH antes de deshabilitar PasswordAuthentication. De lo contrario, perderá el acceso al servidor.
3. Actualización del sistema e instalación de utilidades básicas
Siempre comience actualizando el gestor de paquetes y los paquetes instalados.
sudo apt update # Actualizamos la lista de paquetes disponibles
sudo apt upgrade -y # Instalamos las actualizaciones para todos los paquetes
sudo apt install -y curl wget git unzip htop # Instalamos utilidades útiles
4. Configuración del firewall (UFW)
Uncomplicated Firewall (UFW) es una interfaz fácil de usar para netfilter. Configúrelo para permitir solo las conexiones necesarias: SSH (puerto 22), HTTP (puerto 80) y HTTPS (puerto 443).
sudo ufw allow OpenSSH # Permitimos la conexión SSH
sudo ufw allow http # Permitimos HTTP (puerto 80)
sudo ufw allow https # Permitimos HTTPS (puerto 443)
sudo ufw enable # Habilitamos el firewall (confirme con 'y')
sudo ufw status # Verificamos el estado del firewall
5. Instalación de Fail2Ban
Fail2Ban escanea los registros del servidor (por ejemplo, los registros SSH) en busca de actividad sospechosa (múltiples intentos fallidos de inicio de sesión) y bloquea temporalmente las direcciones IP de los atacantes. Esto mejora significativamente la seguridad de su servidor.
sudo apt install -y fail2ban # Instalamos Fail2Ban
sudo systemctl enable fail2ban # Habilitamos el inicio automático al arrancar
sudo systemctl start fail2ban # Iniciamos el servicio
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # Creamos una copia local para la configuración
sudo nano /etc/fail2ban/jail.local # Editamos la configuración
En el archivo jail.local, asegúrese de que la sección [sshd] esté activa (enabled = true). También puede configurar bantime (tiempo de bloqueo) y findtime (período para detectar intentos) según sus preferencias.
# Ejemplo de configuración en jail.local:
[DEFAULT]
bantime = 1h # Bloquear durante 1 hora
findtime = 10m # Escanear durante 10 minutos
maxretry = 5 # Bloquear después de 5 intentos fallidos
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
Después de los cambios, reinicie Fail2Ban:
sudo systemctl restart fail2ban
sudo fail2ban-client status # Verificamos el estado
sudo fail2ban-client status sshd # Verificamos el estado para SSH
Ahora su servidor está listo para la instalación del software principal.
Instalación de software — paso a paso
Cachet está construido sobre el framework Laravel, por lo que necesitaremos un servidor web (Nginx), un intérprete de PHP con las extensiones necesarias, el gestor de dependencias Composer y una base de datos (MySQL). Utilizaremos las versiones de software actuales para el año 2026.
1. Instalación de Nginx 1.28.x
Nginx actuará como el servidor web que atiende las solicitudes a Cachet.
sudo apt install -y nginx # Instalamos Nginx
sudo systemctl enable nginx # Habilitamos el inicio automático de Nginx
sudo systemctl start nginx # Iniciamos Nginx
sudo systemctl status nginx # Verificamos el estado de Nginx
Después de la instalación, Nginx debería ser accesible a través de la dirección IP de su VPS (verá la página de bienvenida de Nginx).
2. Instalación de PHP 8.4 y extensiones necesarias
Cachet requiere PHP 8.1 o superior. Instalaremos PHP 8.4, que será actual en 2026, junto con PHP-FPM (FastCGI Process Manager) y todas las extensiones necesarias.
sudo apt install -y software-properties-common # Instalamos utilidades para trabajar con repositorios
sudo add-apt-repository ppa:ondrej/php -y # Añadimos el repositorio Ondrej PPA para versiones actuales de PHP
sudo apt update # Actualizamos la lista de paquetes después de añadir el PPA
sudo apt install -y php8.4 php8.4-fpm php8.4-mysql php8.4-gd php8.4-mbstring php8.4-xml php8.4-bcmath php8.4-curl php8.4-zip php8.4-tokenizer php8.4-json # Instalamos PHP 8.4 y todas las extensiones necesarias
sudo systemctl enable php8.4-fpm # Habilitamos el inicio automático de PHP-FPM
sudo systemctl start php8.4-fpm # Iniciamos PHP-FPM
sudo systemctl status php8.4-fpm # Verificamos el estado de PHP-FPM
El repositorio Ondrej PPA proporciona acceso a las versiones más recientes de PHP en Ubuntu.
3. Instalación de MySQL Server 8.0.x
Cachet utiliza una base de datos para almacenar toda la información sobre componentes, incidentes, suscriptores y configuraciones. Instalaremos MySQL 8.0.
sudo apt install -y mysql-server # Instalamos MySQL Server
sudo systemctl enable mysql # Habilitamos el inicio automático de MySQL
sudo systemctl start mysql # Iniciamos MySQL
sudo systemctl status mysql # Verificamos el estado de MySQL
Después de la instalación, se recomienda ejecutar el script de seguridad de MySQL para establecer la contraseña de root, eliminar usuarios anónimos y la base de datos de prueba.
sudo mysql_secure_installation # Ejecutamos el script de seguridad de MySQL
Siga las instrucciones en pantalla: establezca una contraseña segura para el usuario root, elimine los usuarios anónimos, prohíba el inicio de sesión remoto de root y elimine la base de datos de prueba.
4. Creación de base de datos y usuario para Cachet
Conéctese a MySQL como root y cree una nueva base de datos y un usuario para Cachet con los permisos correspondientes.
sudo mysql -u root -p # Conectarse a MySQL como root (introduzca la contraseña establecida anteriormente)
Dentro de la consola de MySQL, ejecute los siguientes comandos, reemplazando cachet_db, cachet_user y ВАШ_ПАРОЛЬ_ДЛЯ_БД con sus propios valores:
CREATE DATABASE cachet_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # Creamos la base de datos
CREATE USER 'cachet_user'@'localhost' IDENTIFIED BY 'ВАШ_ПАРОЛЬ_ДЛЯ_БД'; # Creamos el usuario
GRANT ALL PRIVILEGES ON cachet_db. TO 'cachet_user'@'localhost'; # Otorgamos permisos sobre la base de datos
FLUSH PRIVILEGES; # Actualizamos los privilegios
EXIT; # Salimos de la consola de MySQL
IMPORTANTE: Utilice una contraseña compleja y única para la base de datos.
5. Instalación de Composer 2.7.x
Composer es un gestor de dependencias para PHP que Cachet utiliza para instalar sus bibliotecas.
curl -sS https://getcomposer.org/installer -o composer-setup.php # Descargamos el script de instalación de Composer
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer # Instalamos Composer globalmente
rm composer-setup.php # Eliminamos el script de instalación
composer --version # Verificamos la versión instalada (debe ser 2.7.x o superior)
6. Descarga e instalación de Cachet
Descargaremos la última versión estable de Cachet desde el repositorio oficial de GitHub.
cd /var/www/ # Nos movemos al directorio para sitios web
sudo git clone https://github.com/CachetHQ/Cachet.git cachet # Clonamos el repositorio de Cachet
cd cachet # Nos movemos al directorio de Cachet
sudo git checkout v2.4.0 # Cambiamos a la última versión estable (actual para 2026, posiblemente v2.5.x)
sudo cp .env.example .env # Creamos el archivo .env a partir del ejemplo
sudo chown -R www-data:www-data /var/www/cachet # Establecemos el propietario del directorio
sudo chmod -R 775 /var/www/cachet/storage # Establecemos los permisos para el directorio storage
sudo chmod -R 775 /var/www/cachet/bootstrap/cache # Establecemos los permisos para el directorio bootstrap/cache
Ahora instalamos todas las dependencias de PHP usando Composer.
sudo composer install --no-dev -o # Instalamos dependencias, optimizamos el autocargador
Generamos la clave de la aplicación Laravel (para cifrar sesiones y otros datos).
sudo php artisan key:generate # Generamos la clave de la aplicación
Ejecutamos las migraciones de la base de datos para crear las tablas necesarias.
sudo php artisan migrate --force # Ejecutamos las migraciones de la base de datos
Al ejecutar las migraciones por primera vez, Cachet puede ofrecerle crear un usuario. Si desea crear un administrador de inmediato, use php artisan app:install. De lo contrario, podrá registrarse a través de la interfaz web después de configurar Nginx.
Configuración
Después de instalar todos los componentes, es necesario configurarlos correctamente para que Cachet pueda funcionar de manera adecuada y segura.
1. Configuración del archivo .env
El archivo .env contiene todas las variables de entorno para la aplicación Laravel, incluyendo la configuración de la base de datos, la URL de la aplicación y otros parámetros importantes. Edítelo para que Cachet pueda conectarse a su base de datos y generar enlaces correctamente.
sudo nano /var/www/cachet/.env
Encuentre y modifique las siguientes líneas, utilizando los datos que creó anteriormente:
APP_NAME="Cachet"
APP_ENV=production
APP_KEY=SU_CLAVE_GENERADA # Ya generada con el comando key:generate
APP_DEBUG=false # En producción siempre false
APP_URL=https://status.yourdomain.com # Especifique su dominio con HTTPS
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=cachet_db # Nombre de su base de datos
DB_USERNAME=cachet_user # Nombre de usuario de la base de datos
DB_PASSWORD=SU_CONTRASEÑA_DE_BD # Contraseña del usuario de la base de datos
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=database # Usamos la base de datos para las colas
Guarde los cambios (Ctrl+O, Enter, Ctrl+X).
2. Configuración de Nginx para Cachet
Crearemos un nuevo archivo de configuración de Nginx para su dominio. Reemplace status.yourdomain.com con su dominio real.
sudo nano /etc/nginx/sites-available/status.yourdomain.com.conf
Pegue el siguiente bloque de configuración:
server {
listen 80;
listen [::]:80;
server_name status.yourdomain.com; # Su dominio
root /var/www/cachet/public; # Ruta al directorio public de Cachet
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.php index.html index.htm;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.4-fpm.sock; # Especificamos el socket de PHP-FPM
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known). {
deny all;
}
}
Guarde el archivo, luego cree un enlace simbólico a él en sites-enabled y verifique la configuración de Nginx.
sudo ln -s /etc/nginx/sites-available/status.yourdomain.com.conf /etc/nginx/sites-enabled/ # Creamos el symlink
sudo nginx -t # Verificamos la sintaxis de la configuración de Nginx
sudo systemctl reload nginx # Recargamos Nginx para aplicar los cambios
3. Configuración de HTTPS con Caddy
El uso de HTTPS es obligatorio para cualquier página pública. Caddy es un servidor web moderno que gestiona automáticamente los certificados de Let's Encrypt, lo que lo hace ideal para una configuración rápida de HTTPS. Si prefiere Nginx + Certbot, puede omitir este paso y pasar al siguiente.
3.1. Instalación de Caddy:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https # Instalamos los paquetes necesarios
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg # Añadimos la clave GPG
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list # Añadimos el repositorio de Caddy
sudo apt update # Actualizamos la lista de paquetes
sudo apt install -y caddy # Instalamos Caddy
sudo systemctl stop nginx # Detenemos Nginx, ya que Caddy usará los puertos 80 y 443
sudo systemctl disable nginx # Deshabilitamos el inicio automático de Nginx
3.2. Configuración de Caddyfile:
sudo nano /etc/caddy/Caddyfile
Elimine el contenido existente y pegue lo siguiente, reemplazando status.yourdomain.com con su dominio:
status.yourdomain.com {
root * /var/www/cachet/public
file_server
php_fastcgi unix//run/php/php8.4-fpm.sock
# Manejo de errores para Laravel
handle_errors {
rewrite * /index.php
}
# Habilitamos HTTPS automático
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN} # Ejemplo para Cloudflare DNS, si su dominio está allí.
# Si usa registros A/AAAA normales, simplemente deje 'tls'
}
log {
output file /var/log/caddy/cachet_access.log
format json
}
# Encabezados de seguridad adicionales
header {
X-Frame-Options "SAMEORIGIN"
X-XSS-Protection "1; mode=block"
X-Content-Type-Options "nosniff"
Referrer-Policy "strict-origin-when-cross-origin"
}
}
Si utiliza Cloudflare para DNS, deberá crear un token de API de Cloudflare y agregarlo a las variables de entorno de Caddy (por ejemplo, a través de systemd override o /etc/environment) o usar tls internal para certificados autofirmados (no recomendado para servicios públicos). Para la mayoría de los usuarios, simplemente tls es suficiente, y Caddy obtendrá el certificado a través de una solicitud HTTP-01.
sudo systemctl restart caddy # Reiniciamos Caddy
sudo systemctl status caddy # Verificamos el estado de Caddy
4. Configuración de HTTPS con Certbot (para Nginx)
Si ha decidido usar Nginx, necesitará Certbot de Let's Encrypt para HTTPS.
sudo snap install core # Asegúrese de que snap esté instalado
sudo snap refresh core # Actualizamos snap
sudo snap install --classic certbot # Instalamos Certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot # Creamos el symlink
sudo certbot --nginx -d status.yourdomain.com # Ejecutamos Certbot para Nginx
Certbot configurará automáticamente Nginx para HTTPS y creará tareas cron para la renovación automática de certificados. Siga las instrucciones en pantalla.
5. Configuración de tareas Cron para Cachet
Cachet requiere tareas cron para ejecutar tareas en segundo plano, como el envío de notificaciones y la actualización de métricas.
sudo crontab -e -u www-data # Abrimos crontab para el usuario www-data (o el usuario bajo el cual se ejecuta PHP-FPM)
Agregue la siguiente línea al final del archivo:
* * * * * php /var/www/cachet/artisan schedule:run >> /dev/null 2>&1
Este comando ejecutará el planificador de Laravel cada minuto.
6. Verificación de la funcionalidad
Ahora su Cachet debería estar accesible en https://status.yourdomain.com. Ábralo en su navegador y complete la instalación creando una cuenta de administrador.
Verifique que todos los servicios estén en ejecución:
sudo systemctl status php8.4-fpm # Verificamos PHP-FPM
sudo systemctl status mysql # Verificamos MySQL
sudo systemctl status nginx # Verificamos Nginx (si lo usa)
sudo systemctl status caddy # Verificamos Caddy (si lo usa)
Use curl para verificar la disponibilidad de la página:
curl -I https://status.yourdomain.com # Verificamos los encabezados HTTP
Debería ver el estado HTTP/2 200 OK y los encabezados que indican una carga de página exitosa.