Metabase là một công cụ kinh doanh thông minh miễn phí và mã nguồn mở có thể được sử dụng để tìm kiếm các tập dữ liệu và hiển thị thông tin. Đây là một công cụ phân tích đơn giản và mạnh mẽ giúp bạn học hỏi từ dữ liệu của công ty mà không cần bất kỳ kiến thức kỹ thuật nào. Nó cho phép bạn tạo biểu đồ và bảng thông tin, đặt truy vấn mà không cần sử dụng SQL và xem thông tin chi tiết về các hàng trong Cơ sở dữ liệu của bạn.
Metabase là lựa chọn phù hợp cho bạn nếu bạn đang tìm kiếm một nền tảng tra cứu cơ sở dữ liệu hiệu suất cao cho doanh nghiệp của mình.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt Metabase trên Ubuntu 20.04 với Nginx và Let's Encrypt SSL.
Sau khi cài đặt thành công, bạn có thể xác minh phiên bản Java bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi máy chủ MariaDB đã được cài đặt, hãy đăng nhập vào shell MariaDB bằng lệnh sau:
Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng cho Metabase bằng lệnh sau:
Tiếp theo, xóa các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, thay đổi thư mục thành /opt/metabase và tải xuống phiên bản Metabase mới nhất bằng lệnh sau:
Tiếp theo, bạn sẽ cần tạo một người dùng và nhóm riêng để chạy Metabase. Bạn có thể tạo chúng bằng lệnh sau:
Tiếp theo, thay đổi quyền sở hữu của /opt/metabase thành metabase và cấp quyền thích hợp bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tải lại daemon systemd bằng lệnh sau:
Tiếp theo, khởi động dịch vụ Metabase và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Bây giờ bạn có thể xác minh trạng thái của Metabase bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Lúc này, Metabase đã được khởi động và đang lắng nghe trên cổng 3000. Bạn có thể kiểm tra bằng lệnh sau:
Bạn sẽ thấy kết quả đầu ra sau:
Sau khi cài đặt Nginx, hãy tạo tệp cấu hình máy chủ ảo Nginx mới bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, kích hoạt máy chủ ảo Nginx bằng lệnh sau:
Tiếp theo, xác minh Nginx xem có lỗi cấu hình nào không bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Lúc này, Nginx được cấu hình để phục vụ Metabase trên cổng 80. Bây giờ bạn có thể tiến hành bước tiếp theo.
Sau khi cài đặt, hãy bảo mật trang web Metabase bằng Let's Encrypt SSL bằng lệnh sau:
Bạn sẽ được yêu cầu cung cấp email và chấp nhận các điều khoản dịch vụ như hiển thị bên dưới:
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Gõ 2 và nhấn Enter để cài đặt Let's Encrypt SSL cho tên miền của bạn.
Bây giờ, trang web Metabase của bạn được bảo mật bằng Let's Encrypt SSL.
Bây giờ, hãy nhấp vào nút Hãy bắt đầu. Bạn sẽ thấy màn hình sau:
Chọn ngôn ngữ mong muốn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:
Cung cấp tên, địa chỉ email, mật khẩu của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình cấu hình cơ sở dữ liệu Metabase:
Cung cấp thông tin cơ sở dữ liệu của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình tùy chọn dữ liệu sử dụng Metabase:
Bật tùy chọn mong muốn của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:
Cung cấp địa chỉ email của bạn và nhấp vào Đưa tôi đến Metabase. Bạn sẽ thấy bảng điều khiển Metabase trong màn hình sau:
Metabase là lựa chọn phù hợp cho bạn nếu bạn đang tìm kiếm một nền tảng tra cứu cơ sở dữ liệu hiệu suất cao cho doanh nghiệp của mình.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt Metabase trên Ubuntu 20.04 với Nginx và Let's Encrypt SSL.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
- Một mật khẩu gốc được định cấu hình cho máy chủ.
Cài đặt Java
Metabase là một ứng dụng dựa trên Java. Vì vậy, Java phải được cài đặt trong máy chủ của bạn. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install openjdk-11-jdk openjdk-11-jre -y
Mã:
java -version
Mã:
openjdk version "11.0.8" 2020-07-14Môi trường thời gian chạy OpenJDK (bản dựng 11.0.8+10-post-Ubuntu-0ubuntu120.04)Máy ảo máy chủ OpenJDK 64-Bit (bản dựng 11.0.8+10-post-Ubuntu-0ubuntu120.04, chế độ hỗn hợp, chia sẻ)
Cài đặt và cấu hình MariaDB
Tiếp theo, bạn sẽ cần cài đặt máy chủ cơ sở dữ liệu MariaDB trong hệ thống của mình. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get install mariadb-server -y
Mã:
mysql
Mã:
MariaDB [(none)]> CREATE DATABASE metabase;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON metabase.* TO 'metabase'@'localhost' IDENTIFIED BY "password";
Mã:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Tải xuống Metabase
Trước tiên, tạo một thư mục cho Metabase bên trong thư mục /opt bằng lệnh sau:
Mã:
mkdir /opt/metabase
Mã:
cd /opt/metabase
wget https://downloads.metabase.com/v0.36.2/metabase.jar
Mã:
addgroup --quiet --system metabase
adduser --quiet --system --ingroup metabase --no-create-home --disabled-password metabase
Mã:
chown -R metabase:metabase /opt/metabase
chmod -R 755 /opt/metabase
Tạo tệp dịch vụ Systemd cho Metabase
Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd để quản lý dịch vụ Metabase. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/systemd/system/metabase.service
Mã:
[Unit]Description=Metabase server[Service]WorkingDirectory=/opt/metabase/ExecStart=/usr/bin/java -jar /opt/metabase/metabase.jarUser=metabaseType=simpleRestart=on-failureRestartSec=10[Install]WantedBy=multi-user.target
Mã:
systemctl daemon-reload
Mã:
systemctl start metabase
systemctl enable metabase
Mã:
systemctl status metabase
Mã:
? metabase.service - Máy chủ Metabase Đã tải: đã tải (/etc/systemd/system/metabase.service; đã tắt; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2020-08-01 10:14:02 UTC; 12 giây trước PID chính: 9650 (java) Nhiệm vụ: 18 (giới hạn: 2353) Bộ nhớ: 150,2M CGroup: /system.slice/metabase.service ??9650 /usr/bin/java -jar /opt/metabase/metabase.jar01 tháng 8 10:14:02 ubuntu2004 systemd[1]: Đã khởi động máy chủ Metabase.01/08 10:14:05 ubuntu2004 java[9650]: 08-01 10:14:05 THÔNG TIN metabase.util :: Đang tải Metabase...01/08 10:14:06 ubuntu2004 java[9650]: 08-01 10:14:06 THÔNG TIN metabase.util :: Bộ nhớ tối đa có sẵn cho JVM: 498,0 MB
Mã:
netstat -tunelp | grep 3000
Mã:
tcp6 0 0 :::3000 :::* LISTEN 109 35366 9650/java
Cấu hình Nginx làm Proxy ngược cho Metabase
Tiếp theo, bạn sẽ cần cấu hình Nginx làm proxy ngược cho Metabase. Trước tiên, hãy cài đặt máy chủ web Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Mã:
nano /etc/nginx/sites-available/metabase.conf
Mã:
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 Nâng cấp $http_upgrade; proxy_set_header Kết nối "nâng cấp"; proxy_set_header Máy chủ $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; }}
Mã:
ln -s /etc/nginx/sites-available/metabase.conf /etc/nginx/sites-enabled/
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Mã:
systemctl restart nginx
Bảo mật Metabase với Let's Encrypt
Trước tiên, bạn sẽ cần cài đặt ứng dụng khách Certbot Lets Encrypt để cài đặt và quản lý SSL cho tên miền của mình. Bạn có thể cài đặt ứng dụng khách Certbot bằng lệnh sau:
Mã:
apt-get install python3-certbot-nginx -y
Mã:
certbot --nginx -d metabase.linuxbuz.com
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator nginx, Installer nginxNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có muốn chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho metabase.linuxbuz.comĐang chờ xác minh...Đang dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/sites-enabled/metabase.conf
Mã:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Mã:
Chuyển hướng tất cả lưu lượng truy cập trên cổng 80 sang ssl trong /etc/nginx/sites-enabled/metabase.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://metabase.linuxbuz.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=metabase.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/metabase.linuxbuz.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/metabase.linuxbuz.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 30-10-2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot renew" - Thông tin đăng nhập tài khoản của bạn đã được lưu trong thư mục cấu hình Certbot tại /etc/letsencrypt. Bây giờ bạn nên sao lưu an toàn thư mục này. Thư mục cấu hình này cũng sẽ chứa các chứng chỉ và khóa riêng tư do Certbot thu thập được, do đó, việc sao lưu thường xuyên thư mục này là lý tưởng. - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le - Chúng tôi không thể đăng ký cho bạn danh sách gửi thư EFF vì địa chỉ email của bạn có vẻ không hợp lệ. Bạn có thể thử lại sau bằng cách truy cập https://act.eff.org.
Truy cập Giao diện web Metabase
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL https://metabase.linuxbuz.com. Bạn sẽ được chuyển hướng đến màn hình chào mừng Metabase như hiển thị bên dưới:Bây giờ, hãy nhấp vào nút Hãy bắt đầu. Bạn sẽ thấy màn hình sau:
Chọn ngôn ngữ mong muốn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:
Cung cấp tên, địa chỉ email, mật khẩu của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình cấu hình cơ sở dữ liệu Metabase:
Cung cấp thông tin cơ sở dữ liệu của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình tùy chọn dữ liệu sử dụng Metabase:
Bật tùy chọn mong muốn của bạn và nhấp vào nút Tiếp theo. Bạn sẽ thấy màn hình sau:
Cung cấp địa chỉ email của bạn và nhấp vào Đưa tôi đến Metabase. Bạn sẽ thấy bảng điều khiển Metabase trong màn hình sau: