免费建站网站网页,长沙债务优化公司,手机商城怎么做,合肥seoMatomo 文章目录 Matomo前言一、环境准备1. 整体安装流程2.安装PHP 7.3.303.nginx配置4.安装matomo4.1 访问安装页面 http://192.168.10.45:8088/index.php4.2 连接数据库4.3 设置管理员账号4.4 生成js跟踪代码4.5 安装完成4.6 警告修改4.7 刷新页面#xff0c;就可以看到登陆…Matomo 文章目录 Matomo前言一、环境准备1. 整体安装流程2.安装PHP 7.3.303.nginx配置4.安装matomo4.1 访问安装页面 http://192.168.10.45:8088/index.php4.2 连接数据库4.3 设置管理员账号4.4 生成js跟踪代码4.5 安装完成4.6 警告修改4.7 刷新页面就可以看到登陆页面 二、Matomo使用1. JS代码跟踪1.1 获取生成js1.2 网站粘贴js代码1.3 访问后查看报表1.4 js方法封装1.5 测试代码1.6 报表 2. IMG跟踪使用img标签追踪img标签追踪链接 3. HTTP API 跟踪注意必填参数api测试 4.HTTP API 获取报告4.1 创建身份验证token 身份验证4.2 拼接查询参数4.3 发起请求 Matomo: 一款开源的网站数据分析统计平台以前称为 Piwik可以让您轻松地从访问者那里获得您想要的信息。例如查看您的网站访问者来自何处、正在查看哪些页面、单击了哪些链接以及其他各种有用的信息。 可以用于跟踪、分析您的网站的流量同时充分保障数据安全性、隐私性 提供了丰富的报告和实时数据分析功能并提供了一套完整的隐私保护措施确保用户数据安全。 官网传送门matomo 前言
本文是为了在linux系统上安装matomo并使用它完成页面跟踪与统计数据获取。
一、环境准备
1. 整体安装流程 PHP 7.2.5 或者以上的版本安装php扩展pdo 和pdo_mysqlMySQL 5.5或者以上的版本nginx配置下载安装matomo 4.15.1 2.安装PHP 7.3.30 1.安装epel #yum list installed | grep php #查看已安装的PHP
#查到后rpm -e 卸载 #yum repolist all | grep php
yum install epel-release -y2.安装REMI源 rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm3.查看可以安装的PHP版本 yum repolist all | grep php4.安装管理工具 yum install yum-utils5.设置默认安装的版本 yum-config-manager --enable remi-php736.安装php yum install php7.查看php安装版本 php -v8.查看哪些可以安装的PHP扩展 yum search php74-php9.安装php拓展 yum install php74-php-bcmath php74-php-gd php74-php-pdo php74-php-mbstring php74-php-cli php74-php-fpm php74-php-mysqlnd php74-php-simplexml php74-php-develyum install php php-curl php-gd php-cli mysql-server php-mysql php-xml php-mbstring php-fpm10.运行php-fpm 修改/etc/php-fpm.d/www.conf文件 启动fpm程序 systemctl start php-fpm.service #启动 php-fpm
systemctl start php-fpm.service
#停止 php-fpm
systemctl stop php-fpm.service
#重启 php-fpm
systemctl reload php-fpm.service11.查看php扩展 php -m3.nginx配置 matomo的安装包是通过php的网页安装但php直接访问会被当成普通文件直接下载不会被编译 所以需要在nginx中配置 php-fpm 解释器 nginx.conf文件配置 user nginx nginx;
#user nobody;
worker_processes 1; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;#log_format main $remote_addr - $remote_user [$time_local] $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 8088;server_name 192.168.10.45;charset utf-8;root /matomo/matomo;#location / {# try_files $uri $uri/ /index.php?$query_string;#}location / {index index.php index.html index.htm;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}}}
重启nginx nginx -s reload
4.安装matomo
# 解压matomo压缩包
unzip matomo-latest.zip -d ./#给解压的安装包赋权限
chown -R nginx:nginx /matomo
chown -R 777 /matomo/*注如果出现 nginx No input file specified错误检查nginx错误日志如有 FastCGI sent in stderr: Primary script unknown while reading response header from upstream 尝试关闭selinux解决:setenforce 0。 安全增强型LinuxSELinux是一个Linux内核的功能它提供支持访问控制的安全政策保护机制。记录操作如何关闭SELinux并且避免系统无法启动的问题。执行命令setenforce 0临时关闭SELinux 4.1 访问安装页面 http://192.168.10.45:8088/index.php 4.2 连接数据库 4.3 设置管理员账号 4.4 生成js跟踪代码 !-- Matomo --
scriptvar _paq window._paq window._paq || [];/* tracker methods like setCustomDimension should be called before trackPageView */_paq.push([trackPageView]);_paq.push([enableLinkTracking]);(function() {var u//192.168.10.45/;_paq.push([setTrackerUrl, umatomo.php]);_paq.push([setSiteId, 1]);var ddocument, gd.createElement(script), sd.getElementsByTagName(script)[0];g.asynctrue; g.srcumatomo.js; s.parentNode.insertBefore(g,s);})();
/script
!-- End Matomo Code -- 4.5 安装完成 4.6 警告修改 修改 config.ini.php 找到 trusted_hosts[] 192.168.10.45 增加端口改为 trusted_hosts[] 192.168.10.45:8088 另外还需要再增加一行 enable_trusted_host_check0用于跳过受信任检测否则反代之后登录可能会失败 4.7 刷新页面就可以看到登陆页面
二、Matomo使用
1. JS代码跟踪 1.1 获取生成js 1.2 网站粘贴js代码 1.3 访问后查看报表 1.4 js方法封装 官方api参数https://developer.matomo.org/guides/tracking-javascript-guide // https://developer.matomo.org/guides/tracking-javascript-guide/** 页面地址信息上报 */
const setCustomUrl (url) {window._paq.push([setCustomUrl, ${url}])
}/** 页面标题信息上报 */
const trackPageView (title) {window._paq.push([trackPageView, ${title}])
}/** 用户信息userId上报 */
const setUserId (userId) {window._paq.push([setUserId, ${userId}])window._paq.push([trackPageView])
}/** 重置userId这里多次调用trackAllContentImpressions是为了在退出登录的时候重置调userId并在下一次登录时重新生成一条最新的记录 */
const resetUserId () {// UserID passed to Matomo (see https://developer.matomo.org/guides/tracking-javascript-guide#user-id)window._paq.push([resetUserId])window._paq.push([trackAllContentImpressions, new_visit1])window._paq.push([trackPageView])window._paq.push([trackAllContentImpressions])
}/*** 点击外网地址* param url*/
const setDomains (url) {_paq([setDomains, [url]]);_paq.push([trackPageView]);
}/*** 行为埋点* $matomo.trackEvent(行为类别, 事件, name, value)* behaviorCategory 行为类别* event 事件* name 事件名称* value 事件值*/
const trackEvent (behaviorCategory, event, name, value) {window._paq.push([trackEvent, ${behaviorCategory}, ${event}, ${name}, ${value}])
}const matomoFun {setCustomUrl, trackPageView, setUserId, resetUserId, trackEvent
}export default matomoFun; 1.5 测试代码 matomoF(item) {console.log(matomo--, item);matomoFun.setUserId(xxx123123xxx);matomoFun.trackEvent(风险申报, 点击matomo按钮, 测试事件,item.id);
},1.6 报表
2. IMG跟踪 使用img标签追踪 当访客禁用 JavaScript 或者无法使用 JavaScript 时img标签追踪功能Image Tracking允许您使用img标签中的链接来进行访客统计。 在下方产生链接并将生成的 HTML 粘贴到网页中。如果要把它用作 JavaScript 的追踪功能失败时的备用方式您可以把它放在 noscript/noscript 标签中。 查看 追踪 API 说明文档阅读可用于img标签追踪链接的全部参数列表。 img标签追踪链接 !-- Matomo Image Tracker--
img referrerpolicyno-referrer-when-downgrade srchttp://192.168.10.45:8088/matomo.php?idsite1amp;rec1 styleborder:0 alt /
!-- End Matomo --3. HTTP API 跟踪 要跟踪页面浏览量、事件、访问量必须向跟踪 HTTP API 端点发送 HTTP 请求GET 或 POST例如http://192.168.10.45:8088/matomo.php 设置了正确的查询参数。 官方参数地址https://developer.matomo.org/api-reference/tracking-api 在线API URL生成器https://http-builder.openmost.io/ 注意必填参数 idsite (required) — The ID of the website we’re tracking a visit/action for. idsite 必填 — 我们跟踪其访问/操作的网站的 ID。rec (required) — Required for tracking, must be set to one, eg, rec1. rec required — 跟踪时需要必须设置为 1例如 rec1 . api测试 查看报表
4.HTTP API 获取报告 Matomo中的所有数据都可通过简单的API接口获取。这个插件是Web服务的切入点那你可以通过调用获取你想要的网站分析的数据比如XMLJSONPHPCSV等。 Matomo API 介绍 和 Matomo API 参考资料。 4.1 创建身份验证token 身份验证 如果要在脚本crontab等中请求数据则需要将URL参数token_auth添加到需要身份验证的API调用URL中。 注意超级管理员和编辑权限生成的令牌是不能在查询中使用的所以要换其他只读账号生成 令牌: 3c0a2e399a490607f029ae35a727b357 4.2 拼接查询参数 参数规范https://developer.matomo.org/api-reference/reporting-api 标准API参数 idSite您网站的整数 ID例如。idSite1还可以指定以逗号分隔的 idSites 列表例如。idSite1,4,5,6如果要获取所有网站的数据请设置 idSiteall仅某些 API 方法支持此功能 period 您请求统计信息的时间段可以是以下任意一项日、周、月、年或范围。所有报告都根据网站的时区返回日期 dayday 返回给定日期的数据。weekweek 返回包含指定“date”的那一周的数据month返回包含指定“date”的月份的数据yearyear 返回包含指定“date”的年份的数据rangerange 返回指定“date”范围的数据。 例如要请求 1 月 1 日至 2 月 15 日范围的报告可以编写 periodrangedate2011-01-01,2011-02-15 date日期 标准格式 YYYY-MM-DD关键字 today, yesterday, lastWeek, lastMonth or lastYear. These are relative the website timezone. For example, for a website with UTC12 timezone日期范围 lastX previousX YYYY-MM-DD,YYYY-MM-DD segment定义要将报表筛选到的自定义区段。 format定义输出的格式XML、JSON、CSV、TSV、HTM、RSS filter_limit定义要返回的行数。 默认情况下仅返回前 100 行。设置为 -1 可返回所有行 moduleAPI api类型 method获取数据类型如VisitorInterest.getNumberOfVisitsPerVisitDuration 4.3 发起请求 例子为每次访问持续时间的访问次数 GET http://192.168.10.45:8088/index.php?moduleAPImethodVisitorInterest.getNumberOfVisitsPerVisitDurationidSite1perioddaydate2023-11-02token_authca369ba839f4c9c36df034fa1366de3cformatjson返回参数注释 通过以上步骤我们就可以使用linux实例来搭建自己的Matomo平台并进行网站数据分析了。 Matomo不仅可以帮助我们获取网站的基本数据还可以进行高级分析如用户行为、转化率、目标跟踪、电子商务等。此外Matomo还支持多种扩展和集成如地理位置、社交媒体、搜索引擎优化等。通过Matomo我们可以更深入地了解我们的网站和用户从而提升网站的价值和效果。
尾声 感谢小伙伴们的支持吖祝大家万圣节快乐哦