基于CentOS7的Matomo网站统计分析工具
目录
- 工具简介
- 1 安装前环境检查
- 2 开始安装PHP7.2
- 2.1 开始安装PHP
- 2.2 启动php-fpm
- 3 安装MariaDB
- 3.1 通过命令行安装MariaDB
- 3.2 初始化MaribDB
- 4 创建piwik数据库
- 4.1 创建数据库和授权
- 5 修改Nginx配置
- 5.1 方向代理配置
- 5.2 PHP文件校验
- 6 安装Matomo
- 6.1 通过包进行安装
- 6.2 配置
- 7 系统登录
- 8 系统总结
- 参考资料
工具简介
Matomo的前身是Piwik,是一套基于 PHP5+MySQL 技术构建的开源网站访问统计系统。Matomo可以给你详细的统计信息,比如网页浏览人数,访问最多的页面,搜索引擎关键词等等流量分析功能。此外,它还采用了插件扩展及开放 API 架构,可以让用户根据自已的实际需求创建更多的功能。Matomo让网站拥有自己的流量统计工具成为可能。
本文将介绍如何在CentOS7环境下大家Matomo网站统计分析工具,包括Mariadb的配置、Nginx反向代理配置、PHP安装等。
1 安装前环境检查
安装前请确保如下软件版本满足要求:
- PHP版本高于PHP5.5(选用PHP7.2)
- pdo和pdo_mysql或mysqli支持(选用mysqli)
- Mysql版本高于MySQL5.5或者使用MariaDB(选用MySQL5.7)
- Nginx或Apache或IIS做服务器(选用Nginx)
安装前请检查Linux是否内置了PHP5.4及以下版本,否则安装会出错。如果不是要求版本则逐个卸载后,按后续步骤重新安装
[root@webserver1 ~]# rpm -qa | grep php
图 1.1 目前系统中已安装等PHP版本
需要采用最新的版本安装,首先卸载老版本的PHP。
[root@webserver1 ~]# rpm -e php-mysqlnd-5.4.16-48.el7.x86_64
[root@webserver1 ~]# rpm -e php-pdo-5.4.16-48.el7.x86_64
[root@webserver1 ~]# rpm -e php-cli-5.4.16-48.el7.x86_64
[root@webserver1 ~]# rpm -e php-common-5.4.16-48.el7.x86_64
关闭selinux防火墙,否则出现index.php请求404错误,nginx的error.log错误为:
nginx FastCGI sent in stderr: “Primary script unknown”
[root@webserver1 ~]# vim /etc/selinux/config
将SELINUXTYPE=targeted修改为SELINUX=disabled
2 开始安装PHP7.2
注意:通过yum安装,如果已安装则忽略此步骤
2.1 开始安装PHP
[root@webserver1 ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@webserver1 ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@webserver1 ~]# yum -y install php72w
[root@webserver1 ~]# yum -y install php72w-cli php72w-common php72w-devel
[root@webserver1 ~]# yum install yum-utils -y
[root@webserver1 ~]# yum install php-mysqli
[root@webserver1 ~]# yum install php72w-fpm
[root@webserver1 ~]# yum install php72w-mbstring.x86_64
2.2 启动php-fpm
使用“systemctl”命令设定开机自动启动。
[root@webserver1 ~]# systemctl enable php-fpm.service
图 2.1 php-fpm开机自动启动设置成功
启动php-fpm
[root@webserver1 ~]# systemctl start php-fpm.service
3 安装MariaDB
3.1 通过命令行安装MariaDB
[root@webserver1 ~]# yum -y install mariadb-server
[root@webserver1 ~]# vim /etc/my.cnf
在[mysqld]区域下添加如下信息
[mysqld]
character-set-server=utf8
[root@webserver1 ~]# systemctl start mariadb
[root@webserver1 ~]# systemctl enable mariadb
3.2 初始化MaribDB
[root@webserver1 ~]# mysql_secure_installation
填写y并继续,输入数据库密码,通过root用户登录数据库。
[root@webserver1 ~]# mysql -u root -p
输入密码登录完成登录。
图 3.1 成功登录MariaDB
MariaDB [(none)]> select user,host,password from mysql.user;
查看所有数据库
MariaDB [(none)]> show databases;
4 创建piwik数据库
4.1 创建数据库和授权
MariaDB [(none)]> create database piwik;
MariaDB [(none)]> create user apache@localhost;
MariaDB [(none)]> grant all privileges on root.* to apache@'localhost'
MariaDB [(none)]> grant all privileges on piwik.* to piwik@'localhost' identified by 'password';
使改动生效
MariaDB [(none)]> flush privileges;
退出mariaDB
MariaDB [(none)]> exit
5 修改Nginx配置
5.1 方向代理配置
由于PHP 脚本请求全部转发到 FastCGI处理,使用FastCGI协议默认配置。配置Fastcgi服务器和程序(PHP,Python)沟通的协议。
[root@webserver1 ~]# vim /Nginx/conf/nginx.confserver {listen 8080;server_name www.demo.com;root /Nginx/html/piwik;location / {index index.php index.html index.html;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}}
重启Nginx服务
[root@webserver1 ~]# ./Nginx/sbin/nginx -s reload
5.2 PHP文件校验
在Nginx的网站根目录(/Nginx/html/piwik)下创建一个PHP文件。例如index.php内容为:
<?php phpinfo(); ?>
打开浏览器http://www.demo.com:8080/index.php查看编译是否成功,看到版本信息则为成功。
图 5.1 Nginx反向代理安装验证
6 安装Matomo
6.1 通过包进行安装
暂时将piwik的安装包下载到/Nginx/html文件夹下。
[root@webserver1 ~]# cd /Nginx/html
通过wget下载官方piwik
[root@webserver1 ~]# wget http://builds.piwik.org/piwik.zip
解压piwik
[root@webserver1 ~]# unzip piwik.zip
6.2 配置
授权piwik目录及其子目录为Nginx用户
[root@webserver1 ~]# chown -R nginx.nginx /Nginx/html/piwik
[root@webserver1 ~]# chmod 777 /Nginx/html/piwik/tmp
[root@webserver1 ~]# chmod a+w /Nginx/html/piwik/config
[root@webserver1 ~]# chmod +w /Nginx/html/piwik/matomo.js
[root@webserver1 ~]# chown apache:apache /Nginx/html/piwik/matomo.js
进行端口配置,保持和Nginx一致
[root@webserver1 ~]# vim /Nginx/html/piwik/config/config.ini.php
加入如下内容
[General]
trusted_hosts[] = "www.demo.com:8080"
注:授权失败时根据安装页面提示授权即可
打开页面http://www.demo.com:8080/进入到配置页面。
安装语言
图 6.1 欢迎界面和语言选择
系统检查
系统检查是否满足条件,如果不满足条件,根据提示进行修复即可。
数据库设置
设置相应到数据库信息。数据库账号为piwik,密码为之前设置到password,设置数据库名称为piwik。
图 6.2 数据库配置 无错误到话,将提示数据库创建完成,如有错误则根据提示进行修复。
设置超级用户
图 6.3 用户信息配置 提示超级用户创建成功后,录入需要检测到网站信息
网站配置
图 6.4 网站信息配置
网站信息录入之后,会自动生成网站埋点代码,根据提示使用即可。
图 6.5 网站信息配置成功界面
完成配置
点击下一步,即可完成。
图 6.6 配置完成
7 系统登录
点击继续使用,中间可能会提示升级等信息,完成后即可进入登录界面。
图 7.1 登录界面
登录后即可看到内部的页面信息。
图 7.2 内部界面
8 系统总结
Matomo的特点:
- 100% 数据自主 —— 私有部署方案
- 灵活性
- 可靠性和安全性
- 易用
- 用户隐私保护
- 开源
- 遵循 GDPR
- 超过 100 个扩展支持
Matomo 为用户提供的功能:
- 基于 Web 和移动端的分析
- 交互优化特性 (热力图, 会话记录, AB 测试, 漏洞统计, 表单分析)
- 访客画像
- 标签管理
- 无数据限制
- 无数据采样
- 白标报告和定制设计界面
Matomo 的价值:
- 开放性
- 自由度
- 透明度
- 数据所有权
- 隐私保护
- Kaizen (改善)
参考资料
[1] Matomo官网
[2] Matomo中文网站
[3] Matomo 网站访问统计系统
基于CentOS7的Matomo网站统计分析工具相关推荐
- 基于NodeJS的视频网站爬虫工具
闲暇时间写了一个基于nodejs的爬虫工具,可以对视频网址等站点进行爬取数据 示例站点为dilidili动漫网 http.cheerio用于获取网站Dom数据 exceljs用于生成excel文件 C ...
- 网站建设工具对比:IM Creator, Mobirise, Webydo以及uKit
http://www.zcool.com.cn/article/ZNjE3NjA4.html 准备好正式建设以及发布你的网站了吗?为了节省时间.精力和金钱,网站建设工具可能是你会第一个考虑的快速发布一 ...
- httpstat:一个检查网站性能的 curl 统计分析工具
httpstat:一个检查网站性能的 curl 统计分析工具 httpstat 是一个 Python 脚本,它以美妙妥善的方式反映了 curl 统计分析,它是一个单一脚本,兼容 Python 3 ,在 ...
- linux http 分析工具,技术|httpstat:一个检查网站性能的 curl 统计分析工具
httpstat 是一个 Python 脚本,它以美妙妥善的方式反映了 curl 统计分析,它是一个单一脚本,兼容 Python 3 ,在用户的系统上不需要安装额外的软件(依赖). 从本质上来说它是一 ...
- 5 个基于Linux命令行的文件下载和网站浏览工具
Linux命令行是GNU/Linux中最神奇迷人的部分,它是非常强大的工具.命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大.Linux Shell支持多种不同类型的 ...
- 基于CentOS7系统一键配置Aria2 实现服务器离线下载工具
我们有些网友购买的海外VPS主机并不是用来做网站的,而是用来作为下载资源工具使用的.确实用这样的工具搭建之后是比本地下载速度快,因为有些资源.软件等是海外资源,而且挂载在服务器上不占用本地的资源.在这 ...
- php网站跨站脚本监测,基于PHP的在线跨站脚本检测工具.pdf
基于PHP的在线跨站脚本检测工具.pdf 2015年 l0月 15日 现代电子技术 0ct.2015 第38卷第2O期 ModernElectronicsTechnique V01.38No.20 基 ...
- openstack 系列: 基于CentOS7系统使用packstack工具单节点部署openstacktrain---Part-I安装简易命令
1说明 本人非linux专业人士,更不是云计算专家 部署过程是从各大博客自己百度知道 各种搜索排查,硬是搭起了train环境 过程纠结,先是在win 10 vmware 上安装centos7 再基于c ...
- 基于Python的招聘网站爬虫及可视化的设计与实现
摘 要 I Abstract II 引 言 1 第1章 课题概述 2 1.1 课题内容 2 1.2 课题背景 2 1.3 课题意义 3 1.4 运行环境 3 1.5 相关技术 3 1.5.1 Pyth ...
最新文章
- linux gcc安装
- JVM最多支持多少个线程?
- 开源 免费 java CMS - FreeCMS1.5 标签 guestbookPage
- chrome源代码目录结构简介
- nginx1.10.3 php7.0,centos7.2源码安装php7.0.9和nginx1.10.3服务器
- nginx(五)rewrite
- KMP--找子串2.0
- python列表数据写入txt文件_Python将列表数据写入文件(txt, csv,excel)
- Machine Learning——Homework 7
- ...提升网站程序开发安全的6大诀窍...
- 人月神话(40周年中文纪念版)
- 电信机顶盒怎么连接鸿蒙系统电视,电信机顶盒的密码是多少,怎么改密码
- DTM测试里无线Modem应该选哪种MCU?
- 阿里云DRDS分布式数据库 - 分库分表
- 批量给视频添加背景图片的操作方法
- 第十二章 软件壳(四)(代码抽取型壳)
- JVM学习笔记07-垃圾回收
- idea双击打不开我的解决方法
- apktool 用法命令详解
- 建武28a对讲机最大距离_TH-28A对讲机使用方法说明