Matomo trước đây được gọi là Piwik là một ứng dụng phân tích web miễn phí và mã nguồn mở giúp bạn theo dõi khách truy cập trực tuyến trên trang web của mình. Đây là một giải pháp thay thế cho phần mềm Google Analytics, cung cấp cho bạn toàn quyền kiểm soát dữ liệu và phân tích trang web của riêng bạn mà không cần sử dụng các giải pháp của bên thứ ba. Nó được thiết kế cho các doanh nghiệp vừa và nhỏ có thể được sử dụng để theo dõi các Chỉ số hiệu suất chính như lượt truy cập, lượt tải xuống, tỷ lệ chuyển đổi mục tiêu, từ khóa và nhiều hơn nữa.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt phần mềm phân tích web Matomo trên Ubuntu 20.04 với Nginx và Let's Encrypt SSL.
Sau khi tất cả các gói được cập nhật, hãy cài đặt các phụ thuộc cần thiết khác bằng cách chạy lệnh sau:
Sau khi cài đặt tất cả các gói cần thiết, bạn có thể tiến hành bước tiếp theo.
Sau khi cài đặt xong ngăn xếp LEMP, bạn có thể tiến hành bước tiếp theo.
Trước tiên, hãy đăng nhập vào MariaDB bằng lệnh sau:
Sau khi đăng nhập, hãy tạo một cơ sở dữ liệu và người dùng cho Matomo bằng lệnh sau:
Tiếp theo, xóa các đặc quyền và thoát khỏi MariaDB bằng lệnh sau:
Sau khi cơ sở dữ liệu của bạn được tạo, bạn có thể tiến hành bước tiếp theo.
Sau khi tải xuống, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, hãy thay đổi quyền sở hữu matomo thành www-data:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp, sau đó kích hoạt máy chủ ảo bằng lệnh sau:
Tiếp theo, kiểm tra Nginx xem có lỗi cấu hình nào không bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Tại thời điểm này, Nginx được cấu hình để phục vụ Matomo. Bây giờ bạn có thể tiến hành bước tiếp theo.
Sau khi cài đặt, hãy bảo mật trang web của bạn bằng Let's Encrypt SSL bằng cách chạy lệnh sau:
Bạn sẽ được yêu cầu cung cấp địa chỉ email hợp lệ và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Nhập 2 và nhấn Enter để hoàn tất cài đặt. Bạn sẽ thấy đầu ra sau:
Bây giờ, trang web Matomo của bạn được bảo mật bằng Let's Encrypt SSL.
Nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình kiểm tra điều kiện tiên quyết của Matomo:
Nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình cấu hình cơ sở dữ liệu matomo:
Cung cấp thông tin chi tiết về cơ sở dữ liệu của bạn và nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình sau:
Nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình thiết lập người dùng quản trị:
Cung cấp tên người dùng, mật khẩu, email quản trị viên và nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình thiết lập trang web:
Cung cấp thông tin chi tiết về trang web của bạn và nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình sau:
Nhấp vào nút TIẾP THEO. Sau khi cài đặt hoàn tất, bạn sẽ thấy màn hình sau:
Nhấp vào TIẾP TỤC ĐẾN MATOMO. Bạn sẽ được chuyển hướng đến màn hình đăng nhập Matomo:
Cung cấp tên người dùng, mật khẩu quản trị viên và nhấp vào nút ĐĂNG NHẬP. Bạn sẽ thấy bảng điều khiển Matomo trong màn hình sau:
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt phần mềm phân tích web Matomo trên Ubuntu 20.04 với Nginx và Let's Encrypt SSL.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
- Một mật khẩu gốc được cấu hình cho máy chủ.
Bắt đầu
Trước tiên, bạn nên cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng cách chạy lệnh sau:
Mã:
apt-get update -y
Mã:
apt-get install curl wget vim git unzip socat gnupg2 -y
Cài đặt LEMP Server
Matomo chạy trên máy chủ web, được viết bằng PHP và sử dụng MySQL cho cơ sở dữ liệu. Vì vậy, ngăn xếp LEMP phải được cài đặt trong máy chủ của bạn. Bạn có thể cài đặt nó bằng lệnh sau:
Mã:
apt-get install nginx mariadb-server php7.4 php7.4-cli php7.4-fpm php7.4-common php7.4-curl php7.4-gd php7.4-xml php7.4-mbstring php7.4-mysql -y
Tạo Cơ sở dữ liệu Matomo
Matomo yêu cầu một cơ sở dữ liệu để lưu trữ dữ liệu phân tích. Vì vậy, bạn sẽ cần tạo một cơ sở dữ liệu và người dùng cho Matomo.Trước tiên, hãy đăng nhập vào MariaDB bằng lệnh sau:
Mã:
mysql
Mã:
MariaDB [(none)]> TẠO CƠ SỞ DỮ LIỆU matomodb;
MariaDB [(không có)]> CẤP TẤT CẢ TRÊN matomodb.* CHO 'matomo' ĐƯỢC XÁC ĐỊNH BỞI 'password';
Mã:
MariaDB [(không có)]> XÓA CÁC ĐẶC QUYỀN;
MariaDB [(không có)]> EXIT;
Tải xuống Matomo
Trước tiên, hãy tải xuống phiên bản Matomo mới nhất vào thư mục gốc web Nginx từ trang web chính thức của nó bằng lệnh sau:
Mã:
cd /var/www/html/
wget https://builds.matomo.org/matomo.zip
Mã:
unzip matomo.zip
Mã:
chown -R www-data:www-data /var/www/html/matomo
Cấu hình Nginx cho Matomo
Tiếp theo, bạn sẽ cần tạo một tệp cấu hình máy chủ ảo Nginx mới để phục vụ Matomo.
Mã:
nano /etc/nginx/sites-available/matomo.conf
Mã:
server { listen 80; server_name matomo.linuxbuz.com; root /var/www/html/matomo/; index index.php; location ~ ^/(index|matomo|piwik|js/index).php { include snippets/fastcgi-php.conf; fastcgi_param HTTP_PROXY ""; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; } location = /plugins/HeatmapSessionRecording/configs.php { include snippets/fastcgi-php.conf; fastcgi_param HTTP_PROXY ""; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; } 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 ~ \.(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ả; } location ~ /(libs|vendor|plugins|misc/user) { từ chối tất cả; trả về 403; }}
Mã:
ln -s /etc/nginx/sites-available/matomo.conf /etc/nginx/sites-enabled/
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Mã:
systemctl restart nginx
Bảo mật Matomo bằng Let's Encrypt SSL
Luôn là một ý tưởng hay khi bảo mật trang web của bạn bằng Let's Encrypt SSL. Trước tiên, hãy cài đặt ứng dụng khách Certbot Let's Encrypt trên máy chủ của bạn bằng lệnh sau:
Mã:
apt-get install python3-certbot-nginx -y
Mã:
certbot --nginx -d matomo.linuxbuz.com
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator nginx, Installer nginxNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản của Dịch vụ tạihttps://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phảiđồng ý để đăng ký với máy chủ ACME tạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có muốn chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho matomo.linuxbuz.comĐang chờ xác minh...Dọn dẹp các thử tháchTriển khai chứng chỉ cho VirtualHost /etc/nginx/sites-enabled/matomo.conf
Mã:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin chắc rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tác thay đổi nàybằng cách chỉnh sửa cấu hình máy chủ web của bạn.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] sau đó [enter] (nhấn 'c' để hủy): 2
Mã:
Đang chuyển hướng tất cả lưu lượng truy cập trên cổng 80 sang ssl trong /etc/nginx/sites-enabled/matomo.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://matomo.linuxbuz.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=matomo.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/matomo.linuxbuz.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/matomo.linuxbuz.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 30-10-2020. Để có phiên bản mới hoặc đã chỉnh sửa của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác *tất cả* chứng chỉ của bạn, hãy chạy "certbot renew" - Thông tin đăng nhập tài khoản của bạn đã được lưu trong thư mục cấu hình Certbot tại /etc/letsencrypt. Bây giờ bạn nên sao lưu an toàn thư mục này. Thư mục cấu hình này cũng sẽ chứa các chứng chỉ và khóa riêng tư do Certbot thu thập được, do đó, việc sao lưu thường xuyên thư mục này là lý tưởng. - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le - Chúng tôi không thể đăng ký cho bạn danh sách gửi thư EFF vì địa chỉ email của bạn có vẻ không hợp lệ. Bạn có thể thử lại sau bằng cách truy cập https://act.eff.org.
Truy cập Matomo Analytics
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL https://matomo.linuxbuz.com. Bạn sẽ được chuyển hướng đến màn hình chào mừng Matomo:Nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình kiểm tra điều kiện tiên quyết của Matomo:
Nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình cấu hình cơ sở dữ liệu matomo:
Cung cấp thông tin chi tiết về cơ sở dữ liệu của bạn và nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình sau:
Nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình thiết lập người dùng quản trị:
Cung cấp tên người dùng, mật khẩu, email quản trị viên và nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình thiết lập trang web:
Cung cấp thông tin chi tiết về trang web của bạn và nhấp vào nút TIẾP THEO. Bạn sẽ thấy màn hình sau:
Nhấp vào nút TIẾP THEO. Sau khi cài đặt hoàn tất, bạn sẽ thấy màn hình sau:
Nhấp vào TIẾP TỤC ĐẾN MATOMO. Bạn sẽ được chuyển hướng đến màn hình đăng nhập Matomo:
Cung cấp tên người dùng, mật khẩu quản trị viên và nhấp vào nút ĐĂNG NHẬP. Bạn sẽ thấy bảng điều khiển Matomo trong màn hình sau: