Cómo instalar Plausible Analytics en Ubuntu 22.04

Introducción

Plausible Analytics es una aplicación de análisis web alojada en el servidor y de código abierto escrita en Elixir que se centra en la simplicidad y la privacidad. Almacena datos sobre los visitantes de su sitio web en bases de datos PostgreSQL y ClickHouse.

En este tutorial, instalará Plausible mediante Docker Compose y, luego, instalará Nginx para que actúe como proxy inverso para la aplicación Plausible. Por último, habilitará conexiones HTTPS seguras mediante Certbot para descargar y configurar certificados SSL de la autoridad de certificación Let’s Encrypt.

Prerrequisitos

Para completar este tutorial, primero necesitarás lo siguiente:

  • Un servidor Ubuntu 22.04, con el firewall UFW habilitado. Lea nuestra sección Configuración inicial del servidor con Ubuntu 22.04 para obtener más información sobre cómo configurar estos requisitos.
  • Docker instalado. Puede utilizar el Paso 1 de Cómo instalar y usar Docker en Ubuntu 22.04 para realizar esta tarea. Opcionalmente, puede seguir el Paso 2 de ese tutorial si desea que su usuario no root pueda ejecutar dockercomandos sin usarsudo
  • Docker Compose instalado. Siga el paso 1 de Cómo instalar y usar Docker Compose en Ubuntu 22.04 para instalar este software

Nota: estos pasos previos se pueden omitir si está utilizando la imagen de Docker con un solo clic de DigitalOcean . Esta imagen tendrá Docker, Docker Compose y UFW ya instalados y configurados.

Inicie una nueva imagen de Docker en la región que desee, inicie sesión como usuario root y continúe con el tutorial. Opcionalmente, puede omitir sudopartes de todos los comandos, pero no es necesario.

Por último, para habilitar SSL, necesitará un nombre de dominio que apunte a la dirección IP pública de su servidor. Debería ser algo como example.como plausible.example.com, por ejemplo. Si utiliza DigitalOcean, consulte nuestra Guía de inicio rápido de DNS para obtener información sobre cómo crear recursos de dominio en nuestro panel de control.

Cuando haya cumplido todos los requisitos previos, continúe con el Paso 1 , donde descargará e iniciará el software Plausible.

Paso 1: Instalación de Plausible Analytics con Docker Compose

Plausible ha creado un repositorio Git con todos los archivos de configuración necesarios para alojar el software. El primer paso será clonar este repositorio en el servidor, actualizar dos archivos de configuración y, luego, iniciar los contenedores de la aplicación y la base de datos de Plausible.

Inicie sesión en su servidor ahora.

Primero, use el cdcomando para navegar al /optdirectorio:

  1. cd /opt

Luego use el gitcomando para clonar el repositorio de GitHub en un nuevo directorio /optllamado plausible:

  1. sudo git clone https://github.com/plausible/hosting plausible

Esto extraerá todos los archivos de configuración necesarios en /opt/plausible. Muévalos al directorio recién creado:

  1. cd plausible

El primer archivo que debemos editar es plausible-conf.env, un archivo que tiene algunas variables de configuración que debemos establecer.

Antes de abrir el archivo para editarlo, genere un nuevo hash aleatorio:

  1. openssl rand 64 | base64 -w 0 ; echo

Para ello, se utiliza el opensslcomando para generar 64 caracteres aleatorios y el base64comando para codificarlos en base64. Copie el resultado en el portapapeles y abra el archivo de configuración:

  1. sudo nano plausible-conf.env

El archivo contiene cinco variables que deberás completar:

plausible-conf.env

ADMIN_USER_EMAIL=your_email_hereADMIN_USER_NAME=admin_usernameADMIN_USER_PWD=admin_passwordBASE_URL=https://your_domain_hereSECRET_KEY_BASE=paste_your_random_characters_here

Complete el correo electrónico, el nombre de usuario, la contraseña y la URL base, luego pegue los caracteres aleatorios que generó con openssl.

Nota: La contraseña que especifique aquí debe tener al menos seis caracteres. Si está utilizando una dirección IP simple y no un nombre de dominio, asegúrese de anteponerla con http://.

Guarde el archivo ( CTRL+Oluego ENTERen nano) y cierre su editor ( CTRL+X).

Hay más opciones de configuración que puedes agregar a este archivo, pero este conjunto mínimo te permitirá comenzar a trabajar. plausible-conf.envPuedes encontrar más información sobre cómo configurar Plausible en la documentación oficial de alojamiento propio de Plausible Analytics .

Ahora debes actualizar el docker-compose.ymlarchivo. Este archivo es lo que docker-composeusa el comando para configurar y ejecutar varios contenedores Docker. Necesitamos cambiar una opción en este archivo: la IP a la que se vincula Plausible.

  1. sudo nano docker-compose.yml

Busque la sección que define el contenedor Plausible. Comenzará con plausible:. En esa sección, busque la ports:definición y actualícela de la siguiente manera:

docker-compose.yml

    ports:      - 127.0.0.1:8000:8000

Esto garantiza que Plausible solo esté escuchando en la interfaz del host local y no esté disponible públicamente. Aunque tenga configurado un firewall UFW, debido a algunas peculiaridades en el funcionamiento de la red Docker, si no realizó este paso, su contenedor Plausible sería accesible para el público en el puerto 8000y solo queremos que sea accesible a través del proxy Nginx que configurará en el siguiente paso.

Guarde y cierre el docker-compose.ymlarchivo, luego utilícelo docker-composepara descargar, configurar y ejecutar los contenedores:

  1. sudo docker compose up --detach

La --detachbandera indica docker-composeque se creen los contenedores en segundo plano, separados de nuestra sesión de terminal:

