Como instalar o sistema de página de status de cache no Debian 12
Nesta página
- Pré-requisitos
- Instalando o Docker Engine
- Executando Cachet com banco de dados Docker e PostgreSQL
- Configure o Nginx como proxy reverso
- Configurando UFW (Firewall Descomplicado)
- Protegendo o cache com HTTPS
- Instalando cache
- Conclusão
Cachet é um sistema de páginas de status de código aberto escrito em PHP. Ele permite monitorar o tempo de inatividade e falhas do sistema em sua infraestrutura. Cachet fornece API JSO, até mesmo relatórios, métricas, vários métodos de notificação e autenticação de dois fatores.
No tutorial a seguir, mostraremos como instalar a página de status do Cachet no servidor Debian 12. Você executará o Cachet como um contêiner Docker com o banco de dados PostgreSQL e o servidor web Nginx.
Pré-requisitos
Antes de prosseguir, certifique-se de ter o seguinte:
- Um servidor Debian 12.
- Um usuário não root com privilégios sudo.
- Um UFW foi instalado e configurado.
- Um nome de domínio apontado para um endereço IP de servidor.
Instalando o Docker Engine
Neste exemplo, você instalará o Cachet como um contêiner via Docker. Então você precisa instalar o mecanismo Docker em seu sistema Debian. Neste exemplo, você usará os pacotes oficiais do mecanismo Docker.
Primeiro, execute o comando abaixo para instalar os pacotes curl e ca-certificates.
sudo apt install ca-certificates curl -y
Agora adicione a chave GPG para o repositório Docker executando o seguinte comando.
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
A seguir, adicione o repositório Docker Engine para o sistema Debian usando o comando abaixo.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Depois que o repositório Docker for adicionado, atualize e atualize o índice do seu pacote com o comando abaixo.
sudo apt update
Agora instale o Docker Engine em seu sistema com o seguinte comando. Digite Y para confirmar a instalação.
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Após a conclusão da instalação, o serviço Docker deverá ser executado automaticamente. Verifique o status do serviço Docker com o comando abaixo.
sudo systemctl status docker
Você verá a saída sendo executada da seguinte forma:
Para garantir que seu usuário possa executar e executar o contêiner, você deve adicioná-lo ao grupo docker com o comando abaixo.
sudo usermod -aG sudo alice
Por último, faça login como seu usuário e execute o comando docker abaixo para executar um contêiner hello-world.
su - alice
docker run hello-world
Se sua configuração for bem-sucedida, você deverá obter a saída 'Hello Docker' como a seguir:
Executando Cachet com banco de dados Docker e PostgreSQL
Depois de instalar o Docker, você precisa baixar o projeto Cachet e configurar sua instalação. Nesse caso, você instalará e executará o Cachet como um usuário não root com um contêiner Docker.
Baixe o projeto Cachet no diretório cachet-docker e entre nele.
git clone https://github.com/cachethq/Docker.git cachet-docker
cd cachet-docker
Abra o arquivo docker-compose.yml usando o seguinte comando do editor nano.
nano docker-compose.yml
Altere a porta do host padrão para 8000 como mostrado a seguir. Você também pode personalizar os detalhes do banco de dados com suas informações e deixar a versão padrão do Cachet por enquanto para 2.4.
ports:
- 8000:8000
Salve o arquivo e saia.
Agora execute os seguintes comandos do docker para construir sua imagem em cache e executar contêineres para Cachet e PostgreSQL.
docker compose build
docker compose up
Abaixo, você pode ver a captura de tela da construção da imagem Docker para Cachet.
Abaixo está a captura de tela ao executar contêineres/serviços para Cachet e PostgreSQL.
Nos logs detalhados do contêiner Cachet, você encontrará um erro sobre a configuração do APP_KEY. Copie o APP_KEY gerado e pressione Ctrl+c para encerrar os contêineres.
Em seguida, reabra o arquivo docker-compose.yml usando o editor nano.
nano docker-compose.yml
Altere o parâmetro APP_KEY padrão como mostrado a seguir. Certifique-se de incluir a string base64.
APP_KEY=base64:WfKUhY0wAOyr5hkxoctZUSWPGdXbBUWFvNLCoI7kTU8=
Salve o arquivo e saia.
Agora execute o comando docker abaixo para encerrar os contêineres do Cachet e PostgreSQL e, em seguida, inicie-o novamente.
docker compose down
docker compose up -d
Depois que os contêineres forem iniciados, verifique a lista de contêineres em execução usando o comando a seguir.
docker compose ps
Como você pode ver abaixo, os contêineres Cachet e PostgreSQL estão em execução. O contêiner Cachet está sendo executado na porta 8000.
Configure o Nginx como proxy reverso
Agora que o Cachet está sendo executado como um contêiner na porta 8000, você instalará e configurará o Nginx como um proxy reverso para o Cachet.
Instale o Nginx em seu servidor Debian usando o comando abaixo.
sudo apt install nginx -y
Assim que a instalação for concluída, crie uma nova configuração de bloco do servidor Nginx /etc/nginx/sites-available/cachet usando o comando do editor nano abaixo.
sudo nano /etc/nginx/sites-available/cachet
Insira a configuração abaixo e certifique-se de alterar o parâmetro server_name com o seu nome de domínio.
server {
listen 80;
server_name status.howtoforge.local;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Salve o arquivo e saia do editor.
Em seguida, execute o comando Nginx abaixo para ativar o bloco do servidor Cachet e verificar a sintaxe do Nginx. Se você tiver a sintaxe correta, deverá obter a saída 'syntax is ok'.
sudo ln -s /etc/nginx/sites-available/cachet /etc/nginx/sites-enabled/
sudo nginx -t
Por último, reinicie o servidor web Nginx para aplicar a configuração do bloco do servidor Cachet e verifique o serviço Nginx para garantir que está em execução.
sudo systemctl restart nginx
sudo systemctl status nginx
Se o Nginx estiver em execução, você deverá obter uma saída active(running).
Configurando UFW (Firewall Descomplicado)
Antes de acessar o Cachet, você deve garantir que as portas HTTP e HTTPS sejam permitidas. No Ubuntu, você permitirá o tráfego para HTTP e HTTPS via UFW (Uncomplicated Firewall).
Certifique-se de que o UFW esteja habilitado, agora execute o seguinte comando para habilitar o perfil 'Nginx Full' no UFW. Isso permitirá o tráfego dos protocolos HTTP e HTTPS para o seu servidor web Nginx.
sudo ufw allow 'Nginx Full'
Agora verifique sua lista de regras habilitadas no UFW com o comando abaixo.
sudo ufw status
Você verá que o perfil 'Nginx Full' está habilitado no UFW.
Protegendo o cache com HTTPS
Neste ponto, seu Cachet deve estar acessível via Nginx. Para proteger sua instalação, você habilitará HTTPS para Cachet via SSL do Letsencrypt.
Portanto, execute o comando abaixo para instalar o Certbot e o plugin Certbot Nginx. Insira Y para confirmar a instalação.
sudo apt install certbot python3-nginx-certbot
Assim que a instalação for concluída, execute o comando certbot abaixo para gerar certificados SSL/TLS para sua instalação do Cachet. Certifique-se de alterar os detalhes do nome de domínio e endereço de e-mail com suas informações.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email -d status.howtoforge.local
Depois que tudo estiver concluído, seus certificados SSL/TLS deverão ser armazenados no diretório /etc/lestencrypt/live/status.howtoforge.local. Além disso, seu cache deve ser protegido via HTTPS.
Instalando cache
Inicie seu navegador preferido e visite a instalação do Cachet https://status.howtoforge.local/. Se a instalação for bem-sucedida, você deverá obter a seguinte página.
Selecione o Driver de Cache, o Driver de Fila e o Driver de Sessão padrão para o Banco de Dados. Em seguida, insira os detalhes do seu servidor de e-mail.
Clique em Avançar para continuar.
Agora configure o nome da página de status, o fuso horário padrão e o idioma padrão. Em seguida, clique em Avançar novamente.
Agora crie um novo usuário administrador para Cachet digitando seu nome de usuário, e-mail e senha. Em seguida, clique em Concluir configuração para confirmar.
Depois de concluído, você verá o seguinte: clique em Ir para o painel.
Faça login no Cache com seu nome de usuário e senha e clique em Login.
Se a instalação for bem-sucedida, você deverá obter o painel do Cachet como o seguinte:
Conclusão
Parabéns! Agora você instalou a página de status do Cachet no servidor Debian 12 com Docker. A instalação do Cachet está sendo executada com um banco de dados PostgreSQL e um servidor web Nginx. Agora você pode monitorar seus sites usando o Cachet.