Metabase je bezplatný a otevřený nástroj business intelligence, který lze použít k vyhledávání souborů dat a zobrazování informací. Je to jednoduchý a výkonný analytický nástroj, který vám pomůže učit se z dat vaší společnosti bez jakýchkoli technických znalostí. Umožňuje vám generovat grafy a řídicí panely, klást dotazy bez použití SQL a zobrazovat podrobné informace o řádcích ve vaší databázi.
Metabase je pro vás správnou volbou, pokud hledáte vysoce výkonnou platformu pro vyhledávání databází pro vaši firmu.
V tomto tutoriálu vysvětlíme, jak nainstalovat Metabázi na Ubuntu 20.04 s Nginx a Let's Encrypt SSL.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat Javu
Metabase je aplikace založená na Javě. Na vašem serveru tedy musí být nainstalována Java. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install openjdk-11-jdk openjdk-11-jre -y
Po úspěšné instalaci můžete ověřit verzi Java pomocí následujícího příkazu:
java -version
Měli byste vidět následující výstup:
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)
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalace a konfigurace MariaDB
Dále budete muset do svého systému nainstalovat databázový server MariaDB. Můžete jej nainstalovat spuštěním následujícího příkazu:
apt-get install mariadb-server -y
Po instalaci serveru MariaDB se přihlaste do prostředí MariaDB pomocí následujícího příkazu:
mysql
Po přihlášení vytvořte databázi a uživatele pro Metabázi pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE metabase;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON metabase.* TO 'metabase'@'localhost' IDENTIFIED BY "password";
Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Stáhnout metabázi
Nejprve vytvořte adresář pro Metabázi v adresáři /opt pomocí následujícího příkazu:
mkdir /opt/metabase
Dále změňte adresář na /opt/metabase a stáhněte si nejnovější verzi Metabase pomocí následujícího příkazu:
cd /opt/metabase
wget https://downloads.metabase.com/v0.36.2/metabase.jar
Dále budete muset vytvořit samostatného uživatele a skupinu pro spuštění Metabáze. Můžete je vytvořit pomocí následujícího příkazu:
addgroup --quiet --system metabase
adduser --quiet --system --ingroup metabase --no-create-home --disabled-password metabase
Dále změňte vlastnictví /opt/metabase na metabázi a udělte správné oprávnění pomocí následujícího příkazu:
chown -R metabase:metabase /opt/metabase
chmod -R 755 /opt/metabase
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Vytvoření souboru služby Systemd pro metabázi
Dále budete muset vytvořit soubor služby systemd pro správu služby Metabáze. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/systemd/system/metabase.service
Přidejte následující řádky:
[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
Uložte a zavřete soubor a poté znovu načtěte démona systemd pomocí následujícího příkazu:
systemctl daemon-reload
Dále spusťte službu Metabáze a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl start metabase
systemctl enable metabase
Nyní můžete ověřit stav metabáze pomocí následujícího příkazu:
systemctl status metabase
Měli byste vidět následující výstup:
? 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
V tomto okamžiku je metabáze spuštěna a naslouchá na portu 3000. Můžete to zkontrolovat pomocí následujícího příkazu:
netstat -tunelp | grep 3000
Měli byste vidět následující výstup:
tcp6 0 0 :::3000 :::* LISTEN 109 35366 9650/java
Nakonfigurujte Nginx jako reverzní proxy pro metabázi
Dále budete muset nakonfigurovat Nginx jako reverzní proxy pro Metabázi. Nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:
apt-get install nginx -y
Po instalaci Nginx vytvořte nový konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:
nano /etc/nginx/sites-available/metabase.conf
Přidejte následující řádky:
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; } }
Po dokončení uložte a zavřete soubor. Poté aktivujte virtuálního hostitele Nginx pomocí následujícího příkazu:
ln -s /etc/nginx/sites-available/metabase.conf /etc/nginx/sites-enabled/
Dále ověřte Nginx, zda neobsahuje nějakou chybu konfigurace pomocí následujícího příkazu:
nginx -t
Měli byste vidět následující výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Nakonec restartujte službu Nginx, aby se změny projevily:
systemctl restart nginx
V tomto okamžiku je Nginx nakonfigurován tak, aby obsluhoval Metabázi na portu 80. Nyní můžete přejít k dalšímu kroku.
Bezpečná metabáze pomocí Let's Encrypt
Nejprve budete muset nainstalovat klienta Certbot Lets Encrypt, abyste mohli nainstalovat a spravovat SSL pro vaši doménu. Klienta Certbot můžete nainstalovat pomocí následujícího příkazu:
apt-get install python3-certbot-nginx -y
Po instalaci zabezpečte web Metabase pomocí Let's Encrypt SSL pomocí následujícího příkazu:
certbot --nginx -d metabase.linuxbuz.com
Budete požádáni, abyste poskytli svůj e-mail a přijali podmínky služby, jak je uvedeno níže:
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
Dále zvolte, zda chcete přesměrovat provoz HTTP na HTTPS, jak je uvedeno níže:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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
Zadejte 2 a stiskněte Enter pro instalaci Let's Encrypt SSL pro vaši doménu.
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.
Nyní je váš web Metabase zabezpečený pomocí Let's Encrypt SSL.
Přístup k webovému rozhraní metabáze
Nyní otevřete webový prohlížeč a zadejte adresu URL https://metabase.linuxbuz.com. Budete přesměrováni na uvítací obrazovku metabáze, jak je znázorněno níže:
Nyní klikněte na Začínáme knoflík. Měli byste vidět následující obrazovku:
Vyberte požadovaný jazyk a klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Zadejte své jméno, e-mailovou adresu, heslo a klikněte na Další knoflík. Měli byste vidět obrazovku konfigurace databáze metabáze:
Zadejte informace o databázi a klikněte na Další knoflík. Měli byste vidět obrazovku předvoleb dat o využití metabáze:
Povolte požadovanou možnost a klikněte na Další knoflík. Měli byste vidět následující obrazovku:
Zadejte svou e-mailovou adresu a klikněte na Přejít do metabáze . Na následující obrazovce byste měli vidět řídicí panel metabáze:
Závěr
Gratulujeme! úspěšně jste nainstalovali Metabase s Nginx a Let's Encrypt SSL na serveru Ubuntu 20.04. Nyní můžete v metabázi prozkoumat nové funkce. Pokud máte nějaké dotazy, neváhejte se mě zeptat.