Kiến thức Hữu ích 😍

Hướng Dẫn Cài Đặt Fathom Analytics Trên Ubuntu 20.04 Hiệu Quả


Đầu tiên, chúng ta cần cài đặt PostgreSQL trên máy chủ Ubuntu của bạn. Mở terminal và chạy lệnh sau để cài đặt:

sudo apt update
sudo apt install postgresql postgresql-contrib

Sau khi cài đặt xong, bạn cần tạo một người dùng và cơ sở dữ liệu riêng cho Fathom Analytics. Điều này giúp tăng cường bảo mật và quản lý dễ dàng hơn. Chuyển sang người dùng postgres để tạo người dùng và cơ sở dữ liệu:

sudo -i -u postgres

Trong môi trường postgres, bạn chạy lệnh psql để vào giao diện dòng lệnh của PostgreSQL:

psql

Bây giờ, hãy tạo một người dùng mới cho Fathom và đặt mật khẩu. Thay thế fathom_useryour_strong_password bằng tên người dùng và mật khẩu mạnh của riêng bạn:

CREATE USER fathom_user WITH PASSWORD 'your_strong_password';

Tiếp theo, tạo một cơ sở dữ liệu mới và cấp quyền cho người dùng fathom_user sở hữu cơ sở dữ liệu đó:

CREATE DATABASE fathom_db OWNER fathom_user;

Thoát khỏi giao diện psql và người dùng postgres:

\q
exit

Bây giờ bạn đã có một cơ sở dữ liệu PostgreSQL sẵn sàng cho Fathom Analytics.

Cài đặt Fathom Analytics bằng Docker hoặc Node.js

Cách được khuyến nghị để cài đặt Fathom Analytics là sử dụng Docker vì nó giúp đóng gói ứng dụng và các phụ thuộc của nó, giúp việc triển khai và quản lý trở nên dễ dàng hơn.

Trước tiên, hãy đảm bảo bạn đã cài đặt Docker và Docker Compose trên hệ thống. Nếu chưa, bạn có thể tham khảo hướng dẫn cài đặt Docker chính thức.

Tạo một thư mục cho Fathom Analytics và di chuyển vào đó:

mkdir fathom-analytics
cd fathom-analytics

Tạo một file docker-compose.yml để định nghĩa dịch vụ Fathom của bạn. Bạn có thể sử dụng trình soạn thảo văn bản yêu thích của mình, ví dụ nano:

nano docker-compose.yml

Dán nội dung sau vào file docker-compose.yml. Hãy nhớ thay thế your_strong_password bằng mật khẩu bạn đã tạo cho người dùng PostgreSQL ở bước trên.

version: '3.8'
services:
  fathom:
    image: usefathom/fathom:latest
    restart: always
    ports:
      - "8080:8080"
    environment:
      - FATHOM_SITE_NAME=Your Site Name
      - FATHOM_DATABASE_URL=postgresql://fathom_user:your_strong_password@db:5432/fathom_db
      - FATHOM_SECRET_KEY=your_very_secret_key
      - FATHOM_DEBUG=false
    depends_on:
      - db
  db:
    image: postgres:13-alpine
    restart: always
    environment:
      - POSTGRES_USER=fathom_user
      - POSTGRES_PASSWORD=your_strong_password
      - POSTGRES_DB=fathom_db
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

Lưu ý quan trọng:

  • Thay thế your_strong_password bằng mật khẩu PostgreSQL thực tế của bạn.
  • Thay thế your_very_secret_key bằng một chuỗi ký tự ngẫu nhiên, mạnh mẽ. Bạn có thể tạo một chuỗi bằng cách sử dụng openssl rand -base64 32.
  • FATHOM_SITE_NAME có thể là tên trang web của bạn.
  • Cổng 8080:8080 nghĩa là Fathom sẽ chạy trên cổng 8080 của máy chủ. Bạn có thể thay đổi cổng đầu tiên nếu muốn.

Lưu và đóng file (Ctrl+X, Y, Enter nếu dùng nano).

Cuối cùng, chạy Fathom Analytics bằng Docker Compose:

docker-compose up -d

Lệnh này sẽ tải xuống các image Docker cần thiết, tạo và khởi chạy các container cho Fathom và PostgreSQL ở chế độ nền. Sau khi quá trình hoàn tất, Fathom Analytics của bạn sẽ bắt đầu hoạt động.

Hình minh họa

Cấu hình và thiết lập ban đầu cho Fathom Analytics

Sau khi Fathom Analytics đã được cài đặt và chạy, bước tiếp theo là cấu hình các thiết lập ban đầu để công cụ hoạt động tối ưu. Điều này bao gồm thiết lập domain, SSL và tùy chỉnh các cài đặt cơ bản.

Thiết lập domain và SSL

Để Fathom Analytics có thể truy cập qua tên miền của bạn và đảm bảo an toàn dữ liệu, việc thiết lập SSL (HTTPS) là rất quan trọng. Bạn có thể sử dụng Nginx hoặc Apache làm reverse proxy để định tuyến lưu lượng truy cập đến Fathom và quản lý chứng chỉ SSL.

Giả sử bạn đang sử dụng Nginx. Đầu tiên, hãy tạo một file cấu hình Nginx mới cho domain của bạn, ví dụ: /etc/nginx/sites-available/fathom.yourdomain.com.

server {
    listen 80;
    server_name fathom.yourdomain.com;

    location / {
        proxy_pass http://localhost:8080; # Cổng Fathom đang chạy
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Sau đó, kích hoạt cấu hình này và kiểm tra Nginx:

sudo ln -s /etc/nginx/sites-available/fathom.yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Để thiết lập SSL, bạn có thể sử dụng Let’s Encrypt với Certbot. Cài đặt Certbot và yêu cầu chứng chỉ:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d fathom.yourdomain.com

Certbot sẽ tự động cấu hình Nginx để sử dụng chứng chỉ SSL. Điều này đảm bảo mọi giao tiếp với Fathom đều được mã hóa, bảo vệ dữ liệu của bạn và người dùng.

Hình minh họa

Tùy chỉnh các thiết lập cơ bản

Khi đã truy cập được Fathom qua trình duyệt (ví dụ: https://fathom.yourdomain.com), bạn sẽ cần thiết lập tài khoản quản trị viên đầu tiên. Fathom sẽ yêu cầu bạn tạo một email và mật khẩu. Đây sẽ là tài khoản duy nhất có quyền truy cập đầy đủ vào dashboard của Fathom.

Sau khi đăng nhập, bạn có thể bắt đầu thêm các trang web cần theo dõi. Trong dashboard, tìm mục “Sites” và thêm URL của trang web bạn muốn phân tích. Fathom sẽ cung cấp cho bạn một đoạn mã theo dõi (tracking code) để bạn dán vào thẻ <head> của trang web đó.

<script src="https://fathom.yourdomain.com/script.js" data-site="YOUR_SITE_ID"></script>

Đảm bảo bạn thay thế https://fathom.yourdomain.com bằng URL Fathom của bạn và YOUR_SITE_ID bằng ID trang web mà Fathom cung cấp.

Bạn cũng có thể cấu hình các báo cáo định kỳ và quản lý quyền truy cập cho các thành viên khác trong nhóm. Fathom cung cấp một giao diện quản trị viên đơn giản để bạn dễ dàng tùy chỉnh các thiết lập này, đảm bảo mọi người có thể xem dữ liệu cần thiết mà không ảnh hưởng đến bảo mật.

Hình minh họa

Kiểm tra và đảm bảo công cụ hoạt động hiệu quả

Sau khi hoàn tất quá trình cài đặt và cấu hình, việc kiểm tra kỹ lưỡng để đảm bảo Fathom Analytics hoạt động chính xác là bước không thể thiếu. Điều này giúp bạn phát hiện và khắc phục sớm các vấn đề tiềm ẩn.

Cách xác nhận Fathom Analytics đã chạy đúng cách

Bước đầu tiên để xác nhận Fathom hoạt động là truy cập vào dashboard của nó thông qua trình duyệt web. Sử dụng địa chỉ IP hoặc tên miền mà bạn đã cấu hình (ví dụ: https://fathom.yourdomain.com). Nếu bạn thấy màn hình đăng nhập hoặc dashboard của Fathom, điều đó có nghĩa là dịch vụ web đã hoạt động.

Tiếp theo, hãy kiểm tra các logs của Docker container hoặc dịch vụ Fathom nếu bạn cài đặt trực tiếp. Để xem logs của Docker container, bạn có thể sử dụng lệnh:

docker-compose logs -f fathom

Kiểm tra xem có bất kỳ thông báo lỗi nào xuất hiện không. Các thông báo như “Fathom server started” hoặc “Database connected” là dấu hiệu tốt. Nếu có lỗi, hãy ghi lại chúng để phục vụ cho việc xử lý sự cố.

Cuối cùng, hãy kiểm tra trạng thái của dịch vụ. Với Docker, bạn có thể dùng docker-compose ps để xem các container đang chạy. Đảm bảo container fathomdb đều ở trạng thái Up. Nếu bạn cài đặt không dùng Docker, hãy kiểm tra trạng thái của dịch vụ bằng systemctl status fathom (tùy thuộc vào cách bạn thiết lập dịch vụ).

Hình minh họa

Xử lý sự cố phổ biến khi khởi động và kết nối

Trong quá trình cài đặt, một số sự cố phổ biến có thể xảy ra. Một trong số đó là lỗi cổng mạng. Đảm bảo rằng cổng mà Fathom đang lắng nghe (mặc định là 8080) không bị các ứng dụng khác chiếm dụng. Bạn có thể kiểm tra bằng lệnh sudo netstat -tulnp | grep 8080. Nếu cần, hãy thay đổi cổng Fathom hoặc giải phóng cổng đang bị chiếm dụng.

Lỗi kết nối cơ sở dữ liệu cũng là một vấn đề thường gặp. Hãy kiểm tra lại DATABASE_URL trong file docker-compose.yml hoặc các biến môi trường của bạn. Đảm bảo tên người dùng, mật khẩu, tên cơ sở dữ liệu và địa chỉ máy chủ (host) của PostgreSQL là chính xác. Hãy nhớ rằng Fathom container cần có khả năng truy cập vào PostgreSQL container (thường thông qua tên dịch vụ db trong Docker Compose).

Các lỗi liên quan đến biến môi trường khác cũng có thể gây ra sự cố. Hãy chắc chắn rằng FATHOM_SECRET_KEY đã được đặt và là một chuỗi ký tự mạnh, ngẫu nhiên. Nếu bạn gặp lỗi không thể truy cập dashboard, hãy kiểm tra lại cấu hình Nginx/Apache của bạn, đặc biệt là các thiết lập proxy_passserver_name. Việc kiểm tra logs của Fathom và reverse proxy sẽ cung cấp thêm thông tin chi tiết về nguyên nhân gây lỗi.

Hình minh họa

Cách theo dõi dữ liệu phân tích web với Fathom

Khi Fathom Analytics đã được cài đặt và hoạt động ổn định, bạn có thể bắt đầu khai thác sức mạnh của nó để theo dõi và hiểu rõ hơn về hoạt động trên trang web của mình. Giao diện người dùng của Fathom được thiết kế tối giản và trực quan, giúp bạn dễ dàng nắm bắt các thông tin quan trọng.

Giao diện dashboard của Fathom cung cấp một cái nhìn tổng quan về các số liệu quan trọng nhất. Ngay khi đăng nhập, bạn sẽ thấy các chỉ số như tổng lượt truy cập (Pageviews), khách truy cập duy nhất (Unique visitors), thời gian trung bình trên trang (Avg. time on site) và tỷ lệ thoát (Bounce rate). Tất cả đều được trình bày một cách rõ ràng, giúp bạn nhanh chóng đánh giá hiệu suất của trang web.

Để đọc các chỉ số chính, bạn chỉ cần nhìn vào các biểu đồ và số liệu hiển thị. Lượt truy cập cho biết tổng số lần các trang trên website của bạn được xem. Khách truy cập duy nhất giúp bạn biết có bao nhiêu người khác nhau đã ghé thăm. Tỷ lệ thoát cao có thể cho thấy người dùng không tìm thấy nội dung họ mong muốn, hoặc trang web chưa đủ hấp dẫn.

Fathom cũng hiển thị các nguồn traffic chính, giúp bạn hiểu khách truy cập đến từ đâu – có thể là từ công cụ tìm kiếm, mạng xã hội, hoặc các trang web giới thiệu khác. Thông tin này rất hữu ích để bạn tối ưu hóa chiến lược marketing và nội dung. Bạn cũng có thể xem các trang được truy cập nhiều nhất (Top pages) và các sự kiện tùy chỉnh (Custom events) nếu bạn đã cấu hình chúng.

Bạn có thể tạo các báo cáo định kỳ bằng cách sao chép dữ liệu từ dashboard hoặc sử dụng API nếu bạn cần tích hợp vào các hệ thống khác. Tuy nhiên, với triết lý tối giản, Fathom tập trung vào việc hiển thị dữ liệu ngay lập tức trên dashboard mà không có các tính năng báo cáo phức tạp như Google Analytics. Điều này giúp bạn tiết kiệm thời gian và tập trung vào những gì thực sự quan trọng.

Hình minh họa

Tối ưu bảo mật và hiệu suất khi sử dụng Fathom Analytics

Việc cài đặt Fathom Analytics chỉ là bước khởi đầu. Để đảm bảo công cụ hoạt động hiệu quả, an toàn và bảo mật dữ liệu, việc tối ưu hóa là vô cùng cần thiết. AZWEB luôn khuyến khích các biện pháp bảo mật chặt chẽ.

Một trong những ưu tiên hàng đầu là luôn sử dụng HTTPS bắt buộc. Như đã đề cập ở phần cấu hình SSL, việc mã hóa tất cả lưu lượng truy cập giữa trình duyệt của người dùng và máy chủ Fathom của bạn là tối quan trọng. Điều này không chỉ bảo vệ dữ liệu phân tích mà còn xây dựng lòng tin với khách truy cập trang web của bạn. Nếu chưa thiết lập, hãy đảm bảo bạn có chứng chỉ SSL hợp lệ và cấu hình chuyển hướng HTTP sang HTTPS.

Tối ưu cấu hình firewall là bước bảo mật cơ bản nhưng hiệu quả. Chỉ mở các cổng mạng cần thiết cho Fathom hoạt động, chẳng hạn như cổng 443 (HTTPS) và 22 (SSH) để quản lý server. Đóng tất cả các cổng không sử dụng để giảm thiểu bề mặt tấn công. Thường xuyên cập nhật hệ điều hành và các gói phần mềm, bao gồm Fathom Analytics, là điều cần thiết để vá các lỗ hổng bảo mật đã biết.

Giới hạn truy cập IP và vai trò người dùng cũng là một biện pháp bảo mật mạnh mẽ. Nếu bạn chỉ muốn truy cập dashboard Fathom từ một số địa chỉ IP nhất định, bạn có thể cấu hình firewall để chỉ cho phép các IP đó. Đối với việc quản lý người dùng, Fathom cho phép bạn tạo nhiều tài khoản với các quyền hạn khác nhau, hãy đảm bảo mỗi người dùng chỉ có quyền truy cập vào những thông tin cần thiết.

Để tăng tốc độ tải và xử lý dữ liệu của Fathom, bạn có thể tối ưu cấu hình cache và database. Đảm bảo PostgreSQL server của bạn được cấu hình tốt, sử dụng đủ RAM và có các chỉ mục (index) cần thiết để truy vấn nhanh chóng. Mặc dù Fathom được thiết kế nhẹ, việc tối ưu cơ sở dữ liệu luôn là một thực hành tốt. Ngoài ra, hãy xem xét các giải pháp caching ở phía reverse proxy (Nginx) để giảm tải cho Fathom backend.

Hình minh họa

Các vấn đề thường gặp và cách khắc phục

Trong quá trình sử dụng Fathom Analytics, đôi khi bạn có thể gặp phải một số vấn đề. Việc hiểu rõ nguyên nhân và cách khắc phục sẽ giúp bạn duy trì hoạt động ổn định của công cụ.

Fathom không kết nối được đến database PostgreSQL

Đây là một trong những sự cố phổ biến nhất. Nguyên nhân thường gặp là do thông tin kết nối cơ sở dữ liệu không chính xác. Đầu tiên, hãy kiểm tra lại DATABASE_URL trong file cấu hình Fathom (hoặc biến môi trường FATHOM_DATABASE_URL trong docker-compose.yml). Đảm bảo rằng tên người dùng, mật khẩu, tên cơ sở dữ liệu và host của PostgreSQL là hoàn toàn chính xác. Một lỗi nhỏ trong mật khẩu hoặc tên người dùng cũng có thể khiến kết nối thất bại.

Thứ hai, hãy kiểm tra xem dịch vụ PostgreSQL có đang chạy hay không. Bạn có thể kiểm tra trạng thái bằng lệnh sudo systemctl status postgresql (nếu cài đặt trực tiếp) hoặc docker-compose ps (nếu dùng Docker Compose). Đảm bảo cổng mặc định của PostgreSQL (5432) không bị chặn bởi tường lửa hoặc bị chiếm dụng bởi ứng dụng khác. Từ Fathom container, hãy thử ping hoặc telnet đến địa chỉ IP và cổng của PostgreSQL để kiểm tra khả năng kết nối mạng.

Hình minh họa

Dashboard không hiển thị dữ liệu hoặc báo lỗi

Nếu dashboard của Fathom không hiển thị dữ liệu hoặc xuất hiện thông báo lỗi, có một vài nguyên nhân có thể xảy ra. Đầu tiên, hãy kiểm tra logs của Fathom để tìm kiếm các thông báo lỗi cụ thể. Như đã hướng dẫn, sử dụng docker-compose logs -f fathom để xem log container Fathom. Các lỗi về cấu hình hoặc runtime sẽ hiển thị ở đây.

Kiểm tra lại tất cả các biến môi trường quan trọng. Đặc biệt là FATHOM_SECRET_KEY phải được đặt và là một giá trị mạnh. Nếu Fathom không có khóa bí mật, nó có thể gặp vấn đề khi khởi tạo. Đảm bảo rằng bạn đã thêm đoạn mã theo dõi (tracking code) của Fathom vào thẻ <head> của tất cả các trang web bạn muốn theo dõi. Nếu mã theo dõi không được triển khai đúng cách, Fathom sẽ không nhận được dữ liệu.

Cuối cùng, kiểm tra quyền truy cập của người dùng Fathom vào cơ sở dữ liệu. Đảm bảo người dùng PostgreSQL mà Fathom sử dụng có đủ quyền để đọc và ghi vào cơ sở dữ liệu fathom_db. Trong trường hợp hiếm hoi, cơ sở dữ liệu có thể bị hỏng, trong trường hợp đó bạn có thể cần khôi phục từ bản sao lưu hoặc tạo lại cơ sở dữ liệu (lưu ý rằng điều này sẽ làm mất dữ liệu cũ).

Hình minh họa

Best Practices khi sử dụng Fathom Analytics

Để tận dụng tối đa Fathom Analytics và đảm bảo hệ thống hoạt động an toàn, hiệu quả, hãy tuân thủ các best practices sau. Đây là những lời khuyên từ AZWEB giúp bạn tránh các rủi ro và tối ưu hóa quy trình.

Điều quan trọng nhất là luôn sao lưu dữ liệu định kỳ. Mặc dù Fathom lưu trữ dữ liệu trong PostgreSQL, bạn cần có một chiến lược sao lưu toàn diện cho cơ sở dữ liệu của mình. Điều này giúp bạn phục hồi dữ liệu trong trường hợp xảy ra sự cố không mong muốn hoặc lỗi hệ thống. Bạn có thể sử dụng các công cụ sao lưu PostgreSQL tự động hoặc thủ công.

Không chia sẻ link dashboard công khai. Dashboard của Fathom chứa dữ liệu phân tích nhạy cảm về website của bạn. Việc công khai đường dẫn này có thể tạo ra rủi ro bảo mật. Luôn giữ địa chỉ URL của dashboard và thông tin đăng nhập ở chế độ riêng tư, chỉ chia sẻ với những người có quyền truy cập cần thiết.

Kiểm tra và cập nhật thường xuyên bản cập nhật mới nhất của Fathom Analytics. Cộng đồng Fathom liên tục phát triển và phát hành các bản vá lỗi, cải tiến tính năng và cập nhật bảo mật. Việc giữ cho Fathom luôn được cập nhật giúp bạn hưởng lợi từ những cải tiến này và bảo vệ hệ thống khỏi các lỗ hổng đã được biết đến.

Cuối cùng, đảm bảo Fathom Analytics tuân thủ các luật bảo mật thông tin người dùng phù hợp với quy định địa phương và quốc tế. Một trong những ưu điểm lớn nhất của Fathom là tôn trọng quyền riêng tư, nhưng bạn vẫn cần đảm bảo website của mình có chính sách quyền riêng tư rõ ràng và tuân thủ các quy định như GDPR, CCPA hoặc các luật khác có liên quan. Fathom không sử dụng cookie theo dõi và không lưu trữ dữ liệu cá nhân, điều này giúp bạn dễ dàng tuân thủ hơn nhiều so với các công cụ phân tích khác.

Kết luận

Việc cài đặt Fathom Analytics trên Ubuntu 20.04 không chỉ là một giải pháp theo dõi trang web hiệu quả mà còn là một bước đi quan trọng trong việc xây dựng lòng tin với người dùng bằng cách tôn trọng quyền riêng tư của họ. Qua bài viết này, AZWEB đã hướng dẫn bạn từng bước một, từ việc giới thiệu về Fathom, kiểm tra yêu cầu hệ thống, cài đặt chi tiết bằng Docker, cấu hình ban đầu, đến cách kiểm tra, theo dõi dữ liệu và các biện pháp tối ưu bảo mật.

Chúng ta đã cùng nhau khám phá lý do tại sao Fathom lại là một lựa chọn tuyệt vời thay thế cho các công cụ phân tích truyền thống, tập trung vào sự đơn giản và bảo mật. Bạn cũng đã nắm được cách thiết lập cơ sở dữ liệu PostgreSQL, triển khai Fathom bằng Docker Compose và cấu hình Nginx với SSL để đảm bảo an toàn. Các vấn đề thường gặp và cách khắc phục cũng đã được đề cập, giúp bạn tự tin hơn trong quá trình quản lý Fathom.

AZWEB khuyến khích bạn thử cài đặt Fathom Analytics ngay hôm nay để cải thiện hiệu quả phân tích web của mình. Với Fathom, bạn có thể dễ dàng nắm bắt các chỉ số quan trọng mà không cần phải lo lắng về sự phức tạp hay các vấn đề bảo mật dữ liệu. Hãy trải nghiệm sự khác biệt mà một công cụ phân tích web đơn giản, minh bạch có thể mang lại cho trang web của bạn.

Nếu bạn cần thêm sự hỗ trợ hoặc muốn nâng cao kỹ năng sử dụng Fathom Analytics, hãy tìm kiếm các nguồn tài nguyên chính thức của Fathom và tham gia vào cộng đồng của họ. Đó là nơi tuyệt vời để học hỏi, trao đổi kinh nghiệm và cập nhật những thông tin mới nhất về công cụ này. AZWEB chúc bạn thành công trên hành trình làm chủ Fathom Analytics!

Đánh giá