Cómo instalar Umami Privacy Analytics en Ubuntu 24.04
Umami es una plataforma de analítica web gratuita y de código abierto escrita en Nodejs. Es fácil de usar e instalar y proporciona una interfaz de usuario amigable. Está construida sobre la privacidad como alternativa a servicios como Google Analytics. Te permite desplegar tu analítica web en tu servidor con tus propias opciones de base de datos, que pueden ser PostgreSQL o MySQL.
En esta guía, aprenderás a instalar la analítica centrada en la privacidad Umami en el servidor Ubuntu 24.04.
Requisitos previos
Para completar esta guía, asegúrate de que tienes
- Un servidor Ubuntu 24.04.
- Un usuario no root con privilegios de administrador.
- Un nombre de dominio apuntando a una dirección IP del servidor.
Instalación de dependencias
Umami es una analítica web centrada en la privacidad escrita en JavaScript y Node.js. Admite MySQL/MariaDB y PostgreSQL como base de datos. En esta sección, instalarás las dependencias para Umami, incluyendo Node.js, NPM, PostgreSQL, el servidor web Apache y Git.
Primero, ejecuta el siguiente comando para actualizar tu lista de paquetes de Ubuntu.
sudo apt update
Ahora ejecuta el siguiente comando para instalar dependencias como Node.js, NPM, Python, Git y PostgreSQL. Introduce Y
para confirmar la instalación.
sudo apt install nodejs npm git apache2 postgresql
Una vez finalizada la instalación, comprueba el servicio Apache con lo siguiente.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
En la siguiente imagen, puedes ver que Apache se está ejecutando y está habilitado.
Ahora comprueba el servidor PostgreSQL con el siguiente comando.
sudo systemctl is-enabled postgresql sudo systemctl status postgresql
Verás el servicio PostgreSQL enabled
y active(exited)
.
Por último, comprueba la versión de Node.js y NPM con el siguiente comando:
nodejs --version npm --version
Puedes ver que Node.js 18.19 y NPM 9.2 están instalados.
Configurar la base de datos PostgreSQL y el usuario
Una vez que hayas instalado las dependencias, crearás una nueva base de datos PostgreSQL y un nuevo usuario para Umami. Utilizarás la shell PostgreSQL psql
para crear una nueva base de datos y un nuevo usuario.
Accede al servidor PostgreSQL con el siguiente comando:
sudo -u postgres psql
Ahora ejecuta las siguientes consultas para crear un nuevo usuario umami
y la base de datos umamidb
. Asegúrate de cambiar la siguiente contraseña con tus datos.
CREATE ROLE umami LOGIN ENCRYPTED PASSWORD 'password'; CREATE DATABASE umamidb OWNER=umami;
A continuación, comprueba la lista de bases de datos y usuarios disponibles con las siguientes consultas. Verás el usuario umami
con la base de datos umamidb
disponible en tu servidor PostgreSQL.
\du \l
Por último, escribe q
para salir del servidor PostgreSQL.
Instalación de umami
En esta sección, instalarás el gestor de paquetes yarn
, descargarás el código fuente de Umami e instalarás las dependencias de JavaScript con yarn
, y luego compilarás e iniciarás Umami desde la línea de comandos.
Ejecuta el siguiente comando para instalar el gestor de paquetes yarn
.
npm install -g yarn
Crea un nuevo usuario y grupo del sistema umami
con el comando siguiente.
sudo adduser --system --group --no-create-home --shell /sbin/nologin umami
Ahora ejecuta el siguiente comando git
para descargar el código fuente de Umami al directorio /var/www/umami
y entra en él.
git clone https://github.com/umami-software/umami.git /var/www/umami cd /var/www/umami
A continuación, ejecuta el siguiente comando yarn
para instalar las dependencias de JavaScript para Umami.
yarn install
A continuación puedes ver la instalación de las dependencias JavaScript para Umami.
Ahora, crea un nuevo archivo .env
con el siguiente editor nano
.
nano .env
Añade lo siguiente para configurar PostgreSQL como base de datos del Umami.
DATABASE_URL=postgresql://umami:StrongPasswordUmami@localhost:5432/umamidb
Guarda el archivo y sal de él cuando hayas terminado.
A continuación, ejecuta el siguiente comando para compilar Umami.
yarn build
Al terminar, inicia Umami con el siguiente comando – Esto iniciará Umami en el puerto 3000:
yarn start
Abre tu navegador web y visita http://SERVER-IP:3000/. Si la instalación se ha realizado correctamente, verás el inicio de sesión de Umami como el siguiente:
Vuelve al servidor terminal y pulsa Ctrl+c
para finalizar el proceso.
Por último, ejecuta el siguiente comando para cambiar la propiedad del directorio /var/www/umami
al usuario umami
.
sudo chown -R umami:umami /var/www/umami
Ejecutar umami como un servicio systemd
En esta guía, ejecutarás umami como un servicio systemd en segundo plano. Así que ahora crearás un nuevo archivo de servicio para Umami.
Crea un nuevo archivo de servicio systemd /etc/systemd/system/umami.service
con el siguiente comando del editor nano
.
sudo nano /etc/systemd/sistema/umami.service
Introduce en el archivo la configuración que aparece a continuación.
[Unit]
Description=Umami Website Analytics
After=network.target postgresql.service
[Service]
Type=simple
ExecStart=/usr/bin/npm start
Restart=always
# Consider creating a dedicated user for umami here:
User=umami
Group=umami
#Environment=NODE_ENV=production
WorkingDirectory=/var/www/umami
[Install]
WantedBy=multi-user.target
Cuando hayas terminado, guarda el archivo y sal de él.
Ahora ejecuta el siguiente comando para recargar el gestor systemd y aplicar el nuevo servicio umami.service
.
sudo systemctl daemon-reload
Por último, ejecuta el siguiente comando para iniciar, habilitar y verificar el estado de umami.service
.
sudo systemctl enable --now umami sudo systemctl status umami
Como puedes ver a continuación, el umami.service
está habilitado y en ejecución. Y por defecto, ejecutándose en el puerto 3000
.
Configurar Apache como proxy inverso
Ahora que Umami se está ejecutando en segundo plano, deberás configurar Apache como proxy inverso para Umami.
En primer lugar, ejecuta el siguiente comando para habilitar los módulos de Apache que se utilizarán como proxy inverso.
sudo a2enmod proxy proxy_http ssl rewrite headers
Ahora, crea un nuevo archivo de host virtual de Apache /etc/apache2/sites-available/umami.conf
con el editor nano
.
sudo nano /etc/apache2/sitios-disponibles/umami.conf
Añade la configuración que aparece a continuación y asegúrate de cambiar la opción ServerName
por tu nombre de dominio.
<VirtualHost *:80>
ServerName analytics.hwdomain.io
Options -Indexes
ProxyRequests on
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
Guarda el archivo y sal de él cuando hayas terminado.
A continuación, ejecuta el siguiente comando para activar el archivo de host virtual umami.conf
y verifica la sintaxis de tu Apache. Si tu sintaxis es correcta, verás una salida Syntax is OK
.
sudo a2ensite umami.conf sudo apachectl configtest
Por último, reinicia el servidor web Apache para aplicar tus cambios utilizando el siguiente comando.
sudo systemctl restart apache2
Configurar UFW
Antes de configurar UFW, asegúrate de que está en funcionamiento. En esta sección, habilitarás el perfil Apache Full
para permitir el acceso HTTP y HTTPS.
Ejecuta el siguiente comando para abrir los puertos HTTP y HTTPS a través del perfil UFW Apache Full
.
sudo ufw allow 'Apache Completo'
Ahora vuelve a cargar UFW y comprueba su estado con el comando siguiente. Verás que UFW es active
con el perfil Apache Full
activado.
sudo ufw estado
Asegurar Umami con HTTPS
Para asegurar Umami, utilizarás HTTPS. En esta sección, generarás certificados SSL/TLS a través de letsencrypt. Los usuarios del dominio local pueden utilizar certificados autofirmados.
Instala certbot
y python3-certbot-apache
con el siguiente comando. Introduce Y
para confirmar la instalación.
sudo apt install certbot python3-certbot-apache
Ahora ejecuta el siguiente comando certbot
para generar certificados SSL/TLS para el Umami. Asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico con tu información.
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d analytics.hwdomain.io
Una vez completado el proceso, tus certificados SSL estarán disponibles en el directorio /etc/letsencrypt/live/domain.com
, y tu instalación de Umami debería estar protegida con HTTPS.
Acceder al Umami
Abre tu navegador web y visita https://analytics.hwdomain.io/ para acceder a tu instalación de Umami. Inicia sesión con el usuario por defecto admin
y la contraseña umami
.
Si tienes éxito, verás el panel de Umami como el siguiente:
Para añadir nuevas analíticas para tus sitios web, haz clic en el botón Sitios web > Añadir sitios web. Para cambiar la contraseña por defecto, haz clic en Configuración > Usuarios > Editar.
Conclusión
¡Enhorabuena! Has instalado la analítica centrada en la privacidad Umami en el servidor Ubuntu 24.04. Umami se está ejecutando con el servidor PostgreSQL y Apache como proxy inverso. Además, has asegurado Umami con HTTPS a través de certbot y letsencrypt.