Output. . .Starting plausible_plausible_events_db_1 ... doneStarting plausible_plausible_db_1        ... doneStarting plausible_mail_1                ... doneStarting plausible_plausible_1           ... done

El contenedor de la aplicación y todos los contenedores de correo y base de datos que lo respaldan deberían estar ejecutándose ahora. Puede verificar esto usando el curlcomando para obtener la página de inicio de su nuevo contenedor Plausible ejecutándose en localhost :

  1. curl http://localhost:8000
OutputhtmlbodyYou are being a href="/login"redirected/a./body/html

Si se envía algún código HTML a su terminal, sabrá que el servidor está en funcionamiento.

A continuación, configuraremos Nginx para que haga de proxy inverso de Plausible localhost:8000al público.

Paso 2: Instalación y configuración de Nginx

Colocar un servidor web como Nginx delante de su servidor Elixir puede mejorar el rendimiento al descargar el almacenamiento en caché, la compresión y el servicio de archivos estáticos a un proceso más eficiente. Vamos a instalar Nginx y configurarlo para que envíe solicitudes a Plausible mediante proxy inverso , lo que significa que se encargará de entregar las solicitudes de sus usuarios a Plausible y viceversa.

Primero, actualice su lista de paquetes, luego instale Nginx usando apt:

  1. sudo apt update
  2. sudo apt install nginx

Permitir tráfico público a puertos 80y 443(HTTP y HTTPS) utilizando el perfil de aplicación UFW “Nginx Full”:

  1. sudo ufw allow "Nginx Full"
OutputRule addedRule added (v6)

A continuación, abra un nuevo archivo de configuración de Nginx en el /etc/nginx/sites-availabledirectorio. Lo llamaremos así, plausible.confpero puede utilizar un nombre diferente:

  1. sudo nano /etc/nginx/sites-available/plausible.conf

Pegue lo siguiente en el nuevo archivo de configuración y asegúrese de reemplazarlo your_domain_herepor el dominio que ha configurado para apuntar a su servidor Plausible. Debería ser algo como plausible.example.com, por ejemplo:

/etc/nginx/sites-available/plausible.conf

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;  }}

Por ahora, esta configuración es solo para HTTP, ya que dejaremos que Certbot se encargue de configurar SSL en el siguiente paso. El resto de la configuración establece las ubicaciones de registro y luego pasa todo el tráfico a http://localhost:8000, la instancia de Plausible que iniciamos en el paso anterior.

Guarde y cierre el archivo, luego habilite la configuración vinculándolo a /etc/nginx/sites-enabled/:

  1. sudo ln -s /etc/nginx/sites-available/plausible.conf /etc/nginx/sites-enabled/

Utilice nginx -tpara verificar que la sintaxis del archivo de configuración sea correcta:

  1. sudo nginx -t
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful

Y por último, recarga el nginxservicio para recoger la nueva configuración:

  1. sudo systemctl reload nginx

Tu sitio Plausible ahora debería estar disponible en HTTP simple. Cárgalo y se verá así:http://your_domain_here

Ahora que su sitio está funcionando a través de HTTP, es momento de asegurar la conexión con los certificados Certbot y Let’s Encrypt.

Paso 3: Instalación de Certbot y configuración de certificados SSL

Gracias a Certbot y a la autoridad de certificación gratuita Let’s Encrypt, agregar el cifrado SSL a nuestra aplicación Plausible solo requerirá dos comandos.

Primero, instale Certbot y su complemento Nginx:

  1. sudo apt install certbot python3-certbot-nginx

A continuación, ejecute certbotel --nginxmodo y especifique el mismo dominio que utilizó en la server_nameconfiguración de Nginx:

  1. sudo certbot --nginx -d your_domain_here

Se le pedirá que acepte los términos de servicio de Let’s Encrypt y que ingrese una dirección de correo electrónico.

Luego, se te preguntará si deseas redirigir todo el tráfico HTTP a HTTPS. Depende de ti, pero en general es una opción recomendada y segura.

Después de eso, Let’s Encrypt confirmará tu solicitud y Certbot descargará tu certificado:

OutputCongratulations! You have successfully enabled https://plausible.example.comYou 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

Certbot recargará automáticamente Nginx para adoptar la nueva configuración y los certificados. Recargue su sitio y debería cambiarlo a HTTPS automáticamente si eligió la opción de redireccionamiento.

Ahora su sitio es seguro y puede iniciar sesión con los datos de usuario predeterminados que configuró en el Paso 1. Luego, se le solicitará que verifique su registro y se le enviará un código de verificación por correo electrónico a la dirección que configuró.

De forma predeterminada, este correo electrónico se envía directamente desde su servidor, lo que puede generar problemas debido a las diversas medidas de prevención de correo no deseado. Si no recibe el correo electrónico, revise su carpeta de correo no deseado. Si tampoco está allí, es posible que deba configurar detalles SMTP más adecuados en el plausible-conf.envarchivo. Consulte la documentación oficial de alojamiento propio de Plausible para obtener detalles sobre la configuración del correo.

Cuando inicie sesión correctamente, verá un mensaje para configurar su primer sitio web con Plausible:

Ha instalado y protegido correctamente su software de análisis Plausible.

Conclusión

En este tutorial, lanzó la aplicación Plausible Analytics y sus contenedores auxiliares asociados usando Docker Compose, luego configuró un proxy inverso Nginx y lo protegió usando certificados SSL Let’s Encrypt.

Ya está listo para configurar su sitio web y agregar el script de seguimiento de Plausible Analytics. Consulte la documentación oficial de Plausible Analytics para obtener más información sobre el uso del software y la configuración de su sitio.

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio