Matomo (trước đây làPiwik)là mộtmiễn phívàmã nguồn mởphân tích webứng dụng 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ủ webPHP/MySQL. Nó theo dõilượt truy cậptrực tuyến đến một hoặc nhiềutrang webvà hiển thị báo cáo về những lượt truy cập này để phân tích. Bạn có thể coi nó như một giải pháp thay thế cho Google Analytics. Matomo là mã nguồn mở và mã của nó đượ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 CentOS 7sử 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.
Thiết lập múi giờ:
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:
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 CentOS:
Tạo kho lưu trữ MariaDB 10.2 YUM cho CentOS:
Sao chép và dán văn bản sau vào đó:
Sau khi tệp đã được đặt đúng vị trí, hãy cài đặt MariaDB bằng cách chạy:
Kiểm tra phiên bản MariaDB:
Khởi động và bật MariaDB dịch vụ:
Chạy
Trả lời từng câu hỏi sau:
Kết nối đến MariaDBshell với tư cách là người dùng root:
Tạo một cơ sở dữ liệuMariaDBrỗng và người dùng cho Matomo và ghi nhớ thông tin đăng nhập:
Thoát từMariaDB:
Thay thế
Cài đặt PHP cũng như các tiện ích mở rộng PHP cần thiết:
Để hiển thị PHP đã biên dịch trong các mô-đun, bạn có thể chạy:
Kiểm tra phiên bản PHP:
Khởi động và kích hoạt dịch vụ PHP-FPM:
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
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 Acme.sh client. 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:
Kiểm tra phiên bản của Acme.sh:
Lấy chứng chỉRSAvàECC/ECDSAcho tên miền/tên máy chủ của bạn:
Sau khi chạy các lệnh trên, chứng chỉvàkhóacủa bạn sẽ nằm trong:
Tải xuống và cài đặt Nginx từ kho lưu trữ CentOS:
Kiểm tra phiên bản Nginx:
Khởi động và kích hoạt dịch vụ Nginx:
Cấu hình Nginx cho Matomo bằng cách chạy:
Và điền cấu hình sau vào tệp:
LƯU Ý:Để biết cấu hình Nginx hoàn chỉnh và sẵn sàng cho sản xuất cho Matomo, hãy truy cậphttps://github.com/matomo-org/matomo-nginx.
Kiểm tra cấu hình Nginx để biết lỗi cú pháp:
Tải lại dịch vụ Nginx:
Điều hướng đến thư mục
Tải xuống bản phát hành mới nhất của Matomo qua wget và giải nén:
Xóa tệp
Thay đổi quyền sở hữu thư mục
Chạy
Khởi động lại dịch vụ PHP-FPM.
Đầ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.
Yêu cầu
Để chạy Matomo (Piwik) trên hệ thống CentOS 7 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 pdovàpdo_mysqlhoặc mysqli, gd, xml, curl và mbsting. Khuyến nghị PHP 7+.
- MySQL phiên bản 5.5 trở lên hoặc phiên bản MariaDB tương đương. Khuyến nghị MySQL 5.7 trở lên.
Điều kiện tiên quyết
- Hệ điều hành chạy CentOS 7.
- 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 CentOS của bạn:
Mã:
cat /etc/centos-release
Mã:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Mã:
sudo yum update -y
Mã:
sudo yum install -y curl wget vim gitunzip socat epel-release
Bước 1 - Cài đặt MariaDB 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 MariaDB làm máy chủ cơ sở dữ liệu.Tạo kho lưu trữ MariaDB 10.2 YUM cho CentOS:
Mã:
sudo vim /etc/yum.repos.d/MariaDB.repo
Mã:
# Danh sách kho lưu trữ MariaDB 10.2 CentOS - được tạo vào ngày 11-12-2017 23:19 UTC# http://downloads.mariadb.org/mariadb/repositories/[mariadb]name=MariaDBbaseurl=https://yum.mariadb.org/10.2/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1
Mã:
sudo yum install -y MariaDB-server MariaDB-client
Mã:
mysql --version
# mysql Ver 15.1 Distrib 10.2.21-MariaDB, dành cho Linux (x86_64) bằng readline 5.1
Mã:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
cài đặt mysql_secure
script để cải thiện bảo mật MariaDBvà đặt mật khẩu cho MariaDBroot
người dùng:
Mã:
sudo mysql_secure_installation
Mã:
Nhập mật khẩu hiện tại cho root (nhập nếu không có): [B]Nhấn Enter
[/b]Đặt mật khẩu root? [Y/n][B] Y[/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 root đăng nhập 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]
Mã:
sudo mysql -u root -p
# Nhập mật khẩu
Mã:
MariaDB [(none)]>CREATE DATABASE dbname;
MariaDB [(none)]>GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB [(none)]>FLUSH PRIVILEGES;
Mã:
MariaDB [(none)]>exit
dbname
,username
vàpassword
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
Thiết lập kho lưu trữ YUM của Webtatic:
Mã:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Mã:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-gd php72w-xml php72w-mbstring php72w-mysqlnd php72w-json
Mã:
php -m
ctype
curl
exif
fileinfo
. . .
. . .
Mã:
php --version
#PHP 7.2.14 (cli) (xây dựng: 8 tháng 1 năm 2019 09:59:17) (NTS)
# Bản quyền (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Bản quyền (c) 1998-2018 Zend Technologies
Mã:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Bước 3 - Cài đặtacme.sh
client 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 Acme.sh client. 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 mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail[emailprotected]
cd ~
Mã:
/etc/letsencrypt/acme.sh --version
# v2.8.0
Mã:
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue--standalone--home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
- Đối vớiRSA:
/etc/letsencrypt/example.com
thư mục. - Đối vớiECC/ECDSA:
/etc/letsencrypt/example.com_ecc
thư mục.
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 Nginx từ kho lưu trữ CentOS:
Mã:
sudo yum install -y nginx
Mã:
sudo nginx -v
Mã:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Mã:
sudo vim /etc/nginx/conf.d/matomo.conf
Mã:
server {
listen [::]:443 ssl http2;
lắng nghe 443 ssl http2;
lắng nghe [::]:80;
lắng nghe 80;
tên_máy_chủ example.com;
gốc /var/www/matomo/;
chỉ mục index.php;
chứng_chỉ_số_ssl /etc/letsencrypt/example.com/fullchain.cer;
khóa_chứng_chỉ_số_ssl /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
vị trí ~ ^/(index|matomo|piwik|js/index).php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
đặt $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
bao gồm fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
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 PATH_INFO $path_info;
fastcgi_index index.php;
bao gồm fastcgi.conf;
fastcgi_param TỆP_KẾ_GÓI $document_root$fastcgi_script_name;
fastcgi_param TỆP KẾ_HỆ_K ... fastcgi_param HTTP_PROXY "";
fastcgi_pass 127.0.0.1:9000;
}
vị trí ~* ^.+\.php$ {
từ chối tất cả;
trả về 403;
}
vị trí / {
try_files $uri $uri/ =404;
}
vị trí ~ /(config|tmp|core|lang) {
từ chối tất cả;
trả về 403;
}
vị trí ~ \.(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ả;
}
vị trí ~ /(libs|vendor|plugins|misc/user) {
từ chối tất cả;
trả về 403;
}
}
Kiểm tra cấu hình Nginx để biết lỗi cú pháp:
Mã:
sudo nginx -t
Mã:
sudo systemctl reload nginx.service
Bước 4 - Cài đặt Matomo Analytics
Tạo thư mục/var/www
:
Mã:
sudo mkdir -p /var/www/
/var/www
:
Mã:
cd /var/www/
Mã:
sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip
matomo.zip
đã tải xuống:
Mã:
sudo rm matomo.zip
/var/www/matomo
thànhnginx
người dùng:
Mã:
sudo chown -R nginx:nginx /var/www/matomo
sudo vim /etc/php-fpm.d/www.conf
và đặt người dùng và nhóm thànhnginx
. Ban đầu, nó sẽ được thiết lập thành người dùng và nhómapache
.
Mã:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Mã:
sudo systemctl restart php-fpm.service
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.