GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Metabase Business Analytics en Ubuntu 20.04 LTS

Metabase es una herramienta de inteligencia empresarial gratuita y de código abierto que se puede utilizar para buscar conjuntos de datos y mostrar información. Es una herramienta de análisis simple y poderosa que lo ayuda a aprender de los datos de su empresa sin ningún conocimiento técnico. Le permite generar gráficos y paneles, hacer consultas sin usar SQL y ver información detallada sobre las filas en su base de datos.

Metabase es la opción correcta para usted si está buscando una plataforma de búsqueda de bases de datos de alto rendimiento para su negocio.

En este tutorial, explicaremos cómo instalar Metabase en Ubuntu 20.04 con Nginx y Let's Encrypt SSL.

Requisitos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña de root en el servidor.

Instalar Java

Metabase es una aplicación basada en Java. Entonces Java debe estar instalado en su servidor. Puede instalarlo con el siguiente comando:

apt-get install openjdk-11-jdk openjdk-11-jre -y

Después de una instalación exitosa, puede verificar la versión de Java con el siguiente comando:

java -version

Debería ver el siguiente resultado:

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar y configurar MariaDB

A continuación, deberá instalar el servidor de base de datos MariaDB en su sistema. Puede instalarlo ejecutando el siguiente comando:

apt-get install mariadb-server -y

Una vez que se haya instalado el servidor de MariaDB, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql

Una vez que inicie sesión, cree una base de datos y un usuario para Metabase con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE metabase;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON metabase.* TO 'metabase'@'localhost' IDENTIFIED BY "password";

A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez que haya terminado, puede continuar con el siguiente paso.

Descargar Metabase

Primero, cree un directorio para Metabase dentro del directorio /opt con el siguiente comando:

mkdir /opt/metabase

A continuación, cambie el directorio a /opt/metabase y descargue la última versión de Metabase con el siguiente comando:

cd /opt/metabase
wget https://downloads.metabase.com/v0.36.2/metabase.jar

A continuación, deberá crear un usuario y un grupo separados para ejecutar Metabase. Puede crearlos con el siguiente comando:

addgroup --quiet --system metabase
adduser --quiet --system --ingroup metabase --no-create-home --disabled-password metabase

A continuación, cambie la propiedad de /opt/mebase a metabase y otorgue el permiso adecuado con el siguiente comando:

chown -R metabase:metabase /opt/metabase
chmod -R 755 /opt/metabase

Una vez que haya terminado, puede continuar con el siguiente paso.

Crear un archivo de servicio de Systemd para metabase

A continuación, deberá crear un archivo de servicio systemd para administrar el servicio Metabase. Puedes crearlo con el siguiente comando:

nano /etc/systemd/system/metabase.service

Agregue las siguientes líneas:

[Unit]
Description=Metabase server

[Service]
WorkingDirectory=/opt/metabase/
ExecStart=/usr/bin/java -jar /opt/metabase/metabase.jar
User=metabase
Type=simple
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie el servicio Metabase y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start metabase
systemctl enable metabase

Ahora puede verificar el estado de Metabase con el siguiente comando:

systemctl status metabase

Debería ver el siguiente resultado:

