Cách cài đặt Plausible Analytics với Docker trên Ubuntu 22.04

theanh

Administrator
Nhân viên
Plausible là một giải pháp thay thế phân tích web nguồn mở cho Google Analytics. Đây là giải pháp phân tích web nhẹ và tập trung vào quyền riêng tư, có thể sử dụng cho nhiều ngành như công ty khởi nghiệp, người làm nghề tự do và người viết blog.

Plausible, giải pháp phân tích web nhẹ và đơn giản. Giải pháp này cung cấp các số liệu quan trọng trên một trang duy nhất, giúp quản trị viên web dễ dàng phân tích các số liệu hơn. Plausible có hai phiên bản, dịch vụ Plausible mà bạn cần trả tiền cho người dùng và Plausible tự lưu trữ mà bạn có thể cài đặt trên máy chủ của mình.

Plausible Analytics cho phép bạn tạo phân tích trang web tự lưu trữ trên máy chủ của mình và cho phép bạn theo dõi các trang web không giới hạn. Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt và định cấu hình Plausible Analytics thông qua Docker trên máy chủ Ubuntu 22.04. Bạn cũng sẽ thiết lập Nginx làm proxy ngược cho ứng dụng Plausible Analytics và thiết lập SSL qua Letsencrypt.

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

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

Cài đặt Docker CE (Phiên bản cộng đồng)​

Plausible Analytics có thể được triển khai và tự lưu trữ thông qua Docker trên bất kỳ hệ điều hành nào hỗ trợ công cụ Docker. Để thực hiện điều đó, trước tiên bạn phải cài đặt Docker Engine trên máy mục tiêu mà bạn muốn triển khai ứng dụng Plausible.

Bắt đầu với hướng dẫn này bằng cách cài đặt Docker CE (Community Edition) vào máy chủ Ubuntu của bạn thông qua kho lưu trữ Docker chính thức.

Chạy lệnh apt bên dưới để cài đặt một số phụ thuộc cơ bản. Khi được nhắc cấu hình, hãy nhập y và nhấn ENTER để tiếp tục.
Mã:
sudo apt install \
 ca-certificates \
 curl \
 gnupg \
 lsb-release

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


Tiếp theo, hãy chạy lệnh sau để tải xuống khóa GPG cho kho lưu trữ Docker. Sau đó, thêm kho lưu trữ Docker chính thức vào hệ thống của bạn.
Mã:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

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


Sau khi khóa GPG và kho lưu trữ Docker được thêm vào, hãy làm mới và cập nhật kho lưu trữ của bạn thông qua lệnh apt bên dưới.
Mã:
sudo apt update
Bạn sẽ nhận được kết quả như sau - kho lưu trữ Docker CE đã được thêm vào.


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


Bây giờ hãy cài đặt Docker CE và Docker Compose bằng lệnh apt sau lệnh.
Mã:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Nhập y để xác nhận cài đặt, sau đó nhấn ENTER để tiếp tục.


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


Sau khi Docker được cài đặt, hãy chạy lệnh systemctl sau để xác minh trạng thái hiện tại của Docker dịch vụ.
Mã:
sudo systemctl is-enabled docker
sudo systemctl status docker
Bây giờ bạn sẽ nhận được kết quả của dịch vụ Docker đang chạy và được bật. Docker hiện sẽ tự động chạy khi khởi động hệ thống.


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


Bây giờ Docker đã được cài đặt, bước tiếp theo sẽ là thiết lập cài đặt Plausible Analytics.

Tải xuống và cấu hình Plausible Analytics​

Sau khi Docker được cài đặt, bây giờ bạn sẽ tải xuống mã nguồn Plausible Analytics và cấu hình biến môi trường sẽ được sử dụng trong quá trình triển khai. Điều này bao gồm một số thiết lập quan trọng như tên người dùng và mật khẩu quản trị viên, tên miền Plausible để cài đặt và SECRET_KEY_BASE sẽ được sử dụng để bảo mật Plausible.

Di chuyển thư mục làm việc tới '/opt'. Sau đó, tải xuống mã nguồn Plausible thông qua lệnh git bên dưới.
Mã:
cd /opt
sudo git clone https://github.com/plausible/hosting plausible
Tiếp theo, chạy lệnh sau để tạo SECRET_KEY_BASE cho Plausible Analytics.
Mã:
openssl rand 64 | base64 -w 0 ; echo
Bạn sẽ nhận được chuỗi ngẫu nhiên được tạo - hãy đảm bảo lưu nó, bạn sẽ sử dụng chuỗi ngẫu nhiên được tạo ở đây làm SECRET_KEY_BASE dành cho Plausible.


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


Bây giờ hãy di chuyển thư mục làm việc đến '/opt/plausible', đây là thư mục cài đặt Plasibble. Sau đó, sử dụng lệnh nano editor sau để chỉnh sửa tệp cấu hình 'plausible-conf.env'.
Mã:
cd /opt/plausible
sudo nano plausible-conf.env
Thay đổi cấu hình chi tiết với môi trường triển khai của bạn. Ngoài ra, hãy đảm bảo thay đổi thông tin chi tiết về người dùng quản trị, email và mật khẩu. Và cả tên miền cho cài đặt của bạn và SECRET_KEY_BASE với chuỗi ngẫu nhiên mà bạn đã tạo.

Các cấu hình sau sẽ được sử dụng làm biến trong quá trình triển khai Plausible Analytic thông qua Docker và Docker Compose.
Mã:
[emailprotected]
ADMIN_USER_NAME=alice
ADMIN_USER_PWD=admin_alice_password
BASE_URL=https://plausible.howtoforge.local
SECRET_KEY_BASE=WI+Dzf5ZsvbL+tapfDuIyOr2rhQqcss10XnQkX3b/BjOucweWvHjqpFtb9kV69O1PwvbOxaBvotlGbh6vry//Q==

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


Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Chạy Plausible Analytics với Docker Compose​

Bây giờ bạn đã định cấu hình môi trường sẽ được sử dụng để triển khai Plausible. Bây giờ bạn sẽ thiết lập tập lệnh docker-compose.yml và triển khai Plausible thông qua Docker Compose.

Di chuyển thư mục làm việc của bạn đến thư mục cài đặt Plausible '/opt/plausible'.
Mã:
cd /opt/plausible
Sử dụng trình chỉnh sửa nano sau để chỉnh sửa tệp cấu hình Docker Compose 'docker-compose.yml'.
Mã:
sudo nano docker-compose.yml
Trong phần dịch vụ 'hợp lý', hãy thay đổi cấu hình 'cổng' mặc định bằng cấu hình sau. Với thiết lập này, dịch vụ Plausible Analytic sẽ chạy tại máy chủ cục bộ trên cổng mặc định 8000.
Mã:
plausible:
......
 ports:
 - 127.0.0.1:8000:8000
......
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.


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


Sau khi bạn thay đổi tệp docker-compose.yml, hãy chạy lệnh docker bên dưới để bắt đầu xây dựng và triển khai dịch vụ Plausible Analytic.
Mã:
sudo docker compose up -d
Sau khi bạn chạy lệnh, Docker sẽ tải xuống các hình ảnh sẽ được sử dụng cho triển khai Plausible, bao gồm PostgreSQL làm cơ sở dữ liệu. Ngoài ra, bạn sẽ thấy các khối lượng mới được tạo.

Dưới đây là đầu ra của các quy trình triển khai Plausible.


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


Sau khi triển khai Plausible hoàn tất, bên dưới bạn sẽ thấy các dịch vụ container được khởi động.


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


Bây giờ hãy xác minh container và các dịch vụ đang chạy thông qua lệnh docker bên dưới. Và bạn sẽ thấy các dịch vụ Plausible đang chạy.
Mã:
sudo docker compose ps

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


Bạn cũng có thể xác minh danh sách các hình ảnh Docker có sẵn trên hệ thống của mình thông qua lệnh bên dưới. Và bạn sẽ thấy nhiều hình ảnh bao gồm cả hình ảnh PostgreSQL và Plausible.
Mã:
sudo docker compose images

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


Cuối cùng, hãy chạy lệnh sau để xác minh rằng dịch vụ Plausible đang chạy. Thao tác này sẽ cố gắng truy cập dịch vụ Plausible đang chạy trên máy chủ cục bộ với cổng mặc định là 8000.
Mã:
curl http://localhost:8000
Trong kết quả đầu ra sau, bạn có thể thấy rằng mình được chuyển hướng đến đường dẫn URL '/login' để đến trang đăng nhập Plausible.


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

Thiết lập Apache2 làm Proxy ngược​

Bây giờ Plausible Analytics đang chạy trong Docker. Bây giờ bạn sẽ cài đặt máy chủ web Apache2 và thiết lập nó làm proxy ngược cho ứng dụng web Plausible.

Chạy lệnh apt sau để cài đặt máy chủ web Apache2 vào hệ thống của bạn. Nhập y để xác nhận cài đặt và nhấn ENTER để tiếp tục.
Mã:
sudo apt install apache2

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


Bây giờ hãy xác minh dịch vụ apache2 để đảm bảo rằng dịch vụ đang chạy. Sử dụng lệnh systemctl sau.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Trong kết quả sau, bạn sẽ thấy dịch vụ apache2 đang chạy và được bật. Điều này có nghĩa là dịch vụ apache2 sẽ tự động chạy khi khởi động hệ thống.


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


Bây giờ máy chủ web Apache2 đã được cài đặt, tiếp theo bạn sẽ thiết lập máy chủ ảo sẽ được sử dụng làm proxy ngược cho ứng dụng web Plausible Analytics.

Để bắt đầu, hãy chạy lệnh sau để kích hoạt một số mô-đun apache2. Điều này bao gồm các mô-đun sẽ chạy apache2 như một proxy ngược và mô-đun mod_ssl.
Mã:
sudo a2enmod proxy proxy_http proxy_ajp remoteip headers ssl
Bạn sẽ thấy đầu ra như sau.


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


Tiếp theo, chạy lệnh sau để sao chép cấu hình máy chủ ảo mặc định cho proxy ngược apache2 vào thư mục '/etc/apache2/sites-available/'.
Mã:
sudo cp /opt/plausible/reverse-proxy/apache2/plausible.conf /etc/apache2/sites-available/
Bây giờ hãy sử dụng lệnh trình chỉnh sửa nano sau để chỉnh sửa cấu hình máy chủ ảo '/etc/apache2/sites-available/plausible.conf'.
Mã:
sudo nano /etc/apache2/sites-available/plausible.conf
Thay đổi tên miền của Cài đặt hợp lý với tên miền của bạn. Trong ví dụ này, Plausible Analytics sẽ được chạy trên tên miền phụ 'plausible.howtoforge.local'.
Mã:
ServerAdmin [emailprotected]
ServerName plausible.howtoforge.local
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Tiếp theo, kích hoạt cấu hình máy chủ ảo 'plausible.conf' thông qua lệnh a2ensite bên dưới.
Mã:
sudo a2ensite plausible.conf
Sau đó, chạy lệnh sau để xác minh cấu hình apache2 và đảm bảo rằng bạn có cấu hình chính xác. Nếu bạn nhận được thông báo đầu ra như 'Cú pháp OK', điều đó có nghĩa là cấu hình của bạn đã đúng.
Mã:
sudo apachectl configtest
Cuối cùng, hãy khởi động lại dịch vụ apache2 thông qua lệnh systemctl bên dưới để áp dụng cấu hình máy chủ ảo mới 'plausible.conf'.
Mã:
sudo systemctl restart apache2

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


Lúc này, bạn đã hoàn tất việc cấu hình Apache2 làm proxy ngược cho Plausible Analytics. Bước tiếp theo sẽ là bảo mật triển khai Plausible bằng SSL từ Letsencrypt.

Bảo mật Plausible Analytics bằng SSL Letsencrypt​

Sau khi cấu hình proxy đảo ngược Apache2 cho Plausible Analytics, giờ đây bạn sẽ bảo mật Plausible thông qua SSL Letsencrypt. Vì vậy, trước khi bắt đầu, hãy đảm bảo rằng tên miền sẽ được sử dụng cho Plausible được trỏ đến địa chỉ IP của máy chủ. Ngoài ra, hãy đảm bảo có địa chỉ email sẽ được sử dụng để đăng ký tên miền với Letsencrypt.

Cài đặt công cụ certbot và plugin certbot cho Apache2 thông qua lệnh apt bên dưới.
Mã:
sudo apt install certbot python3-certbot-apache
Nhập y để xác nhận cài đặt và nhấn ENTER để tiếp tục cài đặt.


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


Sau khi certbot được cài đặt, bây giờ bạn có thể tạo chứng chỉ SSL thông qua lệnh certbot bên dưới. Hãy chắc chắn thay đổi tên miền cho cài đặt Plausible của bạn.
Mã:
sudo certbot --apache -d plausible.howtoforge.local
Sau khi quá trình hoàn tất, bạn sẽ thấy đầu ra như sau. Plausible Analytics hiện được bảo mật bằng SSL Letsencrypt.
Mã:
Congratulations! You have successfully enabled https://plausible.howtoforge.local

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

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
 /etc/letsencrypt/live/plausible.howtoforge.local/fullchain.pem
 Your key file has been saved at:
 /etc/letsencrypt/live/plausible.howtoforge.local/privkey.pem
 Your cert will expire on 2022-12-10. 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
Lúc này, Plausible Analytics của bạn có thể truy cập được thông qua kết nối HTTPS an toàn.

Truy cập Plausible Analytics​

Bây giờ Plausible Analytics đã được bảo mật bằng SSL Letsencrypt. Bây giờ bạn có thể truy cập an toàn vào cài đặt Playsible của mình từ trình duyệt web.

Mở trình duyệt web và truy cập tên miền của Plausible Analytics (ví dụ: https://plausible.howtoforge.local/).

Đầu tiên, bạn sẽ được hiển thị trang đăng nhập Plausible. Nhập địa chỉ email quản trị và mật khẩu cho Plausible của bạn. Bạn có thể tìm thấy thông tin này trong tệp cấu hình 'plausible-conf.env'.


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


Bây giờ, bạn sẽ thấy bảng điều khiển Plausible Analytics nếu bạn có đúng tên người dùng và mật khẩu quản trị.


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

Theo dõi trang web bằng Plausible Analytics​

Trong bước tiếp theo, bạn sẽ tìm hiểu cách theo dõi và thêm trang web vào Plausible Analytics.

Trên bảng điều khiển Plausible, hãy nhấp vào 'Thêm trang web'.


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


Bây giờ, hãy nhập tên miền bạn muốn theo dõi và chọn thời gian sử dụng. Sau đó, nhấp vào 'Thêm đoạn mã'.


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


Bây giờ, bạn có thể thêm đoạn mã JavaScript vào trang web mục tiêu của mình. Sau đó nhấp vào 'Bắt đầu thu thập dữ liệu'.


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


Trong ảnh chụp màn hình sau, bạn có thể thấy các miền được thêm vào Plausible Analytics.


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

Kết luận​

Trong hướng dẫn này, bạn đã cài đặt Plausible Analytics qua Docker trên máy chủ Ubuntu 22.04. Ngoài ra, bạn đã cài đặt máy chủ web Apache2 làm proxy ngược cho Plausible Analytics và bảo mật việc triển khai qua SSL Letsencrypt. Đối với cách sử dụng cơ bản của Plausible Analytics, bạn đã học cách theo dõi các trang web qua Plausible Analytics.

Bây giờ, nếu bạn muốn tiếp tục, bạn có thể thêm nhiều trang web hơn vào Plausible Analytics tự lưu trữ được cài đặt trên hệ thống của bạn.
 
Back
Bên trên