目录

  • 工具简介
  • 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网站统计分析工具相关推荐

  1. 基于NodeJS的视频网站爬虫工具

    闲暇时间写了一个基于nodejs的爬虫工具,可以对视频网址等站点进行爬取数据 示例站点为dilidili动漫网 http.cheerio用于获取网站Dom数据 exceljs用于生成excel文件 C ...

  2. 网站建设工具对比:IM Creator, Mobirise, Webydo以及uKit

    http://www.zcool.com.cn/article/ZNjE3NjA4.html 准备好正式建设以及发布你的网站了吗?为了节省时间.精力和金钱,网站建设工具可能是你会第一个考虑的快速发布一 ...

  3. httpstat:一个检查网站性能的 curl 统计分析工具

    httpstat:一个检查网站性能的 curl 统计分析工具 httpstat 是一个 Python 脚本,它以美妙妥善的方式反映了 curl 统计分析,它是一个单一脚本,兼容 Python 3 ,在 ...

  4. linux http 分析工具,技术|httpstat:一个检查网站性能的 curl 统计分析工具

    httpstat 是一个 Python 脚本,它以美妙妥善的方式反映了 curl 统计分析,它是一个单一脚本,兼容 Python 3 ,在用户的系统上不需要安装额外的软件(依赖). 从本质上来说它是一 ...

  5. 5 个基于Linux命令行的文件下载和网站浏览工具

    Linux命令行是GNU/Linux中最神奇迷人的部分,它是非常强大的工具.命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大.Linux Shell支持多种不同类型的 ...

  6. 基于CentOS7系统一键配置Aria2 实现服务器离线下载工具

    我们有些网友购买的海外VPS主机并不是用来做网站的,而是用来作为下载资源工具使用的.确实用这样的工具搭建之后是比本地下载速度快,因为有些资源.软件等是海外资源,而且挂载在服务器上不占用本地的资源.在这 ...

  7. php网站跨站脚本监测,基于PHP的在线跨站脚本检测工具.pdf

    基于PHP的在线跨站脚本检测工具.pdf 2015年 l0月 15日 现代电子技术 0ct.2015 第38卷第2O期 ModernElectronicsTechnique V01.38No.20 基 ...

  8. openstack 系列: 基于CentOS7系统使用packstack工具单节点部署openstacktrain---Part-I安装简易命令

    1说明 本人非linux专业人士,更不是云计算专家 部署过程是从各大博客自己百度知道 各种搜索排查,硬是搭起了train环境 过程纠结,先是在win 10 vmware 上安装centos7 再基于c ...

  9. 基于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 ...

最新文章

  1. linux gcc安装
  2. JVM最多支持多少个线程?
  3. 开源 免费 java CMS - FreeCMS1.5 标签 guestbookPage
  4. chrome源代码目录结构简介
  5. nginx1.10.3 php7.0,centos7.2源码安装php7.0.9和nginx1.10.3服务器
  6. nginx(五)rewrite
  7. KMP--找子串2.0
  8. python列表数据写入txt文件_Python将列表数据写入文件(txt, csv,excel)
  9. Machine Learning——Homework 7
  10. ...提升网站程序开发安全的6大诀窍...
  11. 人月神话(40周年中文纪念版)
  12. 电信机顶盒怎么连接鸿蒙系统电视,电信机顶盒的密码是多少,怎么改密码
  13. DTM测试里无线Modem应该选哪种MCU?
  14. 阿里云DRDS分布式数据库 - 分库分表
  15. 批量给视频添加背景图片的操作方法
  16. 第十二章 软件壳(四)(代码抽取型壳)
  17. JVM学习笔记07-垃圾回收
  18. idea双击打不开我的解决方法
  19. apktool 用法命令详解
  20. 建武28a对讲机最大距离_TH-28A对讲机使用方法说明

热门文章

  1. 扶桑号战舰(rmq+递归处理)
  2. 论文教程之如何写教学类研究方法
  3. Maya插件的十个究极技巧,不会等着老板让你哭
  4. 计算机国际会议排名,计算机学科国际会议排名
  5. 10的负次方的名称怎么称呼?
  6. [通信架构的演进]酣畅淋漓,听故事一样理清通信架构的变革
  7. AutoLISP 学习 (一)
  8. 大学计算机基础--1
  9. ASP.Net 实现伪静态方法及意义
  10. 韩国小姐选美连连看----android版