Introdução
Plausible Analytics é uma aplicação de análise da web de código aberto e auto-hospedada escrita em Elixir que foca na simplicidade e privacidade. Ele armazena dados sobre os visitantes do seu site em bancos de dados PostgreSQL e ClickHouse.
Neste tutorial, você irá instalar o Plausible usando o Docker Compose e, em seguida, instalar o Nginx para agir como um proxy reverso para o aplicativo Plausible. Por fim, você irá habilitar conexões seguras HTTPS usando o Certbot para baixar e configurar certificados SSL da Autoridade de Certificação Let’s Encrypt.
Pré-requisitos
Para completar este tutorial, você precisará primeiro dos seguintes itens:
- Um servidor Ubuntu 22.04, com o firewall UFW habilitado. Por favor, leia nosso Configuração Inicial do Servidor com Ubuntu 22.04 para aprender mais sobre como configurar esses requisitos.
- O Docker está instalado. Você pode seguir o Passo 1 do Como Instalar e Utilizar o Docker no Ubuntu 22.04 para fazer isso. Opcionalmente, você pode seguir o Passo 2 desse tutorial se desejar que seu usuário não-root possa executar comandos
docker
sem usarsudo
- O Docker Compose está instalado. Siga o Passo 1 do Como Instalar e Utilizar o Docker Compose no Ubuntu 22.04 para instalar este software
Nota: Essas etapas prévias podem ser ignoradas se estiver utilizando a Imagem Docker de Um Clique da DigitalOcean. Esta imagem terá o Docker, Docker Compose e UFW já instalados e configurados.
Inicie uma nova imagem Docker na região de sua escolha, em seguida, faça login como o usuário root e prossiga com o tutorial. Opcionalmente, você pode omitir as partes do sudo
de todos os comandos, mas não é necessário.
Por fim, para habilitar o SSL, você precisará de um nome de domínio apontado para o endereço IP público do seu servidor. Isso deve ser algo como exemplo.com
ou plausivel.exemplo.com
, por exemplo. Se estiver usando a DigitalOcean, consulte nosso Início Rápido de DNS para obter informações sobre como criar recursos de domínio em nosso painel de controle.
Quando você tiver atendido todos os pré-requisitos, prossiga para Passo 1, onde você irá baixar e iniciar o software Plausible.
Passo 1 – Instalando o Plausible Analytics com Docker Compose
O Plausible criou um repositório Git com todos os arquivos de configuração necessários para hospedar o software por conta própria. Seu primeiro passo será clonar este repositório em seu servidor, atualizar dois arquivos de configuração e, em seguida, iniciar os contêineres do aplicativo e do banco de dados do Plausible.
Faça login em seu servidor agora.
Primeiro, use o comando cd
para navegar até o diretório /opt
:
Em seguida, use o comando git
para clonar o repositório do GitHub em um novo diretório dentro de /opt
chamado plausible
:
Isso irá baixar todos os arquivos de configuração necessários para /opt/plausible
. Mova-se para o diretório recém-criado:
O primeiro arquivo que precisamos editar é plausible-conf.env
, um arquivo que contém algumas variáveis de configuração que precisamos definir.
Antes de abrir o arquivo para editá-lo, gere um novo hash aleatório:
Isso utiliza o comando openssl
para gerar 64 caracteres aleatórios, e o comando base64
para codificá-los em base64. Copie a saída para a área de transferência e, em seguida, abra o arquivo de configuração:
O arquivo contém cinco variáveis que você precisará preencher:
ADMIN_USER_EMAIL=your_email_here
ADMIN_USER_NAME=admin_username
ADMIN_USER_PWD=admin_password
BASE_URL=https://your_domain_here
SECRET_KEY_BASE=paste_your_random_characters_here
Preencha o e-mail, nome de usuário, senha e URL base, e então cole os caracteres aleatórios que você gerou com openssl
.
Nota: A senha que você especificar aqui deve ter pelo menos seis caracteres de comprimento. Se estiver usando um endereço IP nu e não um nome de domínio, certifique-se de precedê-lo com http://
.
Salve o arquivo (CTRL+O
e então ENTER
no nano
) e saia do seu editor (CTRL+X
).
Há mais opções de configuração que você pode adicionar a este arquivo, mas este conjunto mínimo o fará funcionar. Mais informações sobre a configuração do Plausible através de plausible-conf.env
podem ser encontradas na documentação oficial de auto-hospedagem do Plausible Analytics.
Agora você precisa atualizar o arquivo docker-compose.yml
. Este arquivo é o que o comando docker-compose
usa para configurar e iniciar vários containers do Docker. Precisamos mudar uma opção neste arquivo: o IP ao qual o Plausible se vincula.
Encontre a seção que define o container Plausible. Ela começará com plausible:
. Naquela seção, encontre a definição ports:
e atualize para o seguinte:
ports:
- 127.0.0.1:8000:8000
Isso garante que o Plausible esteja ouvindo apenas na interface localhost e não esteja publicamente disponível. Mesmo que você tenha configurado um firewall UFW, devido a algumas peculiaridades na forma como a rede do Docker funciona, se você não seguir este passo, seu contêiner Plausible estará acessível ao público na porta 8000
, e nós apenas queremos que ele seja acessível através do proxy Nginx que você irá configurar no próximo passo.
Salve e feche o arquivo docker-compose.yml
, em seguida, use o docker-compose
para baixar, configurar e iniciar os contêineres:
A flag --detach
indica ao docker-compose
para criar os contêineres em segundo plano, desvinculados da nossa sessão do terminal:
Output. . .
Starting plausible_plausible_events_db_1 ... done
Starting plausible_plausible_db_1 ... done
Starting plausible_mail_1 ... done
Starting plausible_plausible_1 ... done
O contêiner do aplicativo e todos os seus contêineres de suporte de e-mail e banco de dados devem estar em execução agora. Você pode verificar isso usando o comando curl
para buscar a página inicial do seu novo contêiner Plausible em execução em localhost:
Output<html><body>You are being <a href="/login">redirected</a>.</body></html>
Se algum HTML for exibido no seu terminal, você saberá que o servidor está em funcionamento.
Em seguida, vamos configurar o Nginx para proxy reverso do Plausible de localhost:8000
para o público.
Passo 2 — Instalando e Configurando o Nginx
Colocar um servidor web como o Nginx na frente do seu servidor Elixir pode melhorar o desempenho ao descarregar o cacheamento, compressão e servir arquivos estáticos para um processo mais eficiente. Vamos instalar o Nginx e configurá-lo para encaminhar solicitações para o Plausible, o que significa que ele cuidará de lidar com as solicitações dos seus usuários para o Plausible e vice-versa.
Primeiro, atualize sua lista de pacotes e depois instale o Nginx usando apt
:
Permita tráfego público nas portas 80
e 443
(HTTP e HTTPS) usando o perfil de aplicativo UFW “Nginx Full”:
OutputRule added
Rule added (v6)
Em seguida, abra um novo arquivo de configuração do Nginx no diretório /etc/nginx/sites-available
. Vamos chamá-lo de plausible.conf
, mas você pode usar um nome diferente:
Cole o seguinte no novo arquivo de configuração, certificando-se de substituir seu_domínio_aqui
pelo domínio que você configurou para apontar para o seu servidor Plausible. Isso deve ser algo como plausible.exemplo.com
, por exemplo:
server {
listen 80;
listen [::]:80;
server_name your_domain_here;
access_log /var/log/nginx/plausible.access.log;
error_log /var/log/nginx/plausible.error.log;
location / {
proxy_pass http://localhost:8000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Esta configuração é apenas HTTP por enquanto, pois vamos deixar o Certbot cuidar da configuração do SSL no próximo passo. O restante da configuração define os locais de registro e, em seguida, encaminha todo o tráfego para http://localhost:8000
, a instância Plausible que iniciamos no passo anterior.
Salve e feche o arquivo e, em seguida, habilite a configuração vinculando-a em /etc/nginx/sites-enabled/
:
Use nginx -t
para verificar se a sintaxe do arquivo de configuração está correta:
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
E, finalmente, recarregue o serviço nginx
para pegar a nova configuração:
Seu site Plausible agora deve estar disponível em HTTP simples. Carregue http://seu_domínio_aqui
e ficará assim:
Agora que você tem seu site funcionando em HTTP, é hora de garantir a conexão com Certbot e certificados Let’s Encrypt.
Passo 3 — Instalando o Certbot e Configurando Certificados SSL
Graças ao Certbot e à autoridade de certificação gratuita Let’s Encrypt, adicionar criptografia SSL ao nosso aplicativo Plausible levará apenas dois comandos.
Primeiro, instale o Certbot e seu plugin Nginx:
Em seguida, execute certbot
no modo --nginx
, e especifique o mesmo domínio que você usou na configuração server_name
do Nginx:
Você será solicitado a concordar com os termos de serviço da Let’s Encrypt e a inserir um endereço de e-mail.
Depois disso, você será perguntado se deseja redirecionar todo o tráfego HTTP para HTTPS. Depende de você, mas geralmente isso é recomendado e seguro de fazer.
Depois disso, o Let’s Encrypt confirmará sua solicitação e o Certbot fará o download do seu certificado:
OutputCongratulations! You have successfully enabled https://plausible.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=plausible.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/plausible.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/plausible.example.com/privkey.pem
Your cert will expire on 2022-12-05. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
O Certbot recarregará automaticamente o Nginx para pegar a nova configuração e os certificados. Recarregue seu site e ele deverá mudar automaticamente para HTTPS se você escolheu a opção de redirecionamento.
Seu site agora está seguro e é seguro fazer login com os detalhes do usuário padrão que você configurou no Passo 1. Você será solicitado a verificar seu registro e um código de verificação será enviado para o endereço que você configurou.
Por padrão, este e-mail é enviado diretamente do seu servidor, o que pode criar problemas devido a várias medidas de prevenção de spam. Se você não receber o e-mail, verifique sua pasta de spam. Se também não estiver lá, você pode precisar configurar detalhes SMTP mais adequados no arquivo plausible-conf.env
. Consulte a documentação oficial de auto-hospedagem do Plausible para obter detalhes sobre a configuração de e-mail.
Ao fazer login com sucesso, você verá uma solicitação para configurar seu primeiro site com Plausible:
Você instalou e protegeu com sucesso seu software de análise Plausible.
Conclusão
Neste tutorial, você lançou o aplicativo Plausible Analytics e seus contêineres auxiliares associados usando o Docker Compose, em seguida, configurou um proxy reverso Nginx e o protegeu usando certificados SSL Let’s Encrypt.
Agora você está pronto para configurar seu site e adicionar o script de rastreamento Plausible Analytics. Consulte a documentação oficial do Plausible Analytics para obter mais informações sobre o uso do software e a configuração do seu site.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-plausible-analytics-on-ubuntu-22-04