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
16/06/2023
Lượt xem

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

16/06/2023
12 phút đọc
Lượt xem

Đánh giá

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

Umami là một ứng dụng phân tích trang web mã nguồn mở, tự lưu trữ và được viết bằng Node.js. Ứng dụng này tập trung vào sự đơn giản, nhanh chóng và bảo mật. Bài viết sẽ hướng dẫn cách cài đặt phần mềm phân tích web Umami trên Ubuntu 20.04.

Giới thiệu về Umami

Umami có thể lưu trữ dữ liệu về lượt truy cập trang web của bạn trong cơ sở dữ liệu MySQL hoặc PostgreSQL.

Logo Umami
Logo Umami

Bài viết này 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

Để 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.

Sau khi đã cài đặt đầy đủ các phần mềm cần thiết, bạn có thể cài đặt phần mềm Umami theo các bước sau:

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 cổng 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.

Nếu bạn đang quan tâm đến việc sử dụng phần mềm phân tích trang web Umami trên Ubuntu 20.04 và muốn chia sẻ dữ liệu phân tích của mình với nhiều người dùng hoặc truy cập từ xa, thuê VPS có thể là một lựa chọn tuyệt vời. Vietnix cung cấp một loạt các gói VPS phù hợp với mọi nhu cầu và ngân sách như VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp, VPS NVMe.

Khi sử dụng VPS của Vietnix, bạn sẽ có toàn quyền cài đặt và truy cập Umami từ bất kỳ đâu mà không phụ thuộc vào máy tính cá nhân. Điều này mang lại sự thuận tiện và linh hoạt cho việc quản lý và sử dụng Umami trên Ubuntu 20.04.

Liên hệ trực tiếp với Vietnix để tìm hiểu chi tiết và chọn gói VPS phù hợp với bạn.

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.

Vietnix là nhà cung cấp dịch vụ hosting, VPS tốc độ cao nổi bật với công nghệ chống DDoS độc quyền tại Việt Nam. Với phương châm lấy sự thành công của khách hàng làm mục tiêu phục vụ, Vietnix tập trung vào phát triển hạ tầng, công nghệ nhằm mang đến tốc độ nhanh, tính ổn định cho sản phẩm. Đồng thời nâng cao chất lượng hỗ trợ để mang đến sự hài lòng cho khách hàng.

Những thế mạnh của Vietnix phải kể đến đó là:

  • Vietnix có hơn 11 năm kinh nghiệm trong lĩnh vực cung cấp hosting, VPS.
  • Đồng hành cùng hơn 50.000 khách hàng.
  • Hơn 100.000 dịch vụ đã được kích hoạt.
  • 97% khách hàng sau khi sử dụng dịch vụ đánh giá 5 sao.
  • 89% khách hàng duy trì sử dụng dịch vụ đến thời điểm hiện tại.
  • Đạt giải thưởng Thương hiệu Việt Nam xuất sắc 2022.

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

Lời kết

Trong hướng dẫn này bạn biết cách khởi chạy ứng dụng Umami và cơ sở dữ liệu PostgreSQL bằng Docker Compose. Chúc các bạn cài đặt thành công và đừng quên theo dõi các bài viết tiếp theo của Vietnix.

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

Chọn chủ đề :

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

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

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

ĐĂ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

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

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