Pesquisa de site

Como instalar o sistema de página de status do cache no Ubuntu 18.04 LTS


Nesta página

  1. Requisitos
  2. Pré-requisitos
  3. Etapa 1 - Instalar o PHP
  4. Etapa 2 - Instale o MySQL e crie um banco de dados para o Cachet
  5. Etapa 3 - Instale o cliente Acme.sh e obtenha o certificado Lets Encrypt (opcional)
  6. Etapa 4 - Instalar e configurar NGINX
  7. Etapa 5 - Instalar o Composer
  8. Etapa 6 - Instalar cache
  9. Etapa 7 - Conclua a configuração do cache
  10. Links

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 interrupções 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 de marcação para mensagens de incidentes, notificações de assinante por e-mail, autenticação de dois fatores. Neste tutorial, instalaremos o sistema de página de status Cachet utilizando PHP, Nginx, MySQL e Composer no Ubuntu 18.04 LTS.

Requisitos

  • versão do PHP 7.1 ou superior
  • Servidor HTTP com suporte PHP (por exemplo: Nginx, Apache, Caddy)
  • Compositor
  • Um banco de dados compatível: MySQL, PostgreSQL ou SQLite
  • Git

Pré-requisitos

  • Um sistema operacional Ubuntu 18.04 LTS.
  • Um usuário não root com privilégios sudo.

Etapas iniciais

Verifique sua versão do Ubuntu:

lsb_release -ds
# Ubuntu 18.04.1 LTS

Configure o fuso horário:

sudo dpkg-reconfigure tzdata

Atualize seus pacotes de sistema operacional (software). Este é um primeiro passo importante porque garante que você tenha as atualizações e correções de segurança mais recentes para os pacotes de software padrão do seu sistema operacional:

sudo apt update && sudo apt upgrade -y

Instale alguns pacotes essenciais que são necessários para a administração básica do sistema operacional Ubuntu:

sudo apt install -y curl wget vim git unzip socat bash-completion

Passo 1 - Instale o PHP

Instale o PHP, bem como as extensões PHP necessárias:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-xml php7.2-gd php7.2-zip php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-sqlite3 php7.2-opcache php-apcu

Para mostrar o PHP compilado em módulos, você pode executar:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Verifique a versão do PHP:

php --version

# PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

O serviço PHP-FPM é iniciado e ativado automaticamente na reinicialização do sistema Ubuntu 18.04, portanto, não há necessidade de iniciá-lo e ativá-lo manualmente. Podemos passar para a próxima etapa, que é a instalação e configuração do banco de dados.

Passo 2 - Instale o MySQL e crie um banco de dados para o Cachet

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

Instale o servidor de banco de dados MySQL:

sudo apt install -y mysql-server

Verifique a versão do MySQL:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using  EditLine wrapper

Execute o script de instalação mysql_secure para melhorar a segurança do MySQL e defina a senha para o usuário root do MySQL:

sudo mysql_secure_installation

Responda a cada uma das perguntas:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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

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

sudo mysql -u root -p
# Enter password

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

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Sair do MySQL:

mysql> exit

Substitua dbnameusername e password pelos seus próprios nomes.

Passo 3 - Instale o cliente Acme.sh e obtenha o certificado Lets Encrypt (opcional)

Proteger seu site com HTTPS não é necessário, mas é uma boa prática proteger o tráfego do site. Para obter o certificado TLS da Lets Encrypt, usaremos o cliente acme.sh. Acme.sh é um software de shell UNIX puro para obter certificados TLS da Lets Encrypt com zero dependências.

Baixe e instale acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail 
source ~/.bashrc
cd ~

Verifique a versão do acme.sh:

acme.sh --version
# v2.8.0

Obtenha os certificados RSA e ECC/ECDSA para seu domínio/nome de host:<br>

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Se você deseja certificados falsos para teste, pode adicionar o sinalizador --staging aos comandos acima.

Depois de executar os comandos acima, seus certificados e chaves estarão em:

  • Para RSA: /home/username/example.com diretório.
  • Para ECC/ECDSA: /home/username/example.com_ecc diretório.

Para listar seus certificados emitidos, você pode executar:

acme.sh --list

Crie um diretório para armazenar seus certificados. Usaremos o diretório /etc/letsencrypt .

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instale/copie os certificados para o diretório /etc/letsencrypt .

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Todos os certificados serão renovados automaticamente a cada 60 dias.

Depois de obter os certificados, saia do usuário root e retorne ao usuário sudo normal:

exit

Etapa 4 - Instalar e configurar NGINX

O cache pode funcionar bem com muitos servidores da web. Neste tutorial, selecionamos Nginx. Se você preferir o servidor web Apache em vez do Nginx, visite https://docs.cachethq.io/docs/installing-cachet#section-running-cachet-on-apache para saber mais.

Instale o Nginx:

sudo apt install -y nginx

Verifique a versão do Nginx:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Configure o Nginx para Cachet executando:

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

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

server {

  listen 80;
  listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;

  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.2-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

Etapa 5 - Instalar o Composer

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

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { 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.8.3 2019-01-30 08:31:33

Passo 6 - Instalar Cache

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

sudo mkdir -p /var/www/cachet

Altere a propriedade do diretório /var/www/cachet para {jour_user}:

sudo chown -R {your_user}:{your_user} /var/www/cachet

OBSERVAÇÃO: Substitua {jour_user} pelo seu nome de usuário não raiz criado inicialmente.

Navegue até o diretório raiz do documento:

cd /var/www/cachet

Baixe o código-fonte do Cachet com o Git:

git clone -b 2.4 --single-branch https://github.com/cachethq/Cachet.git .

Copie .env.example para o arquivo .env e configure o banco de dados e APP_URL configurações 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

Instalar Cache:

php artisan cachet: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 da Web e siga as instruções na tela para concluir a instalação do Cachet.

Etapa 7 - Conclua a configuração do cache

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

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

Crie uma conta de usuário administrativo:

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

A instalação e configuração do cache foram concluídas.

Para acessar o painel Cachet, anexe /dashboard ao URL do seu site.

links

  • https://github.com/CachetHQ/Cachet

Artigos relacionados: