Cách cài đặt Fathom Privacy-Focused Website Analytics trên Debian 11

theanh

Administrator
Nhân viên
Fathom là công cụ phân tích web tập trung vào quyền riêng tư, cung cấp dữ liệu rõ ràng và súc tích về các trang web của bạn. Đây là phần mềm phân tích trang web đơn giản cung cấp báo cáo và số liệu chuyên sâu về các trang web của bạn. Fathom được tạo ra như một giải pháp thay thế cho Google Analytics, nhưng không xâm phạm quyền riêng tư của người dùng và không làm tổn hại đến dữ liệu của khách truy cập. Fathom tuân thủ GDPR, không yêu cầu biểu ngữ cookie.

Fathom có hai phiên bản, phiên bản nguồn mở có thể cài đặt trên máy chủ của bạn và phiên bản chuyên nghiệp mà bạn có thể mua từ trang web chính thức của Fathom. Những người dùng phân tích trang web Fathom đáng chú ý là IBM, Laravel, GitHub, Hoshicord, BOSCH, McLaren, VueJS và nhiều người khác nữa.

Hướng dẫn này chỉ cho bạn cách cài đặt Fathom Privacy-Focused Website Analytics trên máy chủ Debian 11. Bạn sẽ thực hiện cài đặt Fathom với PostgreSQL làm cơ sở dữ liệu, máy chủ web Nginx làm proxy ngược và cũng bảo mật Fathom bằng chứng chỉ SSL/TLS thông qua Certbot và Letsencrypt.

Trong quá trình thực hiện, bạn cũng sẽ tìm hiểu cách thiết lập xác thực trên PostgreSQL, tạo cơ sở dữ liệu và người dùng, cũng như thêm các dịch vụ systemd vào hệ thống Linux.

Điều kiện tiên quyết​

Để hoàn thành hướng dẫn này, bạn phải có các yêu cầu sau:
  • Máy chủ Debian 11 - Ví dụ này sử dụng máy chủ Debian có tên máy chủ 'fathome-server'.
  • Người dùng không phải root có quyền quản trị viên sudo/root.
  • Tên miền trỏ đến địa chỉ IP của máy chủ - Ví dụ này sử dụng tên miền phụ 'fathom.howtoforge.local'.
Vậy là xong. Hãy bắt đầu cài đặt Fathom.

Cài đặt PostgreSQL Server​

Fathom là một công cụ phân tích web đơn giản tập trung vào quyền riêng tư được xây dựng bằng Golang Preact. Trên cài đặt mặc định, Fathom sử dụng SQLite làm cơ sở dữ liệu, nhưng cũng có thể sử dụng RDBMS như MySQL/MariaDB và PostgreSQL.

Trong ví dụ này, bạn sẽ chạy Fathom với PostgreSQL. Vì vậy, bây giờ bạn sẽ cài đặt và cấu hình PostgreSQL trên máy chủ Debian của mình.

Để bắt đầu, hãy chạy lệnh apt bên dưới để cập nhật và làm mới chỉ mục gói Debian của bạn.
Mã:
sudo apt update
Bây giờ hãy cài đặt các gói PostgreSQL thông qua lệnh apt bên dưới. Lệnh này sẽ cài đặt gói máy chủ PostgreSQL mặc định từ kho lưu trữ Debian 11, đó là PostgreSQL 13.
Mã:
sudo apt install postgresql
Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22707%22%20height=%22301%22%3E%3C/svg%3E


Sau khi PostgreSQL được cài đặt, bạn sẽ được yêu cầu để thiết lập xác thực cho máy chủ. Để thực hiện điều này, bạn cần sửa đổi các tệp cấu hình PostgreSQL có sẵn trong thư mục '/etc/postgresql/13/main/' (mặc định là PostgreSQL trên Debian).

Mở tệp '/etc/postgresql/13/main/postgresql.conf' bằng trình soạn thảo văn bản/mã bạn thích. Ví dụ này sử dụng nano làm trình soạn thảo mặc định.
Mã:
sudo nano /etc/postgresql/13/main/postgresql.conf
Bỏ chú thích tham số 'password_encryption' và thay đổi giá trị mặc định thành 'scram-sha-256'.
Mã:
password_encryption = scram-sha-256
Lưu và đóng Tệp '/etc/postgresql/13/main/postgresql.conf' khi hoàn tất. Đối với người dùng nano, hãy nhấn Ctrl+x, sau đó nhấn y và nhấn ENTER.

Tiếp theo, hãy mở tệp cấu hình xác thực PostgreSQL '/etc/postgresql/13/main/pg_hba.conf' bằng trình soạn thảo nao sau.
Mã:
sudo nano /etc/postgresql/13/main/pg_hba.conf
Thay đổi phương thức xác thực mặc định cho máy chủ '127.0.0.1/32' và '::1/128' thành 'scram-sha-256'. Điều này sẽ chỉ định phương thức xác thực sử dụng 'scram-sha-256' cho bất kỳ kết nối nào từ máy chủ cục bộ đến máy chủ PostgreSQL.

Khi sử dụng tham số '-h 127.0.0.1', bạn sẽ được kết nối với PostgreSQL dưới dạng máy chủ và sẽ sử dụng xác thực scram-sha-256. Khi bạn chỉ sử dụng lệnh 'psql' mà không chỉ định máy chủ PostgreSQL, bạn sẽ được kết nối dưới dạng kết nối cục bộ và sử dụng phương thức xác thực 'peer'.
Mã:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
Lưu và đóng tệp '/etc/postgresql/13/main/pg_hba.conf' khi bạn hoàn tất.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22747%22%20height=%22206%22%3E%3C/svg%3E


Tiếp theo, chạy tiện ích lệnh systemctl bên dưới để khởi động lại máy chủ PostgreSQL và áp dụng các thay đổi.
Mã:
sudo systemctl restart postgresql
Sau đó, xác minh máy chủ PostgreSQL để đảm bảo rằng nó đã được bật và đang chạy.
Mã:
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql
Nếu PostgreSQL đang chạy và được bật, bạn sẽ thấy đầu ra trên thiết bị đầu cuối của mình.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22178%22%3E%3C/svg%3E


Khi máy chủ PostgreSQL đang chạy và được bật, sau đó bạn sẽ bắt đầu tạo cơ sở dữ liệu PostgreSQL và người dùng mới cho Fathom web analytics.

Thiết lập Cơ sở dữ liệu và Người dùng PostgreSQL​

Trong bước này, bạn sẽ thiết lập mật khẩu cho người dùng PostgreSQL mặc định 'postgres' thông qua shell PostgreSQL. Sau đó, bạn sẽ tạo một cơ sở dữ liệu và người dùng mới sẽ được sử dụng để cài đặt Fathom web analytics.

Đăng nhập vào shell PostgreSQL thông qua lệnh bên dưới. Với lệnh 'sudo -u postgres 'psql', điều đó có nghĩa là bạn sẽ thực thi lệnh 'psql' với tư cách là người dùng 'postgres'.
Mã:
cd /var/lib/postgresql
sudo -u postgres psql
Sau khi đăng nhập, bạn sẽ được kết nối với cơ sở dữ liệu 'postgres' mặc định và dấu nhắc PostgreSQL của bạn sẽ trở thành 'postgres=#'.

Bây giờ hãy chạy truy vấn bên dưới để tạo mật khẩu mới cho người dùng PostgreSQL mặc định 'postgres'. Hãy chắc chắn thay đổi mật khẩu trong truy vấn sau.
Mã:
ALTER USER postgres WITH PASSWORD 'PostgresP@ssw0rd';

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22624%22%20height=%22206%22%3E%3C/svg%3E


Tiếp theo, chạy các truy vấn PostgreSQL sau để tạo người dùng và cơ sở dữ liệu PostgreSQL mới. Trong ví dụ này, bạn sẽ tạo một người dùng PostgreSQL mới 'fathom' với cơ sở dữ liệu 'fathomdb'.
Mã:
CREATE USER fathom WITH CREATEDB CREATEROLE PASSWORD 'p4ssw0rdFathom';
CREATE DATABASE fathomdb OWNER fathom;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22139%22%3E%3C/svg%3E


Cuối cùng, hãy chạy truy vấn bên dưới để xác minh danh sách cơ sở dữ liệu và người dùng trên PostgreSQL của bạn máy chủ.
Mã:
\l
\du
Liệt kê các cơ sở dữ liệu trên máy chủ PostgreSQL thông qua truy vấn '\l' -Và bạn có thể thấy cơ sở dữ liệu mới 'fathomdb' đã được tạo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22231%22%3E%3C/svg%3E


Liệt kê người dùng trên PostgreSQL thông qua '\du' truy vấn - Bạn có thể thấy người dùng PostgreSQL mới 'fathom' được thêm vào PostgreSQL.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22151%22%3E%3C/svg%3E


Lúc này, bạn đã cài đặt và cấu hình máy chủ PostgreSQL. Ở bước tiếp theo, bạn sẽ bắt đầu cài đặt Fathom.

Tải xuống Fathom Binary​

Fathom là một ứng dụng nhỏ và đơn giản được viết bằng Go và được cung cấp dưới dạng một tệp nhị phân duy nhất mà bạn có thể chạy bất kỳ lúc nào trên hệ thống Linux của mình.

Bây giờ bạn sẽ tải Fathom xuống máy chủ Debian của mình.

Truy cập trang phát hành Fathom trên GitHub và chọn phiên bản ưa thích để cài đặt. Ví dụ này sẽ sử dụng phiên bản Fathom mới nhất v1.3.0, đây là phiên bản mới nhất tại thời điểm viết bài này.

Tải xuống tệp nhị phân Fathom bằng lệnh wget bên dưới.
Mã:
wget https://github.com/usefathom/fathom/releases/download/v1.3.0-rc.1/fathom_1.3.0-rc.1_linux_amd64.tar.gz
Sau khi tải xuống, hãy chạy lệnh tar bên dưới để giải nén Fathom vào thư mục '/usr/local/bin'. Sau đó, thực thi tệp nhị phân 'fathom' thông qua lệnh chmod.
Mã:
tar -C /usr/local/bin -xzf fathom_1.3.0-rc.1_linux_amd64.tar.gz
chmod +x /usr/local/bin/fathom
Cuối cùng, lệnh bên dưới để đảm bảo rằng bạn có thể thực thi tệp nhị phân 'fathom'. Sau đó, hãy xác minh phiên bản 'fathom'.
Mã:
which fathom
fathom --version
Khi lệnh thành công, bạn sẽ thấy đường dẫn đầy đủ của tệp nhị phân 'fathom' '/usr/local/bin/fathom'. Ngoài ra, bạn sẽ thấy phiên bản Fathom trên thiết bị đầu cuối của mình.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22253%22%3E%3C/svg%3E


Sau khi tải Fathom về, bạn sẽ cấu hình cài đặt Fathom web analytics.

Cấu hình Fathom Web Analytics​

Trong bước này, bạn sẽ thiết lập cài đặt Fathom web analytics. Bạn sẽ thiết lập thư mục dữ liệu, thiết lập cơ sở dữ liệu PostgreSQL với Fathom và cuối cùng, bạn sẽ chạy Fathom như một dịch vụ systemd.

Bằng cách chạy Fathom như một dịch vụ systemd, bạn có thể dễ dàng quản lý Fathom thông qua tiện ích lệnh systemctl. Bạn có thể khởi động, bật và xác minh trạng thái của Fathom thông qua systemctl.

Trước tiên, hãy chạy lệnh bên dưới để tạo người dùng mới 'fathom' trên hệ thống Debian của bạn. Ngoài ra, hãy đảm bảo thiết lập mật khẩu cho người dùng mới của bạn.
Mã:
sudo useradd -m -s /bin/bash fathom
sudo passwd fathom
Bây giờ hãy chạy lệnh bên dưới để đăng nhập vào người dùng mới 'fathom' và bắt đầu cấu hình cài đặt Fathom.
Mã:
su - fathom

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22579%22%20height=%22202%22%3E%3C/svg%3E


Đầu tiên, hãy chạy lệnh bên dưới để tạo một chuỗi ngẫu nhiên sẽ được sử dụng làm 'FATHOM_SECRET'. Hãy đảm bảo sao chép đầu ra đã tạo.
Mã:
head /dev/urandom | tr -dc A-Za-z0-9 | head -c 20 ; echo ''
Bây giờ hãy tạo một thư mục '~/data' mới và di chuyển thư mục làm việc vào đó. Sau đó, tạo một tệp mới '.env' thông qua lệnh trình chỉnh sửa nano bên dưới.
Mã:
mkdir -p ~/data; cd ~/data
nano .env
Thêm các dòng sau vào tệp. Hãy đảm bảo thay đổi các chi tiết của cơ sở dữ liệu PostgreSQL và người dùng, đồng thời thay thế 'FATHOM_SECRET" bằng chuỗi bạn tạo ở trên cùng.

Ngoài ra, nếu bạn đang chạy Fathomn trên môi trường sản xuất, hãy đảm bảo thay đổi 'FATHOM_DEBUG' thành 'false'. Bạn cũng có thể đặt 'FATHOM_DATABASE_SSLMODE' nếu bạn đang sử dụng cơ sở dữ liệu có kết nối SSL/TLS an toàn. Ví dụ này sử dụng cùng một máy chủ với Fathom, vì vậy 'FATHOM_DATABASE_SSLMODE' được đặt thành 'vô hiệu hóa'.
Mã:
FATHOM_GZIP=true
FATHOM_DEBUG=true
FATHOM_DATABASE_DRIVER="postgres"
FATHOM_DATABASE_NAME="fathomdb"
FATHOM_DATABASE_USER="fathom"
FATHOM_DATABASE_PASSWORD="p4ssw0rdFathom"
FATHOM_DATABASE_HOST="127.0.0.1"
FATHOM_DATABASE_SSLMODE="disable"
FATHOM_SECRET="13tUIGpjCY9miJcSWW6S"
Lưu và đóng tệp '.env' khi hoàn tất.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22182%22%3E%3C/svg%3E


Bây giờ hãy nhập exit để đăng xuất khỏi người dùng 'fathom' và quay lại phiên gốc.

Tiếp theo, tạo một tệp dịch vụ systemd mới '/etc/systemd/system/fathom.service' bằng lệnh trình soạn thảo nano bên dưới.
Mã:
sudo nano /etc/systemd/system/fathom.service
Thêm các dòng sau vào tệp. Với lệnh này, bạn sẽ chạy Fathom web analytics trong máy chủ cục bộ với cổng mặc định '8080' và thư mục dữ liệu cho Fathom được định cấu hình thành '/home/fathom/data'.
Mã:
[Unit]
Description=Starts the fathom server
Requires=network.target
After=network.target

[Service]
Type=simple
User=fathom
Restart=always
RestartSec=3
WorkingDirectory=/home/fathom/data
ExecStart=/usr/local/bin/fathom server

[Install]
WantedBy=multi-user.target
Lưu và thoát tệp khi hoàn tất.

Bây giờ hãy chạy lệnh bên dưới để tải lại trình quản lý systemd và áp dụng tệp dịch vụ mới 'fathom.service'.
Mã:
sudo systemctl daemon-reload
Sau đó, khởi động và kích hoạt dịch vụ 'fathom' bằng lệnh systemctl sau.
Mã:
sudo systemctl start fathom
sudo systemctl enable fathom

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22737%22%20height=%22199%22%3E%3C/svg%3E


Xác minh dịch vụ 'fathom' để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status fathom
Bạn sẽ nhận được thông báo như thế này - Trạng thái của dịch vụ fathom đang chạy và hiện đã được bật, nghĩa là dịch vụ sẽ tự động chạy khi khởi động.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22196%22%3E%3C/svg%3E

Tạo người dùng quản trị Fathom​

Với Fathom đang chạy như một dịch vụ systemd, giờ đây bạn đã sẵn sàng tạo một người dùng quản trị mới cho cài đặt Fathom của mình.

Để tạo một người dùng quản trị Fathom, bạn phải ở trong thư mục dữ liệu Fathom. Vì vậy, hãy chạy lệnh bên dưới để đăng nhập với tư cách là người dùng 'fathom'. Sau đó, di chuyển thư mục làm việc đến '~/data'.
Mã:
su - fathom
cd ~/data
Chạy lệnh fathom bên dưới để thêm người dùng quản trị mới cho Fathom web analytics. Đảm bảo thay đổi địa chỉ email và mật khẩu trong dòng lệnh sau.
Mã:
fathom user add --email="[emailprotected]" --password="AliceFathomP4ssw0rd"
Nếu thành công, bạn sẽ nhận được kết quả tương tự như thế này. Bạn có thể thấy thông báo cho biết trạng thái kết nối với cơ sở dữ liệu PostgreSQL 'fathomdb' và người dùng quản trị mới '[emailprotected]' đã được tạo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22195%22%3E%3C/svg%3E


Lúc này, bạn đã hoàn tất cài đặt Fathom với máy chủ cơ sở dữ liệu PostgreSQL. Bạn cũng đã tạo một người dùng quản trị viên cho Fathom.

Trong bước tiếp theo, bạn sẽ cài đặt và thiết lập Nginx làm proxy ngược cho Fathom web analytics chạy trên máy chủ cục bộ với cổng mặc định là 8080.

Cài đặt và cấu hình Nginx làm Proxy ngược​

Trong bước này, bạn sẽ cài đặt máy chủ web Nginx và thiết lập khối máy chủ Nginx sẽ được sử dụng làm proxy ngược cho Fathom web analytics.

Chạy lệnh apt bên dưới để cài đặt gói Nginx vào máy chủ Debian của bạn. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo apt install nginx

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22692%22%20height=%22336%22%3E%3C/svg%3E


Sau khi Nginx được cài đặt, hãy tạo tệp cấu hình khối máy chủ mới '/etc/nginx/sites-available/fathom' bằng trình chỉnh sửa nano bên dưới lệnh.
Mã:
sudo nano /etc/nginx/sites-available/fathom
Thêm các dòng sau vào và đảm bảo thay đổi tên miền bằng tên miền của bạn.
Mã:
server {
 listen 80;
 server_name fathom.howtoforge.local;

 location / {
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $remote_addr;
 proxy_set_header Host $host;
 proxy_pass http://127.0.0.1:8080; 
 }
}
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.

Tiếp theo, chạy lệnh bên dưới để kích hoạt khối máy chủ Nginx '/etc/nginx/sites-available/fathom'. Sau đó, hãy xác minh cấu hình Nginx để đảm bảo rằng bạn có cấu hình Nginx phù hợp.
Mã:
sudo ln -s /etc/nginx/sites-available/fathom /etc/nginx/sites-enabled/
sudo nginx -t
Nếu thành công, bạn sẽ thấy đầu ra như 'test is successful - syntax ok' trong thiết bị đầu cuối của bạn.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22192%22%3E%3C/svg%3E


Bây giờ hãy chạy tiện ích lệnh systemctl bên dưới để khởi động lại dịch vụ Nginx và áp dụng các thay đổi.
Mã:
sudo systemctl restart nginx
Sau đó, xác minh dịch vụ Nginx để đảm bảo rằng dịch vụ đang chạy thông qua tiện ích lệnh systemctl bên dưới.
Mã:
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Bạn sẽ nhận được đầu ra như dịch vụ Nginx đang chạy và được bật, nghĩa là dịch vụ sẽ tự động khởi động khi bootup.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22239%22%3E%3C/svg%3E


Bây giờ máy chủ web Nginx đang chạy như một proxy ngược cho Fathom web analytics, tiếp theo bạn sẽ thiết lập tường lửa UFW và mở các cổng HTTP và HTTPS.

Bảo mật Fathom bằng tường lửa​

Trong bước này, bạn sẽ cài đặt UFW trên máy chủ Debian của mình. Sau đó, mở các dịch vụ SSH, HTTP và HTTPS để cho phép truy cập vào máy chủ.

Cài đặt gói ufw thông qua lệnh apt bên dưới. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo apt install ufw

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22298%22%3E%3C/svg%3E


Sau khi UFW được cài đặt, hãy chạy lệnh bên dưới để thêm các ứng dụng OpenSSH và 'WWW Full'. Ứng dụng OpenSSH sẽ mở cổng SSH mặc định 22 và ứng dụng 'WWW Full' sẽ mở cả dịch vụ HTTP và HTTPS.
Mã:
sudo ufw allow OpenSSH
sudo ufw allow 'WWW Full'
Khi được thêm vào, bạn sẽ nhận được thông báo như sau 'Quy tắc đã được cập nhật'.

Bây giờ hãy chạy lệnh ufw bên dưới để khởi động và bật tường lửa UFW. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo ufw enable
Bạn sẽ nhận được đầu ra như 'Tường lửa đang hoạt động và được bật khi khởi động hệ thống', có nghĩa là tường lửa UFW đã được khởi động và bật. Điều này cũng cho phép UFW tự động chạy khi khởi động.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22238%22%3E%3C/svg%3E


Cuối cùng, hãy chạy lệnh ufw bên dưới để xác minh danh sách các cổng và dịch vụ mở trong UFW.
Mã:
sudo ufw status
Bạn sẽ nhận được các ứng dụng OpenSSH và 'WWW Full' được thêm vào tường lửa UFW.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22544%22%20height=%22205%22%3E%3C/svg%3E

Bảo mật Fathom Web Analytics bằng SSL/TLS Letsencrypt​

Trong bước này, bạn sẽ bảo mật Fathom web analytics bằng chứng chỉ SSL/TLS từ Letsencrypt. Bạn phải cài đặt Certbot và một plugin Certbot Nginx bổ sung vào máy chủ Debian của mình để thực hiện việc này.

Trước khi tạo chứng chỉ SSL/TLS, hãy đảm bảo rằng tên miền của bạn được trỏ đến địa chỉ IP của máy chủ. Ngoài ra, hãy đảm bảo rằng bạn có địa chỉ email sẽ được sử dụng để đăng ký Letsencrypt.

Bây giờ hãy chạy lệnh apt bên dưới để cài đặt Certbot và plugin Certbot Nginx. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo apt install certbot python3-certbot-nginx

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22382%22%3E%3C/svg%3E


Sau khi Certbot được cài đặt, hãy chạy lệnh bên dưới để tạo chứng chỉ SSL/TLS cho tên miền của bạn. Ngoài ra, hãy đảm bảo thay đổi tên miền và địa chỉ email trong lệnh sau.
Mã:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [emailprotected] -d fathom.howtoforge.local
Với lệnh này, chứng chỉ SSL/TLS mới sẽ được tạo cho tên miền của bạn. Ngoài ra, lệnh này sẽ tự động thiết lập HTTPS trên khối máy chủ Nginx của bạn và thiết lập chuyển hướng tự động từ HTTP sang HTTPS cho khối máy chủ Fathom của bạn. Chứng chỉ SSL/TLS của Certbot được tạo vào thư mục '/etc/elstencrypt/live/fathom.howtoforge.local/'.

Đăng nhập vào Fathom Website Analytics​

Mở trình duyệt web của bạn và truy cập tên miền cài đặt Fathom web analytics của bạn (ví dụ: https://fathom.howtoforge.local). Bạn sẽ được nhắc đến trang đăng nhập Fathom.

Nhập địa chỉ email và mật khẩu của bạn, sau đó nhấp vào Đăng nhập.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22633%22%20height=%22437%22%3E%3C/svg%3E


Khi địa chỉ email và mật khẩu chính xác, bạn sẽ nhận được bảng điều khiển quản trị Fathom.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22483%22%3E%3C/svg%3E


Với điều này, bạn đã cài đặt thành công Fathom web analytics với PostgreSQL và Nginx.

Kết luận​

Trong hướng dẫn này, bạn đã cài đặt Fathom web analytics mã nguồn mở và tập trung vào quyền riêng tư trên máy chủ Debian 11. Bạn cũng đã cài đặt và cấu hình PostgreSQL làm máy chủ cơ sở dữ liệu phụ trợ cho Fathom web analytics. Và ở phía trước để truy cập máy khách, bạn đã cấu hình Nginx làm proxy ngược. Bạn cũng đã bảo mật phân tích trang web Fathom bằng chứng chỉ SSL/TLS thông qua Certbot và Letsencrypt.

Với điều này, giờ đây bạn có thể thêm các bản nhạc mới và theo dõi trang web và khách truy cập của mình. Bạn cũng có thể tích hợp Fathom với nhiều CMS (Hệ thống quản lý nội dung) như WordPress và Drupal. Ngoài ra, bạn có thể tích hợp với các diễn đàn như Discourse.
 
Back
Bên trên