Como instalar o sistema de página de status do cache no Ubuntu 18.04 LTS
Nesta página
- Requisitos
- Pré-requisitos
- Etapa 1 - Instalar o PHP
- Etapa 2 - Instale o MySQL e crie um banco de dados para o Cachet
- Etapa 3 - Instale o cliente Acme.sh e obtenha o certificado Lets Encrypt (opcional)
- Etapa 4 - Instalar e configurar NGINX
- Etapa 5 - Instalar o Composer
- Etapa 6 - Instalar cache
- Etapa 7 - Conclua a configuração do cache
- 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 dbname
, username
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