NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
14/03/2025
Lượt xem

Cách cài đặt phần mềm phân tích web Umami trên Ubuntu 20.04

14/03/2025
13 phút đọc
Lượt xem

Đánh giá

5/5 - (101 bình chọn)

Umami là một phần mềm phân tích web nhẹ, nhanh và dễ sử dụng, cung cấp cho bạn những thông tin chi tiết về khách truy cập website như nguồn truy cập, hành vi người dùng, và hiệu suất nội dung. Đặc biệt, Umami hoạt động độc lập trên máy chủ của bạn, đảm bảo dữ liệu không bị chia sẻ với bên thứ 3. Trong bài viết này, mình sẽ hướng dẫn bạn cách cài đặt phần mềm phân tích web Umami trên Ubuntu 20.04.

Những điểm chính

  • Giới thiệu về Umami: Một số thông tin về Umami và những tính năng của công cụ này.
  • Yêu cầu cần đáp ứng: Để thực hiện cách cài đặt phần mềm phân tích web Umami trên Ubuntu 20.04, bạn cần một máy chủ Ubuntu 20.04 cài đặt sẵn tường lửa UFW, Docker và Docker Compose cùng một tên miền trỏ tới máy chủ.
  • Các bước thực hiện: Bắt đầu từ việc cài đặt Umami và PostgreSQL với Docker Compose, cài đặt và cấu hình Nginx, cuối cùng là cài đặt Certbot và thiết lập SSL Certificate.
  • Biết đến dịch vụ VPS Vietnix giúp tăng tốc website, bứt phá doanh thu.

Umami là gì?

Umami là một ứng dụng phân tích website mã nguồn mở được phát triển bằng Node.js, cho phép người dùng tự lưu trữ dữ liệu. Ứng dụng này nổi bật với giao diện thân thiện, hiệu năng cao và đặc biệt chú trọng đến quyền riêng tư của người dùng. Dữ liệu thu thập được về lượng truy cập website có thể được lưu trữ trong cơ sở dữ liệu MySQL hoặc PostgreSQL.

Umami là một phần mềm phân tích web mã nguồn mở
Umami là một phần mềm phân tích web mã nguồn mở

Bài viết này, mình sẽ hướng dẫn bạn cách cài đặt ứng dụng Umami và cơ sở dữ liệu PostgreSQL bằng Docker Compose, sau đó cài đặt Nginx (Nginx hoạt động như reverse proxy cho Umami). Cuối cùng bạn sẽ kích hoạt kết nối HTTPS an toàn bằng cách sử dụng Certbot để tải xuống và cấu hình các SSL certificate từ Let’s Encrypt.

Yêu cầu để thực hiện cách cài đặt phần mềm phân tích web Umami trên Ubuntu 20.04

Để làm theo hướng dẫn của bài viết này, trước tiên bạn cần có một máy chủ Ubuntu 20.04 đã bật tường lửa UFW, máy chủ này đã cài đặt Docker và Docker Compose. Ngoài ra còn cần thêm một tên miền trỏ tới địa chỉ IP công khai của máy chủ để kích hoạt SSL.

Nếu bạn đang tìm kiếm một giải pháp máy chủ mạnh mẽ, ổn định và dễ dàng quản lý để triển khai Umami và các ứng dụng web khác, hãy xem xét dịch vụ VPS AMD của Vietnix. Với cấu hình phần cứng mạnh mẽ dựa trên CPU AMD EPYC tốc độ cao, hệ thống bảo mật tiên tiến và hỗ trợ kỹ thuật 24/7, Vietnix sẽ giúp bạn tiết kiệm thời gian và công sức trong việc cài đặt, cấu hình môi trường.

Bước 1: Cài đặt Umami và PostgreSQL với Docker Compose

Đầu tiên, bạn sẽ sao chép kho lưu trữ Umami Git, cập nhật tệp cấu hình docker–compose.yml, sau đó khởi động các container của Umami và PostgreSQL. Sử dụng lệnh cd để chuyển repo vào thư mục /opt :

$ cd /opt

Sau đó sử dụng lệnh git để sao chép repo từ GitHub:

$ sudo git clone https://github.com/mikecao/umami.git

Thao tác trên sẽ đưa tất cả phần mềm và tệp cấu hình vào tệp /opt/umami. Di chuyển vào thư mục umami:

$ cd umami

