如何在 CentOS 7 Nginx 上安裝 Matomo

如何在 CentOS 7 Nginx 上安裝 Matomo

在本文中,我們將學習如何在 CentOS 7 Nginx 上安裝 Matomo。

Matomo,前身為 Piwik,是一個由國際開發人員團隊開發的免費開源網絡分析應用程序,運行在 PHP/MySQL 網絡服務器上。它跟踪對一個或多個網站的在線訪問,並顯示有關這些訪問的報告以供分析。

為什麼是馬托莫

分析數據歸您所有。您的 Matomo Analytics 數據 100% 歸您所有,沒有外部各方查看。

與使用您的數據為其廣告平台提供服務的 Google Analytics 不同,Matomo 用戶可以安全地使用分析,而不必擔心數據被用於營銷或任何其他目的。

先決條件:

在開始之前,請確保您具備以下條件:

  • VPS 或專用服務器。
  • 運行 CentOS 7 的操作系統
  • 訪問您的網絡服務器(通過 shell 或 FTP)

1. 初始步驟

使您的服務器保持最新:

# yum update -y

2. 安裝 MariaDB 10.4 並為 Matomo 創建數據庫

在您喜歡的編輯器中創建 MariaDB.repo 文件:

# vi /etc/yum.repos.d/MariaDB.repo

並添加以下幾行:

# MariaDB 10.4 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]

name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

現在,開始安裝 MariaDB 10.4

# yum install MariaDB-client MariaDB-server

完成後,啟動 MariaDB:

# systemctl start mariadb.service

# systemctl enable mariadb.service

保護 MySQL

# mysql_secure_installation

2. 安裝 Nginx

添加 EPEL(Extra Packages for Enterprise Linux) 存儲庫:

# yum install epel-release

現在,使用以下命令安裝 NGINX:

# yum install nginx

啟動並啟用 Nginx 服務

# systemctl start nginx

# systemctl enable nginx

為 Matomo 配置 Nginx

# vi /etc/nginx/conf.d/matomo.conf

添加以下配置行:

server {

listen [::]:80;
listen 80;

server_name example.com;
root /var/www/matomo/;
index index.php;

location ~ ^/(index|matomo|piwik|js/index).php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param HTTP_PROXY "';
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
}

location = /plugins/HeatmapSessionRecording/configs.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param HTTP_PROXY "';
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
}

location ~* ^.+\.php$ {
deny all;
return 403;
}

location / {
try_files $uri $uri/ =404;
}

location ~ /(config|tmp|core|lang) {
deny all;
return 403;
}

location ~ \.(gif|ico|jpg|png|svg|js|css|htm|html|mp3|mp4|wav|ogg|avi|ttf|eot|woff|woff2|json)$ {
allow all;
}

location ~ /(libs|vendor|plugins|misc/user) {
deny all;
return 403;
}

}

現在不用擔心 SSL 重定向。我們將在本文後面使用 Certbot 安裝 Let's Encrypt。Certbot 會在獲取證書的過程中自動添加 SSL 重定向和證書位置。

測試配置

# nginx -t

如果測試成功,重啟 Nginx 服務。如果測試失敗,請檢查錯誤並根據我們的要求修改配置文件。

# systemctl restart nginx

3. 使用 PHP-FPM for Nginx 安裝 PHP

安裝 Remi 存儲庫:

# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

啟用 PHP 版本:

# yum-config-manager --enable remi-php73

現在,安裝 PHP 7.3 以及所需的 PHP 模塊:

# yum -y install php php-fpm php-common php-mysqlnd php-gd  php-json php-libxml php-mbstring php-xml php-curl php-fileinfo  php-mcrypt php-memcached php-imagick

打開 php-fpm 配置文件:

# vi /etc/php-fpm.d/www.conf

查找用戶和組,將參數從 apache 更改為 nginx。

user = nginx

group = nginx

查找 listen 參數並將其更改為:

listen = /var/run/php-fpm/php-fpm.sock

查找設置 listen.owner 和 listen.group 的行並取消註釋。設置為 nginx:

listen.owner = nginx

listen.group = nginx

完成配置後,保存並退出。

現在,啟動並啟用 PHP 處理器:

# systemctl start php-fpm

# systemctl enable php-fpm

4. 使用 Certbot 安裝 Let's Encrypt

安裝 certbot-nginx 包:

# yum install certbot-nginx -y

取得證書

# certbot --nginx -d yoursite.com -d www.yousite.com

5. 安裝 Matomo Analytics

導航到/var/www目錄

# cd /var/www/

使用wget命令下載最新版本的 Matomo並解壓

# wget https://builds.matomo.org/matomo.zip && unzip matomo.zip

刪除下載的 matomo.zip 文件

# rm -rf matomo.zip

/var/www/matomo目錄的所有權更改為nginx用戶

# chown -R nginx:nginx /var/www/matomo

6. 完成 Matomo 分析

在瀏覽器中打開您的網站並按照 Matomo 網絡安裝嚮導進行操作。

是時候開始點擊式安裝了!點擊下一步 ”

如何在 CentOS 7 Nginx 上安裝 Matomo

我們已經成功學會瞭如何在 CentOS 7 Nginx 上安裝 Matomo。