Pesquisa de site

Como instalar o sistema de página de status de cache no Debian 12


Nesta página

  1. Pré-requisitos
  2. Instalando o Docker Engine
  3. Executando Cachet com banco de dados Docker e PostgreSQL
  4. Configure o Nginx como proxy reverso
  5. Configurando UFW (Firewall Descomplicado)
  6. Protegendo o cache com HTTPS
  7. Instalando cache
  8. 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.

Artigos relacionados: