Matomo自建网站统计工具-Matomo开源免费功能强大的网站统计分析程序
在各大网站统计纷纷倒闭或者是转向收费的情况,自建一个网站统计工具变得越来越紧要了。要说免费开源的统计工具,Matomo自然是当仁不让位列第一位了,因为Matomo的前身就是Piwik,一直是开源免费,历史悠久,同时Matomo的统计工具堪称强大。
Matomo提供了顶级关键字和搜索引擎,网站,社交媒体网站,首页网址,页面标题,用户国家,提供商,操作系统,浏览器市场份额,屏幕分辨率,自定义变量,顶级入口/出口页面,下载文件等等的分析,在漂亮的叠加图热图报告中显示的用户的热图,滚动图和点击等。
总之,从功能上来看Matomo可以说是第二个Google Analytics也不会过,最重要的是Matomo是一个开源免费的网站统计程序,你可以将Matomo安装任意PHP主机空间上,甚至无需要空间直接以插件的形式安装在你的Wordpress博客里,让你的WP自带统计功能。
早在几年前挖站否就已经分享过了Matomo的安装方法:Piwik(Matomo)免费开源的PHP统计系统,这篇文章主要是分享新版的Matomo安装与使用教程,更多的实用建站工具还有:
- 分享八个优秀的免费PHP探针-实时检测PHP信息,服务器运行和流量
- 十大免费高清图库网站-免费图片素材网站推荐-无版权可商用的图片
- 十个好用的服务器和网站在线测速和Ping工具-在线Ping,网站测速和路由追踪
PS:更新记录.
1、想要更多的免费统计工具和程序,这里还有:十大免费开源的网站统计程序-自建网站统计工具 可视化数据分析。2022.7.31
2、想要一个个人的wiki,你可以试试Wiki.js开源免费程序:Wiki.js开源免费wiki程序安装与使用教程-界面简洁美观支持多种编辑器。2022.7.21
一、Matomo安装前准备
网站:
- 官网:https://matomo.org
- 项目:https://github.com/matomo-org/matomo
- 演示: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程序包从官网下载并上传到你的网站根目录下。
在VPS主机上配置好Apache、Mysql和PHP环境建议使用一键安装包或者面板,例如:Oneinstack、LNMP一键安装包和宝塔面板。VPS安装web环境时,请选择Apache安装。
2.1 环境检测
现在打开你的域名,就可以看到Matomo安装界面了。
Matomo首先会检查一下你的安装环境是否符合要求,例如一些函数被禁用了,Matomo会提示让开启。
shell_exec
It is recommended to turn on this PHP built-in function
开启禁用函数也很简单,用的如果是宝塔面板的话可以直接在后台删除禁用函数,如果用的是Oneinstack等一键安装包的话,可以在php.ini配置文件中找到禁用函数一栏,删除你需要使用的到的函数即可。
2.2 数据库配置
然后是Matomo数据库配置。直接填写你已经创建好的Mysql数据库账号、密码等信息,数据库服务器地址如果填写:127.0.0.1提示有错误,可以改填写:localhost。
然后就是创建Matomo管理员了。
2.3 完成安装
最后就是添加第一个你想要统计访客的网站了。
Matomo会生成一段JS代码,将这段代码放在你想要统计的网站的各个页面即可。
三、用Docker安装Matomo
网站:
- 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
路径下看到自己刚刚创建的两个文件了。
3.2 开始执行安装
执行:cd /root/matomo
,然后就是运行Docker容器了:sudo docker-compose up -d
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的安装界面了。
使用Docker来安装Matomo,在填写数据库服务器地址时写:db
,账号就是刚刚你在创建 .env
时设置 MARIADB_USER
的,默认的就是matomo
,密码就是自己设置 MARIADB_PASSWORD
的密码。(点击放大)
3.5 调整配置文件
填写完了数据库,接下来就是进入到正常的Matomo进程了,安装成功后,你可能还会看一个大的警告:
警告: 您现在是通过 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
。
然后打开它,在 [General]
区域下添加以下代码:
trusted_hosts[] = "localhost:8080" assume_secure_protocol = 1 force_ssl = 1
这段代码是告诉Matomo当前使用的是8080端口是安全的。
保存后,再次进入Matomo,你就可以正常地登录和使用Matomo了。
四、Matomo WP插件安装
Matomo提供了Wordpress插件,只要你有一个Wordpress博客,安装了Matomo WordPress插件就可以立即将WP变成自带统计工具了。
插件:
- https://wordpress.org/plugins/matomo/
五、Matomo统计功能介绍
Matomo统计功能非常地多,也很强大,下图为Matomo的界面,可以看到Matomo包含了访客分析、行为、获客分析、转化与收益分析等。(点击放大)
5.1 实时访客
在Matomo统计里可以查看到网站的实时访客信息。
访客的地域可以直接支持省、市。
Matomo对国内的省市位置也分得很精细。
5.2 行为统计
在Matomo里可以清楚地看到网站的访客对哪些页面感兴趣。
包括了来源页面、进入页面、事件、忠诚度等分析。
Matomo还可以生成访客的行为统计瀑布图,方便你查看统计。
5.3 来源统计
Matomo的来源统计功能也很强大。(点击放大)
Matomo可以清楚显示搜索引擎来源。
另外,Matomo支持WooCommerce等电商统计。
六、总结
Matomo统计功能强大,安装方便,但同时也是一个非常消耗资源的网站统计程序,所以如果你要统计的网站浏览量非常大的话,建议使用更高配置的VPS主机以及增加CDN加速和多服务器动态均衡的策略。
VPS主机上运行多个Docker推荐使用可视化的容器管理工具:Docker可视化容器管理工具Portainer – 让Docker安装与管理更简单。
文章出自:挖站否 https://wzfou.com/matomo/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。
- 十大免费开源的网站统计程序-自建网站统计工具 可视化数据分析
- Matomo自建网站统计工具-Matomo开源免费功能强大的网站统计分析程序
- Umami自建网站统计工具-免费开源的网站访问流量统计分析平台
本来是看上 session record 才想试一下,结果安装完发现竟然还收费……