赞
踩
什么是 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
查看内核版本
在 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.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/
matomo-org/docker: Official Docker project for Matomo Analytics
地址:https://github.com/matomo-org/docker
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。