Introdução
Plausible Analytics é uma aplicação de análise web de código aberto e auto-hospedada escrita em Elixir que se concentra 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 atuar como um proxy reverso para o aplicativo Plausible. Por fim, você habilitará conexões HTTPS seguras 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 saber mais sobre como configurar esses requisitos.
- O Docker está instalado. Você pode usar Passo 1 de Como Instalar e Usar o Docker no Ubuntu 22.04 para concluir esta tarefa. Opcionalmente, você pode seguir o Passo 2 desse tutorial se quiser 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 Usar o Docker Compose no Ubuntu 22.04 para instalar este software
Observação: Essas etapas prévias podem ser ignoradas se você estiver usando a Imagem Docker de Um Clique da DigitalOcean. Essa imagem já terá o Docker, Docker Compose e UFW instalados e configurados.
Inicie uma nova imagem do Docker na região de sua escolha, depois 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 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 você estiver usando a DigitalOcean, consulte nosso Guia de Início Rápido de DNS para obter informações sobre como criar recursos de domínio em nosso painel de controle.
Quando tiver satisfeito todos os pré-requisitos, avance 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. Seu primeiro passo será clonar este repositório para o seu servidor, atualizar dois arquivos de configuração e então iniciar os containers de aplicativo e banco de dados do Plausible.
Faça login no seu servidor agora.
Primeiro, use o comando cd
para navegar até o diretório /opt
:
Depois, 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 possui algumas variáveis de configuração que precisamos definir.
Antes de abrir o arquivo para editá-lo, gere um novo hash aleatório:
Isso usa 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 depois 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 email, nome de usuário, senha e URL base e 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 depois ENTER
no nano
) e feche o seu editor (CTRL+X
).
Há mais opções de configuração que você pode adicionar a este arquivo, mas este conjunto mínimo o ajudará a começar. 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 lançar 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:
. Nessa seção, encontre a definição ports:
e atualize-a para o seguinte:
ports:
- 127.0.0.1:8000:8000
Isso garante que o Plausible esteja ouvindo apenas na interface localhost, e não está 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 estaria acessível ao público na porta 8000
, e queremos que ele seja acessível apenas através do proxy Nginx que você configurará no próximo passo.
Salve e feche o arquivo docker-compose.yml
, e então 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, desanexados 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 agora em execução. 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 em seu terminal, você saberá que o servidor está ativo e em execução.
Em seguida, vamos configurar o Nginx para servir de proxy reverso para o 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 armazenamento em cache, 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 de volta novamente.
Primeiro, atualize sua lista de pacotes e, em seguida, instale o Nginx usando apt
:
Permita o tráfego público nas portas 80
e 443
(HTTP e HTTPS) usando o perfil de aplicativo “Nginx Full” no UFW:
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, garantindo substituir seu_domínio_aqui
pelo domínio que você configurou para apontar para o seu servidor Plausible. Deveria 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;
}
}
Essa configuração é apenas HTTP por enquanto, pois deixaremos o Certbot cuidar da configuração do SSL no próximo passo. O restante da configuração define os locais de registro e depois encaminha todo o tráfego para http://localhost:8000
, a instância Plausible que iniciamos no passo anterior.
Salve e feche o arquivo, 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:
O seu site Plausible deve agora estar disponível em HTTP simples. Carregue http://seu_domínio_aqui
e irá parecer assim:
Agora que o seu site está em funcionamento através de HTTP, é hora de garantir a ligação com certificados Certbot e Let’s Encrypt.
Passo 3 — Instalando o Certbot e Configurando os Certificados SSL
Obrigado ao Certbot e à autoridade de certificação gratuita Let’s Encrypt, adicionar encriptação SSL à nossa aplicação Plausible levará apenas dois comandos.
Primeiro, instale o Certbot e o seu plugin Nginx:
Em seguida, execute o certbot
em modo --nginx
e especifique o mesmo domínio que você usou na configuração do Nginx server_name
:
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, será perguntado se deseja redirecionar todo o tráfego HTTP para HTTPS. A decisão é sua, mas isso geralmente é recomendado e seguro de fazer.
Depois disso, a Let’s Encrypt confirmará o seu pedido e o Certbot irá baixar o 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 captar a nova configuração e os certificados. Recarregue o seu site e ele deverá mudar automaticamente para HTTPS se você escolheu a opção de redirecionamento.
Seu site está agora seguro e é seguro fazer login com os detalhes de usuário padrão que você configurou na Etapa 1. Em seguida, 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 causar 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 ele 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 mensagem para configurar seu primeiro site com o Plausible:
Você instalou e protegeu com sucesso seu software de análise Plausible.
Conclusão
Neste tutorial, você iniciou o aplicativo Plausible Analytics e seus contêineres auxiliares associados usando o Docker Compose, em seguida, configurou um proxy reverso do 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