? metabase.service - Metabase server
     Loaded: loaded (/etc/systemd/system/metabase.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-08-01 10:14:02 UTC; 12s ago
   Main PID: 9650 (java)
      Tasks: 18 (limit: 2353)
     Memory: 150.2M
     CGroup: /system.slice/metabase.service
             ??9650 /usr/bin/java -jar /opt/metabase/metabase.jar

Aug 01 10:14:02 ubuntu2004 systemd[1]: Started Metabase server.
Aug 01 10:14:05 ubuntu2004 java[9650]: 08-01 10:14:05 INFO metabase.util :: Loading Metabase...
Aug 01 10:14:06 ubuntu2004 java[9650]: 08-01 10:14:06 INFO metabase.util :: Maximum memory available to JVM: 498.0 MB

En este punto, Metabase se inicia y escucha en el puerto 3000. Puede verificarlo con el siguiente comando:

netstat -tunelp | grep 3000

Debería ver el siguiente resultado:

tcp6       0      0 :::3000                 :::*                    LISTEN      109        35366      9650/java

Configure Nginx como proxy inverso para la metabase

A continuación, deberá configurar Nginx como un proxy inverso para Metabase. Primero, instale el servidor web Nginx con el siguiente comando:

apt-get install nginx -y

Después de instalar Nginx, cree un nuevo archivo de configuración de host virtual de Nginx con el siguiente comando:

nano /etc/nginx/sites-available/metabase.conf

Agregue las siguientes líneas:

upstream metabase {
  server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name metabase.linuxbuz.com;
    access_log /var/log/nginx/metabase.linuxbuz.com-access.log;
    error_log /var/log/nginx/metabase.linuxbuz.com-error.log;

    location / {
        proxy_pass http://metabase/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;

        proxy_redirect off;
    }
}

Guarde y cierre el archivo cuando haya terminado. Luego, active el host virtual Nginx con el siguiente comando:

ln -s /etc/nginx/sites-available/metabase.conf /etc/nginx/sites-enabled/

A continuación, verifique Nginx en busca de cualquier error de configuración con el siguiente comando:

nginx -t

Debería ver el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Finalmente, reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

En este punto, Nginx está configurado para servir Metabase en el puerto 80. Ahora puede continuar con el siguiente paso.

Metabase segura con Let's Encrypt

Primero, deberá instalar el cliente Certbot Lets Encrypt para instalar y administrar SSL para su dominio. Puede instalar el cliente Certbot con el siguiente comando:

apt-get install python3-certbot-nginx -y

Una vez instalado, asegure el sitio web de Metabase con Let's Encrypt SSL con el siguiente comando:

certbot --nginx -d metabase.linuxbuz.com

Se le pedirá que proporcione su correo electrónico y acepte los términos de servicio como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for metabase.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/metabase.conf

A continuación, elija si desea o no redirigir el tráfico HTTP a HTTPS como se muestra a continuación:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escriba 2 y presione Entrar para instalar Let's Encrypt SSL para su dominio.

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/metabase.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://metabase.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=metabase.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/metabase.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/metabase.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-10-30. 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

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Ahora, su sitio web Metabase está protegido con Let's Encrypt SSL.

Acceder a la interfaz web de Metabase

Ahora, abra su navegador web y escriba la URL https://mebase.linuxbuz.com. Será redirigido a la pantalla de bienvenida de Metabase como se muestra a continuación:

Ahora, haga clic en Empecemos botón. Debería ver la siguiente pantalla:

Seleccione el idioma deseado y haga clic en Siguiente botón. Debería ver la siguiente pantalla:

Proporcione su nombre, dirección de correo electrónico, contraseña y haga clic en Siguiente botón. Debería ver la pantalla de configuración de la base de datos Metabase:

Proporcione la información de su base de datos y haga clic en Siguiente botón. Debería ver la pantalla de preferencias de datos de uso de Metabase:

Habilite la opción deseada y haga clic en Siguiente botón. Debería ver la siguiente pantalla:

Proporcione su dirección de correo electrónico y haga clic en Llévame a Metabase . Debería ver el tablero de Metabase en la siguiente pantalla:

Conclusión

¡Felicidades! Ha instalado correctamente Metabase con Nginx y Let's Encrypt SSL en el servidor Ubuntu 20.04. Ahora puede explorar la metabase en busca de nuevas funciones. Siéntase libre de preguntarme si tiene alguna pregunta.


Ubuntu
  1. Cómo instalar Magnolia CMS en Ubuntu 18.04 LTS

  2. Cómo instalar LimeSurvey en Ubuntu 18.04 LTS

  3. Cómo instalar Alfresco CMS en Ubuntu 18.04 LTS

  4. Cómo instalar Minecraft Server en Ubuntu 20.04 LTS

  5. Cómo instalar Apache Maven en Ubuntu 20.04 LTS

Cómo instalar Matomo Web Analytics en Ubuntu 20.04

Cómo instalar Metabase Business Analytics en Ubuntu 18.04 LTS

Cómo instalar Go en Ubuntu 22.04 LTS

Cómo instalar Zulip en Ubuntu 16.04 LTS

Cómo instalar Go en Ubuntu 18.04 LTS

Cómo instalar Open Web Analytics en Ubuntu 18.04 LTS