什么是 Matomo ?
Matomo
(以前称为Piwik
)是领先的开源分析平台,可以让您轻松地从访问者那里获得您想要的信息。例如查看您的网站访问者来自何处、正在查看哪些页面、单击了哪些链接以及其他各种有用的信息。
写 Umami
时,网友 Juijote
留言推荐过 Matomo
,所以我们今天来折腾看看
文章传送门:网站分析软件Umami
前言
开始之前需要先说明两个问题:
- 官方的版本,在低版本内核(
Linux kernel < 3.16
)的群晖上,会出现下面的错误
[Tue Nov 01 05:44:11.089128 2022] [:crit] [pid 268] (38)Function not implemented: AH00141: Could not initialize random number generator
Action '-D FOREGROUND' failed.
这个 AH00141
错误除了换机器折腾外,老苏也没有更好的办法
你可以在
SSH
客户端,输入uname -a
查看内核版本
- 尝试过用群晖自带的数据库,但是连不上,没找到原因;
命令行安装
docker cli
在 SSH
客户端中依次执行下面的命令
从安全角度,涉及到
password
的地方,最好都改一下;
# 新建文件夹 matomo 和 子目录
mkdir -p /volume1/docker/matomo/{data,web}
# 进入 matomo 目录
cd /volume1/docker/matomo
# 运行 mariadb 容器
docker run -d \
--restart unless-stopped \
--name matomo_db \
-v $(pwd)/data:/var/lib/mysql \
-e MARIADB_ROOT_PASSWORD=123456 \
-e MARIADB_DATABASE=matomo \
-e MARIADB_USER=matomo \
-e MARIADB_PASSWORD=123456 \
mariadb:10.6
# 运行 matomo 容器
docker run -d \
--restart unless-stopped \
--name matomo_web \
--link matomo_db:mariadb \
-p 7880:80 \
-v $(pwd)/web:/var/www/html \
-e MATOMO_DATABASE_HOST=mariadb \
-e MATOMO_DATABASE_ADAPTER=mysql \
-e MATOMO_DATABASE_TABLES_PREFIX=ma_ \
-e MATOMO_DATABASE_USERNAME=matomo \
-e MATOMO_DATABASE_PASSWORD=123456 \
-e MATOMO_DATABASE_DBNAME=matomo \
matomo:4.13
docker compose
将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
mariadb:
image: mariadb:10.6
container_name: matomo_db
restart: unless-stopped
volumes:
- ./data:/var/lib/mysql
environment:
- MARIADB_ROOT_PASSWORD=123456
- MARIADB_DATABASE=matomo
- MARIADB_USER=matomo
- MARIADB_PASSWORD=123456
matomo:
image: matomo:4.13
container_name: matomo_web
restart: unless-stopped
ports:
- 7880:80
volumes:
- ./web:/var/www/html
environment:
- MATOMO_DATABASE_HOST=mariadb
- MATOMO_DATABASE_ADAPTER=mysql
- MATOMO_DATABASE_TABLES_PREFIX=ma_
- MATOMO_DATABASE_USERNAME=matomo
- MATOMO_DATABASE_PASSWORD=123456
- MATOMO_DATABASE_DBNAME=matomo
depends_on:
- mariadb
然后执行下面的命令
# 新建文件夹 matomo 和 子目录
mkdir -p /volume1/docker/matomo/{data,web}
# 进入 matomo 目录
cd /volume1/docker/matomo
# 修改目录权限
chmod 777 web
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:7880
就能看到主界面
选择 简体中文
设置完成就是中文了,不需要刷新
点 下一步
,进行运行环境检测
继续 下一步
,进行数据库设置
因为我们已经在环境变量中进行了设置,所以这里只要继续点 下一步
即可
一般来说如果设置没问题的话,会成功建立数据表,继续 下一步
,创建系统的超级用户
设置完成后还是点 下一步
,对要跟踪的网站进行设置,当然还是以老苏的博客为例
接下来会生成 JavaScript 跟踪代码
其中
var u="//172.22.0.3/";
这是容器内部的IP
,后面用域名访问后会发生变化;
最后一步完成后,会收到安全警告
需要修改 /docker/matomo/web/config
目录中的 config.ini.php
文件
【注意】直接修改后保存,会显示权限不足,需要我们将
config.ini.php
文件先下载到本地,修改后再覆盖上传
找到 trusted_hosts[] = "192.168.0.199"
,增加端口,改为 trusted_hosts[] = "192.168.0.199:7880"
另外还需要再增加一行 enable_trusted_host_check=0
,用于跳过受信任检测,否则反代之后登录可能会失败
刷新页面,就会显示登录界面
登录成功后的主界面
反向代理
原来老苏准备用 https://matomo.laosu.ml:444
来访问,但经老苏测试,带端口的域名不管用,也就是说收集不到信息,这一点上和 Umami
是一样的
【备注】:
- 用
Nginx Proxy Manager
反代,因为老苏的域名没备案,所以带端口,似乎不起作用;- 用
Cloudflared
反代,域名不带端口,是OK
的;
按我们预设置的域名、局域网 IP
和端口进行设置
SSL
设置
网页访问存在截端口的情况,所以还需要在 Advanced
中加入下面的代码
location / {
proxy_set_header Host $host:444;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_pass http://192.168.0.199:7880;
proxy_redirect http:// https://;
}
跟踪代码
前面我们已经讲了,带端口的域名会收集不到信息,所以如果你跟老苏一样没备案,还是用
Cloudflared
做反代吧
假设用 Cloudflared
反代的域名是https://matomo.xiaosu.ml
,就不会有什么问题了,跟踪代码中会自动变成访问的域名地址
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//matomo.xiaosu.ml/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
将 Tracking Code
放到老苏博客网站的 <head>
部分,如果正好有人访问的话,很快就会有数据
可以查看访客更详细的访问页面和停留时间
参考文档
matomo-org/matomo: Liberating Web Analytics. Star us on Github? +1. Matomo is the leading open alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. We love Pull Requests!
地址:https://github.com/matomo-org/matomo
Matomo Analytics - The Google Analytics alternative that protects your data
地址:https://matomo.org/文章来源:https://www.toymoban.com/news/detail-437457.html
matomo-org/docker: Official Docker project for Matomo Analytics
地址:https://github.com/matomo-org/docker文章来源地址https://www.toymoban.com/news/detail-437457.html
到了这里,关于多合一网络分析平台Matomo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!