Cách cài đặt Matomo Web Analytics với Nginx trên FreeBSD 12.0

theanh

Administrator
Nhân viên
Matomo (trước đây là Piwik)là một ứng dụng phân tích web miễn phí và mã nguồn mở do một nhóm các nhà phát triển quốc tế phát triển, chạy trên máy chủ web PHP/MySQL. Ứng dụng này theo dõi các lượt truy cập trực tuyến vào một hoặc nhiều trang web và hiển thị báo cáo về các lượt truy cập này để phân tích. Bạn có thể coi ứng dụng này như một giải pháp thay thế cho Google Analytics. Matomo là một mã nguồn mở và mã của ứng dụng này được công khai trên Github. Một số tính năng của nó là -Kiểm tra A/B, Bản đồ nhiệt, Phễu, API theo dõi và báo cáo, Google AdWords, Quảng cáo trên Facebook, Quảng cáo Bing, Chi phí cho mỗi lần nhấp (CPC), v.v. Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Matomo trên hệ thống FreeBSD 12.0 bằng cách sử dụng Nginx làm máy chủ web và chúng tôi sẽ bảo mật trang web bằng chứng chỉ SSL Let's Encrypt.

Yêu cầu​

Để chạy Matomo (Piwik) trên hệ thống FreeBSD 12.0 của bạn, bạn sẽ cần một số thứ:
  • Máy chủ web như Apache,Nginx, IIS.
  • Phiên bản PHP 5.5.9 trở lên với pdo và pdo_mysql hoặc mysqli, gd, xml, curl và mbsting. Khuyến khích sử dụng PHP 7 trở lên.
  • MySQL phiên bản 5.5 trở lên hoặc phiên bản MariaDB tương đương. MySQL 5.7+ được khuyến nghị.

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

  • Hệ điều hành chạy FreeBSD 12.0.
  • Người dùng không phải root có quyền sudo.

Các bước ban đầu​

Kiểm tra phiên bản FreeBSD của bạn:
Mã:
uname -ro
# FreeBSD 12.0-RELEASE
Thiết lập timezone:
Mã:
tzsetup
Cập nhật các gói hệ điều hành (phần mềm) của bạn. Đây là bước đầu tiên quan trọng vì nó đảm bảo bạn có các bản cập nhật và bản sửa lỗi bảo mật mới nhất cho các gói phần mềm mặc định của hệ điều hành:
Mã:
freebsd-update fetch install
pkg update && pkg upgrade -y
Cài đặt một số gói thiết yếu cần thiết cho việc quản trị cơ bản hệ điều hành FreeBSD 12.0:
Mã:
pkg install -y sudo vim unzip wget bash

Bước 1 - Cài đặt MySQL và tạo cơ sở dữ liệu cho Matomo​

Matomo hỗ trợ cơ sở dữ liệu MySQL và MariaDB. Trong hướng dẫn này, chúng ta sẽ sử dụng MySQL làm máy chủ cơ sở dữ liệu.

Cài đặt máy chủ cơ sở dữ liệu MySQL:
Mã:
sudo pkg install -y mysql57-server
Kiểm tra phiên bản MySQL:
Mã:
mysql --version
#mysql Ver 14.14 Distrib 5.7.26, dành cho FreeBSD12.0 (amd64) bằng cách sử dụng trình bao bọc EditLine
Bật và khởi động dịch vụ MySQL:
Mã:
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
Chạy tập lệnh mysql_secure installation để cải thiện bảo mật MySQL và đặt mật khẩu cho người dùng root MySQL:
Mã:
sudo mysql_secure_installation
Trả lời từng câu hỏi sau:
Mã:
Bạn có muốn thiết lập plugin VALIDATE PASSWORD không? [B]N[/b]
Mật khẩu mới: [B]your_secure_password[/b]
Nhập lại mật khẩu mới:[B]your_secure_password[/b]
Xóa người dùng ẩn danh? [Y/n] [B]Y[/b]
Không cho phép đăng nhập root từ xa? [Y/n] [B]Y[/b]
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n] [B]Y[/b]
Tải lại bảng đặc quyền ngay bây giờ? [Y/n] [B]Y[/b]
Kết nối với shell MySQL với tư cách là người dùng root:
Mã:
sudo mysql -u root -p
# Nhập mật khẩu
Tạo một cơ sở dữ liệu MySQL trống và người dùng cho Matomo và ghi nhớ thông tin đăng nhập:
Mã:
CREATE DATABASE dbname;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Thoát khỏi MySQL:
Mã:
exit
Thay thế dbname, usernamepassword bằng tên của riêng bạn.

Bước 2 - Cài đặt PHP và các tiện ích mở rộng PHP cần thiết​

Cài đặt PHP cũng như các tiện ích mở rộng PHP cần thiết:
Mã:
sudo pkg install -y php73 php73-ctype php73-curl php73-dom php73-hash php73-iconv php73-gd php73-json php73-mbstring php73-openssl php73-session php73-simplexml php73-xml php73-zip php73-zlib php73-pdo php73-pdo_mysql php73-mysqli php73-filter php73-ftp php73-tokenizer php73-calendar php73-pecl-APCu php73-opcache
Kiểm tra phiên bản PHP:
Mã:
php --version

# PHP 7.3.7 (cli) (xây dựng: 25 tháng 7 năm 2019 01:28:53) (NTS)
# Bản quyền (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Bản quyền (c) 1998-2018 Zend Technologies
# với Zend OPcache v7.3.7, Bản quyền (c) 1999-2018, của Zend Technologies
Bật và khởi động dịch vụ PHP-FPM:
Mã:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
Chúng ta có thể chuyển sang bước tiếp theo, đó là lấy chứng chỉ SSL miễn phí từ Let's Encrypt CA.

Bước 3 - Cài đặt máy khách acme.sh và lấy chứng chỉ Let's Encrypt (tùy chọn)​

Không nhất thiết phải bảo mật trang web của bạn bằng HTTPS, nhưng đây là một biện pháp tốt để bảo mật lưu lượng truy cập trang web của bạn. Để lấy chứng chỉ TLS từ Let's Encrypt, chúng ta sẽ sử dụng máy khách Acme.sh. Acme.sh là phần mềm shell UNIX thuần túy để lấy chứng chỉ TLS từ Let's Encrypt mà không cần bất kỳ sự phụ thuộc nào.

Tải xuống và cài đặtAcme.sh:
Mã:
sudo pkg install -y acme.sh
Kiểm tra phiên bản Acme.sh:
Mã:
acme.sh --version
# v2.8.2
Lấy chứng chỉ RSAECC/ECDSA cho tên miền/tên máy chủ của bạn:
Mã:
# RSA
sudo acme.sh --issue--standalone--home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
Sau khi chạy các lệnh trên, chứng chỉkhóa của bạn sẽ nằm trong:
  • Đối với RSA: thư mục /etc/letsencrypt/example.com.
  • Đối với ECC/ECDSA: thư mục /etc/letsencrypt/example.com_ecc.

Bước 3 - Cài đặt NGINX và cấu hình NGINX cho Matomo​

Matomo có thể hoạt động tốt với nhiều phần mềm máy chủ web phổ biến. Trong hướng dẫn này, chúng tôi đã chọn Nginx.

Tải xuống và cài đặt bản phát hành chính thức mới nhất của Nginx từ FreeBSDrepository:
Mã:
sudo pkg install -y nginx-devel
Kiểm tra phiên bản Nginx:
Mã:
nginx -v
#nginx version: nginx/1.17.2
Bật và khởi động Nginx:
Mã:
sudo sysrc nginx_enable=yes
sudo service nginx start
Cấu hình Nginx cho Matomo bằng cách chạy:
Mã:
sudo vim /usr/local/etc/nginx/matomo.conf
Và điền cấu hình sau vào tệp:
Mã:
server { 
 listen [::]:443 ssl;
 lắng nghe 443 ssl; lắng nghe [::]:80; lắng nghe 80;
 chứng chỉ ssl /etc/letsencrypt/example.com/fullchain.cer;
 khóa chứng chỉ ssl /etc/letsencrypt/example.com/example.com.key;
 chứng chỉ ssl /etc/letsencrypt/example.com_ecc/fullchain.cer;
 khóa chứng chỉ ssl /etc/letsencrypt/example.com_ecc/example.com.key;
 tên máy chủ example.com; gốc /usr/local/www/matomo; chỉ mục index.php; vị trí ~ ^/(chỉ mục|matomo|piwik|js/index).php { fastcgi_split_path_info ^(.+\.php)(/.+)$; try_files $fastcgi_script_name =404; đặt $path_info $fastcgi_path_info; fastcgi_param THÔNG TIN PATH $path_info; fastcgi_index index.php; fastcgi_param TÊN_TỆP_KẾ_HỆ_LỆNH $document_root$fastcgi_script_name; bao gồm fastcgi_params; fastcgi_param HTTP_PROXY ""; fastcgi_pass 127.0.0.1:9000; } vị trí = /plugins/HeatmapSessionRecording/configs.php { fastcgi_split_path_info ^(.+\.php)(/.+)$; try_files $fastcgi_script_name =404; đặt $path_info $fastcgi_path_info; fastcgi_param THÔNG TIN PATH $path_info; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param HTTP_PROXY ""; fastcgi_pass 127.0.0.1:9000; } location ~* ^.+\.php$ { từ chối tất cả; trả về 403; } location / { try_files $uri $uri/ =404; } location ~ /(config|tmp|core|lang) { từ chối tất cả; trả về 403; } location ~ /\.ht { từ chối tất cả; trả về 403; } location ~ \.(gif|ico|jpg|png|svg|js|css|htm|html|mp3|mp4|wav|ogg|avi|ttf|eot|woff|woff2|json)$ { cho phép tất cả; hết hạn sau 1 giờ; add_header Pragma public; add_header Cache-Control "public"; } location ~ /(libs|vendor|plugins|misc/user) { từ chối tất cả; trả về 403; } location ~/(.*\.md|LEGALNOTICE|LICENSE) { default_type text/plain; }}
LƯU Ý: Để có cấu hình Nginx hoàn chỉnh và sẵn sàng cho Matomo, hãy truy cậphttps://github.com/matomo-org/matomo-nginx.

Chạy sudo vim /usr/local/etc/nginx/nginx.conf và thêm dòng bên dưới vào khối http {} để bao gồm cấu hình Matomo.
Mã:
include matomo.conf;
Kiểm tra cấu hình Nginx xem có lỗi cú pháp không:
Mã:
sudo nginx -t
Tải lại dịch vụ Nginx:
Mã:
sudo service nginx reload

Bước 4 - Cài đặt Matomo Analytics​

Điều hướng đến thư mục /usr/local/www:
Mã:
cd /usr/local/www/
Tải xuống bản phát hành Matomo mới nhất qua wget và giải nén:
Mã:
sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip
Xóa tệp matomo.zip đã tải xuống:
Mã:
sudo rm matomo.zip
Thay đổi quyền sở hữu thư mục /usr/local/www/matomo thành wwwuser:
Mã:
sudo chown -R www:www /usr/local/www/matomo

Bước 5 - Hoàn tất thiết lập Matomo Analytics​

Mở trang web của bạn trong trình duyệt web và làm theo trình hướng dẫn cài đặt web Matomo.

Đầu tiên, thông báo chào mừng Matomo sẽ xuất hiện. Nhấp vào nút "Tiếp theo":



Sau đó, bạn sẽ thấy trang "Kiểm tra hệ thống". Nếu thiếu thứ gì đó, bạn sẽ thấy cảnh báo. Nếu mọi thứ đều được đánh dấu bằng dấu kiểm màu xanh lá cây, hãy nhấp vào nút "Tiếp theo" để tiến hành bước tiếp theo:



Tiếp theo, điền thông tin chi tiết về cơ sở dữ liệu và nhấp vào nút"Tiếp theo":



Nếu mọi thứ diễn ra tốt đẹp với thiết lập cơ sở dữ liệu, bạn sẽ thấy thông báo "Bảng đã được tạo thành công!":



Tạo siêu tài khoản người dùng Matomo và nhấp vào nút "Tiếp theo":



Tiếp theo, hãy thiết lập trang web đầu tiên mà bạn muốn theo dõi và phân tích bằng Matomo. Sau đó, bạn có thể thêm nhiều trang web để theo dõi bằng Matomo:



Tiếp theo, bạn sẽ được cung cấp mã theo dõi JavaScript cho trang web của mình mà bạn cần thêm để bắt đầu theo dõi.



Tiếp theo, bạn sẽ thấy quá trình cài đặt Matomo đã hoàn tất.



Xin chúc mừng! Quá trình cài đặt Matomo của bạn đã hoàn tất.

Liên kết​

 
Back
Bên trên