Instalação · 5 min read · Oct 18, 2025

Como Instalar o Sistema de Página de Status Cachet no Debian 9

Cachet é um belo e poderoso sistema de página de status de código aberto escrito em PHP que permite que você comunique melhor o tempo de inatividade e as falhas do sistema para seus clientes, equipes e acionistas. O aplicativo oferece muitos recursos, sendo os mais notáveis: uma poderosa API JSON, relatórios de incidentes, métricas, suporte a markdown para mensagens de incidentes, notificações para assinantes via e-mail, autenticação de dois fatores. Neste tutorial, instalaremos o sistema de página de status Cachet utilizando PHP, Nginx, MariaDB e Composer.

Requisitos

  • Versão do PHP 5.5.9 ou superior
  • Servidor HTTP com suporte a PHP (ex: Nginx, Apache, Caddy)
  • Composer
  • Um banco de dados suportado: MySQL, PostgreSQL ou SQLite

Pré-requisitos

  • Um servidor rodando Debian 9.
    Um usuário não-root com privilégios sudo.

Passos iniciais

Verifique a versão do Debian:

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

Configure o fuso horário:

timedatectl list-timezones  
sudo timedatectl set-timezone 'Região/Cidade'

Atualize os pacotes do seu sistema operacional:

sudo apt update && sudo apt upgrade -y

Instale os pacotes vim, git e socat:

sudo apt install -y vim git socat sudo

Passo 1 - Instalar PHP

Instale o PHP e as extensões PHP necessárias:

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

Verifique a versão do PHP:

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

Passo 2 - Instalar MariaDB e criar um banco de dados para o Cachet

Cachet suporta bancos de dados MySQL/MariaDB, PostgreSQL e SQLite3. Neste tutorial, usaremos o MariaDB como servidor de banco de dados.

Instale o servidor de banco de dados MariaDB:

sudo apt install -y mariadb-server

Verifique a versão do MariaDB:

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

Execute o script mysql_secure_installation para melhorar a segurança do MariaDB e defina a senha para o usuário root do MySQL:

sudo mysql_secure_installation

Responda a cada uma das perguntas:

Digite a senha atual para root (pressione Enter para nenhum): Pressione Enter  
Definir senha root? [Y/n] Y  
Nova senha: sua_senha_segura  
Reinsira a nova senha: sua_senha_segura  
Remover usuários anônimos? [Y/n] Y  
Desabilitar login remoto do root? [Y/n] Y  
Remover banco de dados de teste e acesso a ele? [Y/n] Y  
Recarregar tabelas de privilégios agora? [Y/n] Y

Conecte-se ao shell do MySQL como usuário root:

mysql -u root -p  
# Digite a senha  

Crie um banco de dados MariaDB vazio e um usuário para o Cachet e lembre-se das credenciais:

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

Saia do MariaDB:

MariaDB [(none)]> exit

Substitua dbname, username e password pelos seus próprios nomes.

Passo 3 - Instalar o cliente Acme.sh e obter o certificado Let’s Encrypt (opcional)

Proteger sua página de status com HTTPS não é necessário, mas é uma boa prática proteger o tráfego do seu site. Para obter um certificado SSL do Let’s Encrypt, usaremos o cliente Acme.sh. Acme.sh é um software de shell unix puro para obter certificados SSL do Let’s Encrypt com zero dependências.

Baixe e instale o 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 ~

Verifique a versão do Acme.sh:

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

Obtenha certificados RSA e ECC/ECDSA para seu domínio/nome do 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

Após executar os comandos acima, seus certificados e chaves estarão em:

  • Para RSA: diretório /etc/letsencrypt/status.example.com.
  • Para ECC/ECDSA: diretório /etc/letsencrypt/status.example.com_ecc.

Passo 4 - Instalar e configurar o Nginx

Cachet pode funcionar bem com muitos servidores web. Neste tutorial, escolhemos o Nginx.

Instale o Nginx:

sudo apt install -y nginx

Verifique a versão do Nginx:

sudo nginx -v  
# nginx version: nginx/1.10.3

Configure o Nginx para o Cachet executando:

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

E preencha o arquivo com a seguinte configuração:

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

Ative a nova configuração cachet.conf vinculando o arquivo ao diretório sites-enabled:

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

Teste a configuração do NGINX:

sudo nginx -t

Recarregue o Nginx:

sudo systemctl reload nginx.service

Passo 5 - Instalar o Composer

Instale o Composer, o gerenciador de dependências PHP globalmente:

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

Verifique a versão do Composer:

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

Passo 6 - Instalar o Cachet

Crie um diretório de raiz de documento onde o Cachet deve residir:

sudo mkdir -p /var/www/cachet  

Navegue até o diretório de raiz do documento:

cd /var/www/cachet

Baixe o código-fonte do Cachet com o Git e faça checkout para a última versão marcada:

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

Copie .env.example para o arquivo .env e configure o banco de dados e as configurações de APP_URL no arquivo .env:

cp .env.example .env  
vim .env

Instale as dependências do Cachet com o Composer:

composer install --no-dev -o

Configure a chave do aplicativo executando:

php artisan key:generate

Instale o Cachet:

php artisan app:install

Altere a propriedade do diretório /var/www/cachet para www-data:

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

Abra seu site em um navegador e siga as instruções na tela para finalizar a instalação do Cachet.

Passo 7 - Complete a configuração do Cachet

Selecione drivers de cache e sessão e configure as opções de e-mail:

Finalizar a configuração do cachet

Configure as configurações gerais do site, como nome do site, domínio do site, fuso horário e idioma:

Configurações gerais do Cachet

Crie uma conta de usuário administrativo:

Adicionar uma conta de administrador

Depois disso, você deve receber uma mensagem de que o Cachet foi configurado com sucesso. Você pode abrir o painel do Cachet pressionando o botão “Ir para o painel”:

Cachet foi instalado com sucesso

A instalação e configuração do Cachet foi concluída.
Para acessar o painel do Cachet, acrescente /dashboard à URL do seu site.

Painel do Cachet

Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.