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,网站测速和路由追踪

一、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环境建议使用一键安装包或者面板,例如:Oneinstack、LNMP一键安装包和宝塔面板。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,Oneinstack、LNMP一键安装包和宝塔面板这类建站脚本一键配置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加速和多服务器动态均衡的策略。

全部为采集文章,文中的 联系方式 均不是 本人 的!

发表评论