Matomo自建网站统计工具-Matomo开源免费功能强大的网站统计分析程序

在各大网站统计纷纷倒闭或者是转向收费的情况,自建一个网站统计工具变得越来越紧要了。要说免费开源的统计工具,Matomo自然是当仁不让位列第一位了,因为Matomo的前身就是Piwik,一直是开源免费,历史悠久,同时Matomo的统计工具堪称强大。

Matomo提供了顶级关键字和搜索引擎,网站,社交媒体网站,首页网址,页面标题,用户国家,提供商,操作系统,浏览器市场份额,屏幕分辨率,自定义变量,顶级入口/出口页面,下载文件等等的分析,在漂亮的叠加图热图报告中显示的用户的热图,滚动图和点击等。

总之,从功能上来看Matomo可以说是第二个Google Analytics也不会过,最重要的是Matomo是一个开源免费的网站统计程序,你可以将Matomo安装任意PHP主机空间上,甚至无需要空间直接以插件的形式安装在你的Wordpress博客里,让你的WP自带统计功能。

Matomo自建网站统计工具-Matomo开源免费功能强大的网站统计分析程序

早在几年前挖站否就已经分享过了Matomo的安装方法:Piwik(Matomo)免费开源的PHP统计系统,这篇文章主要是分享新版的Matomo安装与使用教程,更多的实用建站工具还有:

  1. 分享八个优秀的免费PHP探针-实时检测PHP信息,服务器运行和流量
  2. 十大免费高清图库网站-免费图片素材网站推荐-无版权可商用的图片
  3. 十个好用的服务器和网站在线测速和Ping工具-在线Ping,网站测速和路由追踪

PS:更新记录.

1、想要更多的免费统计工具和程序,这里还有:十大免费开源的网站统计程序-自建网站统计工具 可视化数据分析。2022.7.31

2、想要一个个人的wiki,你可以试试Wiki.js开源免费程序:Wiki.js开源免费wiki程序安装与使用教程-界面简洁美观支持多种编辑器。2022.7.21

一、Matomo安装前准备

网站:

  1. 官网:https://matomo.org
  2. 项目:https://github.com/matomo-org/matomo
  3. 演示:https://demo.matomo.cloud/

1.1 环境要求

Matomo官方要求安装程序的PHP空间是:

服务器:Webserver such as Apache, Nginx, IIS, LiteSpeed, etc.

PHP版本:Matomo 4.x requires PHP version 7.2.5 or greater. Matomo fully works with PHP 8 as well. (the older Matomo 3.x required PHP version 5.5.9 or PHP 7.x)

数据库:MySQL version 5.5 or greater, or MariaDB

(enabled by default) PHP extension pdo and pdo_mysql, or the mysqli extension.

经过挖站否的测试,推荐使用Apache来跑Matomo,因为Nginx的重写规则太麻烦。另外,如果你是在VPS主机上架构Matomo,其实更推荐使用Docker的方法来安装Matomo,不仅方便,而且出问题也少。

1.2 官方推荐

官方推荐的数据库和PHP版本:

We recommend using the latest PHP 8.x release as it is more memory efficient and faster than previous PHP versions.

We recommend using MySQL 8+ or MariaDB for your database.

官方推荐的服务器配置要求是:

低于 10万 page views per month or less

One server is sufficient to host both the database and app server
App server minimum recommended configuration: 2 CPU, 2 GB RAM, 50GB SSD disk.

低于100万 page views per month or less

One server can be sufficient to host both the database and app server
App server minimum recommended configuration: 4 CPU, 8 GB RAM, 250GB SSD disk.

低于1000万 page views per month or less

Two servers recommended
1 x App servers, at least 8 CPUs, 16 GB RAM, 100GB SSD disk.
Or 2 x App servers, at least 4 CPUs, 4 GB RAM, 100GB SSD disk.
1 x Database server, at least 8 CPUs, 16 GB RAM, 400GB SSD disk.

二、Matomo安装在PHP空间

Matomo安装在PHP空间比较简单,直接将Matomo程序包从官网下载并上传到你的网站根目录下。

Matomo上传程序

在VPS主机上配置好Apache、Mysql和PHP环境建议使用一键安装包或者面板,例如:OneinstackLNMP一键安装包宝塔面板VPS安装web环境时,请选择Apache安装。

2.1 环境检测

现在打开你的域名,就可以看到Matomo安装界面了。

Matomo环境检测

Matomo首先会检查一下你的安装环境是否符合要求,例如一些函数被禁用了,Matomo会提示让开启。

shell_exec
It is recommended to turn on this PHP built-in function

Matomo系统检查

开启禁用函数也很简单,用的如果是宝塔面板的话可以直接在后台删除禁用函数,如果用的是Oneinstack等一键安装包的话,可以在php.ini配置文件中找到禁用函数一栏,删除你需要使用的到的函数即可。

Matomo禁用函数

2.2 数据库配置

然后是Matomo数据库配置。直接填写你已经创建好的Mysql数据库账号、密码等信息,数据库服务器地址如果填写:127.0.0.1提示有错误,可以改填写:localhost。

Matomo数据库

然后就是创建Matomo管理员了。

Matomo管理员

2.3 完成安装

最后就是添加第一个你想要统计访客的网站了。

Matomo添加网站

Matomo会生成一段JS代码,将这段代码放在你想要统计的网站的各个页面即可。

Matomo生成代码

三、用Docker安装Matomo

网站:

  1. https://github.com/matomo-org/docker

用Docker安装Matomo其实比上面用Apache跑Matomo更简单一些,特别适合VPS主机上已经有了其它的网站,想要让Matomo与同服务器上的其它的网站共存。首先,配置好Docker环境:Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源

3.1 新建配置文件

新建文件夹,用来存放Matomo Docker文件。

cd ~
mkdir matomo
cd matomo

新建一个.yml文件:nano docker-compose.yml,将以下内容复制粘贴进去(nano 保存退出的方法是:按 CTRL+O 然后再按 ENTER 确定保存, 最后按 CTRL+X 退出.)。

version: "3"

services:
  db:
    image: mariadb
    command: --max-allowed-packet=64MB
    restart: always
    environment:
      - MARIADB_DATABASE=matomo
      - MARIADB_USER
      - MARIADB_PASSWORD
      - MARIADB_ROOT_PASSWORD
    volumes:
      - ./db:/var/lib/mysql

  app:
    image: matomo
    restart: always
    volumes:
      - ./matomo:/var/www/html
    ports:
      - 127.0.0.1:8080:80

docker-compose.yml主要内容是定义了两个services, 一个是 db service 即 MariaDB container, 另一个是 app service 即运行Matomo程序。同时,开放8080端口用于Web访问。

现在继续新建文件:nano .env,将以下内容复制粘贴进去,记得把密码改成自己的。

MARIADB_USER=matomo
MARIADB_PASSWORD=wzfou.com
MARIADB_ROOT_PASSWORD=wzfou.com

现在,你应该可以在:/root/matomo 路径下看到自己刚刚创建的两个文件了。

Matomo新建配置文件

3.2 开始执行安装

执行:cd /root/matomo,然后就是运行Docker容器了:sudo docker-compose up -d

Matomo Docker开始安装

3.3 配置域名访问

通过上面的方法我们已经成功部署了Matomo Docker容器了,不过是通过IP:8080端口访问的,我们需要将它实现域名访问。首先,确保你的VPS主机上已经成功安装了Nginx,OneinstackLNMP一键安装包宝塔面板这类建站脚本一键配置Nginx也是可以的。

将以下反代代码放在你的Nginx的网站配置文件中,如下:

      location / {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Proto https;
      proxy_pass http://localhost:8080;
      }

例如:我用的是Oneinstack配置好的域名和SSL,此时找到该域名下的Nginx配置文件,将其它的内容删除,保留基本的代码,然后将域名反代代码放在里,演示如下:

server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name tmth2.wzfou.me ;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/wzfou.com;

        ssl_certificate /usr/local/nginx/conf/ssl/tmth2.wzfou.me/fullchain.cer;
        ssl_certificate_key /usr/local/nginx/conf/ssl/tmth2.wzfou.me/tmth2.wzfou.me.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

     #主要看这一段
      location / {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Proto https;
      proxy_pass http://localhost:8080;
      }


        access_log  /home/wwwlogs/tmth2.wzfou.me.log;
    }

修改Nginx配置文件记得先检测一下配置是否正确,然后重启一下Nginx。

sudo nginx -t
lnmp nginx restart 或者service nginx restart

3.4 填写数据库

现在打开你的域名就可以进入到Matomo的安装界面了。

Matomo Docker填写数据库

使用Docker来安装Matomo,在填写数据库服务器地址时写:db,账号就是刚刚你在创建 .env时设置 MARIADB_USER 的,默认的就是matomo,密码就是自己设置 MARIADB_PASSWORD 的密码。(点击放大)

Matomo Docker数据库信息

3.5 调整配置文件

填写完了数据库,接下来就是进入到正常的Matomo进程了,安装成功后,你可能还会看一个大的警告:

Matomo Docker安全警告
警告: 您现在是通过 https://wzfou.com/index.php 访问 Matomo,但 Matomo 设置的地址是: https://localhost/index.php.

点这里安全访问 Matomo 并关闭警告。您可以联系 Matomo 管理员并报告这个问题 ()。

How do I fix this problem and how do I login again?
The Matomo Super User can manually edit the file /path/to/matomo/config/config.ini.php and add the following lines:

[General]
trusted_hosts[] = "localhost:8080"

After making the change, you will be able to login again.
You may also disable this security feature (not recommended). To do so edit config/config.ini.php and add:

[General]
enable_trusted_host_check=0

找到Matomo的配置文件:matomo/config/config.ini.php

Matomo Docker修改配置文件

然后打开它,在 [General] 区域下添加以下代码:

trusted_hosts[] = "localhost:8080"
assume_secure_protocol = 1
force_ssl = 1

这段代码是告诉Matomo当前使用的是8080端口是安全的。

Matomo Docker禁用代码

保存后,再次进入Matomo,你就可以正常地登录和使用Matomo了。

Matomo Docker成功进入

四、Matomo WP插件安装

Matomo提供了Wordpress插件,只要你有一个Wordpress博客,安装了Matomo WordPress插件就可以立即将WP变成自带统计工具了。

插件:

  1. https://wordpress.org/plugins/matomo/

五、Matomo统计功能介绍

Matomo统计功能非常地多,也很强大,下图为Matomo的界面,可以看到Matomo包含了访客分析、行为、获客分析、转化与收益分析等。(点击放大)

Matomo界面

5.1 实时访客

在Matomo统计里可以查看到网站的实时访客信息。

Matomo Docker实时访客

访客的地域可以直接支持省、市。

Matomo统计地域显示

Matomo对国内的省市位置也分得很精细。

Matomo统计国内省市

5.2 行为统计

在Matomo里可以清楚地看到网站的访客对哪些页面感兴趣。

Matomo统计行为统计

包括了来源页面、进入页面、事件、忠诚度等分析。

Matomo统计页面忠诚度

Matomo还可以生成访客的行为统计瀑布图,方便你查看统计。

Matomo统计用户行为

5.3 来源统计

Matomo的来源统计功能也很强大。(点击放大)

Matomo统计来源统计

Matomo可以清楚显示搜索引擎来源。

Matomo统计搜索引擎

另外,Matomo支持WooCommerce等电商统计。

Matomo统计电商统计

六、总结

Matomo统计功能强大,安装方便,但同时也是一个非常消耗资源的网站统计程序,所以如果你要统计的网站浏览量非常大的话,建议使用更高配置的VPS主机以及增加CDN加速和多服务器动态均衡的策略。

文章出自:挖站否 https://wzfou.com/matomo/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。


分享到:
Avatar for Qi
关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。
已有 17 条评论
  1. 本来是看上 session record 才想试一下,结果安装完发现竟然还收费……

    8月3日 10:51 回复
    • Avatar for Qi Qi

      居然收费

      8月4日 20:28 回复
      • 是,我看着Demo里都有,等自己安装完哪也找不到,后来发现在 Marketplace,还明码标价好像很多钱一年……就离谱
        后面打算试试 PostHog、OpenReplay、UXWizz 这种开源的 Session record 程序

        8月5日 10:09 回复
        • Avatar for Qi Qi

          那就有点无语了。

          8月5日 22:21 回复
  2. qi,我用了两台不同的vps,在安装的时候都出现了同样的问题,即在验证数据库之后录入超级管理员,写好之后提交,然后就一直卡住,最后502 了,,,系统检查的时候难道要所有感叹号都干掉?我最后应该只剩一两个了啊,

    大概是什么问题呢,谢谢

    8月1日 20:39 回复
    • Avatar for Qi Qi

      是不是文件权限的问题?没有改成www?

      8月3日 09:42 回复
      • 我全改成777了,应该不是这个问题,当我把ssl加上,安装自检那儿最后只有两个叹号,PHP SAPI 和 Server Info 那一行,最后都指向了官方的nigix安装指引:https://github.com/matomo-org/matomo-nginx#readme

        我按照这个文档,除了把“老旧浏览器支持”这一条删掉,其他应该都执行了,但是自检还是会出现那两个叹号,最后依然卡死在 超管账户注册那一步,且那一步仍能写进数据

        8月3日 10:01 回复
      • 我想换个方式,你能把你的 *config.ini 脱敏后完整分享一下么?

        8月3日 10:05 回复
        • Avatar for Qi Qi

          好的,我来找找我原来的安装的机器的数据。

          8月3日 10:30 回复
        • Avatar for Qi Qi

          原来的机器用的临时VPS,数据没了。抱歉啊。

          8月4日 20:33 回复
          • 谢谢,我想了些办法把这个弄好了,这玩意儿还是以前的问题,没法体现出搜索引擎的搜索词。。。。我可能要弃用

            8月5日 00:14 回复
  3. Avatar for te te

    已经用上了

    7月16日 08:57 回复
  4. Avatar for 喏

    这个牛了[酷]

    7月15日 09:57 回复
  5. Avatar for ivkeji ivkeji

    这个才是真的牛逼,感谢qi大推荐,这就去安装体验一把插件版

    7月14日 20:28 回复
  6. 以前使用过matomo,确实很强,不过现在不在乎这些了,也就用不着折腾了,也减少服务器消耗了。

    7月14日 11:52 回复
  7. Avatar for rei rei

    直接安装WP插件真香

    7月14日 10:09 回复

Login

Welcome! Login in to your account

Remember meLost your password?

Don't have account. Register

Lost Password

Register