CentOS 7怎么安装配置Piwik网站统计?

在开源网络分析领域,Matomo(前身为 Piwik)是一个强大且注重隐私的 Google Analytics 替代品,它将数据完全掌握在您自己手中,提供了详细的访问者统计、页面分析、转化目标追踪等功能,本文将详细介绍如何在 CentOS 7 服务器上一步步安装和配置 Matomo 分析平台。

CentOS 7怎么安装配置Piwik网站统计?

准备阶段:环境与依赖

在开始安装之前,请确保您的 CentOS 7 系统已准备就绪,并且您拥有 sudoroot 权限,Matomo 需要一个完整的 LEMP(Linux, Nginx, MariaDB/MySQL, PHP)或 LAMP(Linux, Apache, MariaDB/MySQL, PHP)环境,本文将以性能更优的 LEMP 架构为例进行讲解。

以下是所需核心组件的概览:

组件 作用 推荐版本及说明
Nginx Web 服务器,用于处理 HTTP 请求并提供 Matomo 文件 18 或更高版本
MariaDB 数据库服务器,用于存储 Matomo 的所有分析数据 3 或更高版本 (与 MySQL 兼容)
PHP 脚本语言,Matomo 的核心运行环境 2 或更高版本 (推荐 7.4)
PHP 扩展 提供 Matomo 运行所需的各种功能支持 pdo, mysql, gd, xml, mbstring, json 等

第一步:更新系统并配置基础环境

确保您的系统软件包是最新的,并安装必要的仓库。

sudo yum update -y
sudo yum install -y epel-release yum-utils

SELinux 是 CentOS 的一个安全模块,它有时会阻止 Nginx 写入文件,为简化初始安装过程,您可以将其设置为 permissive 模式,稍后再根据需要调整策略。

sudo setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

第二步:安装 LEMP 技术栈

安装 Nginx

我们将使用 Nginx 官方仓库以获取最新稳定版。

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

安装 MariaDB

MariaDB 是 MySQL 的一个流行分支,完全兼容。

sudo yum install -y mariadb-server mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb

安装完成后,运行安全安装脚本来设置 root 密码、移除匿名用户等。

sudo mysql_secure_installation

按照提示操作,建议设置 root 密码并回答“Y”(是)来移除不安全的默认设置。

安装 PHP 及扩展

CentOS 7 默认的 PHP 版本过低,我们需要使用 Remi 或 Webtatic 仓库来安装较新版本的 PHP,这里以 Webtatic 为例。

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install -y php74 php74-fpm php74-mysqlnd php74-cli php74-gd php74-xml php74-mbstring php74-json

配置 PHP 和 PHP-FPM。

  1. 编辑 php.ini 文件:

    CentOS 7怎么安装配置Piwik网站统计?

    sudo vi /etc/php.ini

    找到并修改以下行:

    memory_limit = 256M
    date.timezone = Asia/Shanghai
  2. 编辑 www.conf 文件,确保 PHP-FPM 以 Nginx 用户身份运行:

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

    修改 usergroup 的值:

    user = nginx
    group = nginx
  3. 启动并启用 PHP-FPM:

    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm

第三步:为 Matomo 创建数据库

登录 MariaDB 并为 Matomo 创建一个专用的数据库和用户。

mysql -u root -p

在 MariaDB 提示符下,执行以下 SQL 命令,请将 your_password 替换为一个强密码。

CREATE DATABASE matomo_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'matomo_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON matomo_db.* TO 'matomo_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

第四步:下载并安装 Matomo

/tmp 目录下载最新版的 Matomo,然后将其部署到 Nginx 的网站根目录。

cd /tmp
wget https://builds.matomo.org/matomo-latest.zip
sudo unzip matomo-latest.zip -d /var/www/html/
sudo chown -R nginx:nginx /var/www/html/matomo
sudo chmod -R 755 /var/www/html/matomo

第五步:配置 Nginx 虚拟主机

为 Matomo 创建一个新的 Nginx 配置文件。

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

将以下配置粘贴到文件中,请将 your_domain.com 替换为您的域名或服务器 IP 地址。

server {
    listen 80;
    server_name your_domain.com;
    root /var/www/html/matomo;
    index index.php index.html index.htm;
    access_log /var/log/nginx/matomo_access.log;
    error_log /var/log/nginx/matomo_error.log;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ .php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

保存文件后,检查 Nginx 配置是否有语法错误,然后重新加载配置。

sudo nginx -t
sudo systemctl reload nginx

配置防火墙以允许 HTTP 流量。

CentOS 7怎么安装配置Piwik网站统计?

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

第六步:完成 Web 界面安装

打开浏览器,访问 http://your_domain.com,您将看到 Matomo 的 Web 安装向导。

  1. 系统检查:向导会自动检查所有环境和权限设置,确保全部显示为绿色“OK”。
  2. 数据库设置:输入之前创建的数据库信息:数据库名(matomo_db)、用户名(matomo_user)和密码。
  3. 创建超级用户:设置 Matomo 管理后台的登录账户和密码。
  4. 设置第一个网站:输入您要追踪的网站的名称和 URL。
  5. 获取追踪代码:安装向导最后会生成一段 JavaScript 代码,将此代码复制并粘贴到您网站所有页面的 <head> 标签内,Matomo 即可开始收集数据。

后续优化:设置自动归档

为了提高性能,强烈建议设置一个 Cron 任务,让系统自动在后台处理报告生成(即“归档”)。

sudo crontab -e

添加以下一行,让 Matomo 每 5 分钟自动执行一次归档任务。

*/5 * * * * /usr/bin/php /var/www/html/matomo/console core:archive > /dev/null 2>&1

至此,您已成功在 CentOS 7 上部署了功能完整的 Matomo 分析平台,您可以登录管理后台,开始深入分析您的网站流量数据了。


相关问答 (FAQs)

Q1: 我忘记了 Matomo 管理员的登录密码,该如何重置?

A: Matomo 提供了便捷的命令行工具来重置密码,您只需通过 SSH 登录到服务器,然后执行以下命令:

# 切换到 matomo 目录
cd /var/www/html/matomo
# 使用 console 命令重置
# 请将 your_admin_login 和 your_new_password 替换为实际值
sudo /usr/bin/php console user:reset-password --login=your_admin_login --new-password=your_new_password

执行后,您就可以使用新设置的密码登录管理后台了。

Q2: 我已经正确安装了追踪代码,但 Matomo 后台一直显示没有访客数据,这是为什么?

A: 这是一个常见问题,可能由以下几个原因导致:

  1. 追踪代码未生效:请确认代码已正确添加到网站的所有页面,并且没有语法错误,可以通过浏览器的“查看网页源代码”功能来检查。
  2. 浏览器插件:访问您网站的用户(包括您自己)可能使用了广告拦截器(如 AdBlock Plus)或隐私保护插件,这些插件会阻止 Matomo 的追踪脚本运行,可以尝试在无痕模式下或禁用插件后访问网站进行测试。
  3. 自动归档未设置:如果您没有设置上文提到的 Cron 归档任务,报告数据可能不会实时显示,即使没有 Cron,用户访问后也会触发归档,但这会降低网站速度,设置 Cron 是最佳实践。
  4. 时区或服务器时间不正确:如果服务器时间不准确,可能会导致数据记录时间错乱,请检查并同步服务器时间。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-09 09:01
下一篇 2025-10-09 09:05

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信