Bây giờ bạn cần cập nhật tệp docker-compose.yml cho project. Lệnh docker-compose sử dụng tệp này để cấu hình và khởi chạy nhiều Docker container cùng một lúc. Bạn cần thay đổi 2 tùy chọn trong tệp này là IP mà Umami liên kết và một hàm hash ngẫu nhiên được thêm vào khi mã hóa các thành phần trong cơ sở dữ liệu.

Trước khi chỉnh sửa tệp cấu hình docker-compose.yml, hãy tạo một hàm hash ngẫu nhiên để dán vào tệp. Sử dụng lệnh:

$ openssl rand -base64 32
Output
tCgKyCWc/3C9VH+Ex0TysXsGEKQklQXm0H3nSnlR48g=

Lệnh openssl được sử dụng để tạo 32 kí tự ngẫu nhiên. Sao chép output vào khay nhớ tạm và mở tệp cấu hình:

$ sudo nano docker-compose.yml

Tìm tùy chọn HASH_SALT, copy dòng replace_me_with_a_random_string và dán vào hàm băm bạn vừa tạo.

docker-compose.yml
. . .
      HASH_SALT: replace-me-with-a-random-string
. . .

Tiếp theo tìm phần cấu hình port:

docker-compose.yml
. . .
    ports:
      - "127.0.0.1:3000:3000"
. . .

Cập nhật giá trị 3000:3000 bằng cách thêm địa chỉ 127.0.0.1 vào trước 3000:3000. Điều này đảm bảo Umami chỉ lắng nghe trên interface của localhost và không công khai. Mặc dù bạn đã thiết lập firewall UFW, nhưng do cách hoạt động của mạng Docker, nếu bạn không cập nhật giá trị, Umami container của bạn sẽ được truy cập công khai trên port 3000.

Khi hoàn tất thay đổi cấu hình, lưu tệp docker-compose.yml bằng cách nhấn CRL+O, tiếp đến ENTERnano, sau đó thoát bằng CTRL + X.

Để khởi động 2 container của bạn, sử dụng docker-compose:

$ sudo docker-compose up --detach

Cờ –detach yêu cầu docker-compose tạo các container trong nền, được tách ra khỏi session cuối:

Output
. . .
Creating umami_db_1 ... done
Creating umami_umami_1 ... done

Umami và PostgreSQL hiện đang hoạt động. Bạn có thể xác minh bằng lệnh curl để tìm trang chủ của Umami container chạy trên localhost:

$ curl localhost:3000
Output
<!DOCTYPE html><html><head><meta charSet="utf-8"/> . . .

Nếu nhiều output của HTML hiện trên terminal của bạn, server Umami đã hoạt động. Bước tiếp theo là thiết lập Nginx để đảo ngược proxy Umami từ localhost :3000 về chế độ công khai.

Bước 2: Cài đặt và cấu hình Nginx

Đặt một web server (chẳng hạn như Nginx) trước server Node.js có thể cải thiện hiệu suất nhờ giảm tải bộ nhớ đệm, nén và phân phối tệp tĩnh, nhờ đó tạo ra một quy trình hiệu quả. Bạn sẽ cài đặt Nginx và cấu hình thành các yêu cầu proxy tới Umami, nghĩa là Nginx sẽ xử lý các yêu cầu từ người dùng đến Umami và ngược lại.

Trước tiên, refresh danh sách package của bạn, sau đó cài đặt Nginx bằng cách sử dụng apt:

$ sudo apt update
$ sudo apt install nginx

Cho phép luồng lưu lượng truy cập cổng 80 và 443 (HTTP và HTTPS) bằng cách sử dụng cấu hình UFW “Nginx Full”:

$ sudo ufw allow "Nginx Full"
Output
Rule added
Rule added (v6)

Tiếp theo, mở tệp cấu hình Nginx mới trong thư mục /etc/nginx/sites-avaiable. Bạn có thể sử dụng tên khác thay cho umami.conf:

$ sudo nano /etc/nginx/sites-available/umami.conf

Dán phần sau vào tệp cấu hình mới, thay thế your_domain_here bằng miền bạn đã cấu hình để trỏ đến máy chủ Umami. Ví dụ:

/etc/nginx/sites-available/umami.conf
server {
    listen       80;
    listen       [::]:80;
    server_name  your_domain_here;

    access_log  /var/log/nginx/umami.access.log;
    error_log   /var/log/nginx/umami.error.log;

    location / {
      proxy_pass http://localhost:3000;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

Cấu hình này hiện tại chỉ dành cho HTTP, vì Certbot đang đảm nhận việc cấu hình SSL. Phần còn lại của cấu hình thiết lập các vị trí đăng nhập và chuyển tất cả lưu lượng truy cập sang miền http: //localhost : 3000. Lưu và đóng tệp, sau đó kích hoạt cấu hình bằng cách liên kết với /etc/nginx/sites- enabled/ :

$ sudo ln -s /etc/nginx/sites-available/umami.conf /etc/nginx/sites-enabled/

 Sử dụng lệnh nginx-t để kiểm tra cú pháp tệp cấu hình:

$ sudo nginx -t
Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Cuối cùng, tải lại dịch vụ nginx để nhận cấu hình mới:

$ sudo systemctl reload nginx

Hiện tại, trang web Umami của bạn có thể truy cập trên HTTP. Truy cập vào link http : // your_domain_here, bạn sẽ nhận được kết quả sau:

Trang web Umami
Trang web Umami

Vậy là bạn đã thiết lập và chạy trang web Umami qua HTTP, bước tiếp theo chúng ta sẽ bảo mật kết nối bằng Certbot và Let’s Encrypt.

Bước 3: Cài đặt Certbot và thiết lập SSL Certificate

Nhờ có Certbot và Let’s Encrypt, việc thêm mã hóa SSL vào ứng dụng Umami chỉ cần hai lệnh. Đầu tiên là cài đặt Certbot và plugin Nginx :

$ sudo apt install certbot python3-certbot-nginx

Tiếp theo, chạy certbot và trong chế độ --nginx và chỉ định cùng miền bạn sử dụng trong server_name cấu hình Nginx :

$ sudo certbot --nginx -d your_domain_here

Bạn sẽ nhận được thông báo đồng ý với các điều khoản dịch vụ của Let’s Encrypt và nhập địa chỉ email. Sau đó Let’s Encrypt sẽ khuyến nghị bạn chuyển hướng tất cả lưu lượng HTTP sang HTTPS nhằm đảm bảo an toàn khi truy cập. Khi hoàn tất các bước trên, Let’s Encrypt sẽ xác nhận yêu cầu của bạn và Certbot sẽ tải xuống certificate:

Output
Congratulations! You have successfully enabled https://umami.example.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/umami.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/umami.example.com/privkey.pem
   Your cert will expire on 2021-12-06. 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 sẽ tự động tải lại Nginx để nhận cấu hình và certificate mới. Tải lại trang web của bạn trang web sẽ tự động chuyển sang HTTPS nếu bạn đã thay đổi HTTP thành HTTPS. Trang web của bạn hiện đã được bảo mật và bạn có thể đăng nhập an toàn bằng user admin và mật khẩu mặc định umami. Khi đăng nhập lần đầu, bạn sẽ thấy một bảng điều khiển như hình dưới:

Bảng điều khiển Umami
Bảng điều khiển Umami

Như vậy, bạn đã cài đặt và bảo mật thành công ứng dụng Umami.

Tăng tốc website, bứt phá doanh thu với VPS Vietnix

Với 12 năm kinh nghiệm dày dặn và hơn 100.000 dịch vụ đã triển khai thành công, Vietnix mang đến giải pháp VPS tối ưu, đáp ứng mọi nhu cầu của bạn. Vietnix cam kết cung cấp dịch vụ VPS với hiệu suất vượt trội, tính ổn định cao và khả năng bảo mật tuyệt đối. Hạ tầng máy chủ hiện đại, đội ngũ kỹ thuật chuyên nghiệp luôn sẵn sàng hỗ trợ 24/7, Vietnix đảm bảo website và ứng dụng của bạn hoạt động mượt mà, không gián đoạn.

Thông tin liên hệ:

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Hotline: 1800 1093.
  • Email: sales@vietnix.com.vn.
  • Website: https://vietnix.vn/.

Mong rằng với những hướng dẫn trên của mình, bạn đã có thể tự mình cài đặt, khởi chạy ứng dụng Umami và cơ sở dữ liệu PostgreSQL bằng Docker Compose thành công. Umami là một công cụ phân tích web mã nguồn mở tuyệt vời, giúp bạn theo dõi hiệu suất website một cách hiệu quả và bảo mật. Nếu muốn tìm hiểu thêm các thao tác khác với cơ sở dữ liệu trên Linux, bạn có thể xem các bài viết dưới đây của mình:

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Icon tab

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

Vector

PHẦN CỨNG MẠNH MẼ

Vector

HỖ TRỢ 24/7

Vector
ĐĂNG KÝ NGAYGroup icon
khuyến mãi cuối tháng 3
Nhanh tay, số lượng có hạn!
17/03/2025 - 31/03/2025
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG