基于CentOS7的Matomo网站统计分析工具
Matomo的前身是Piwik,是一套基于 PHP5+MySQL 技术构建的开源网站访问统计系统。Matomo可以给你详细的统计信息,比如网页浏览人数,访问最多的页面,搜索引擎关键词等等流量分析功能。此外,它还采用了插件扩展及开放 API 架构,可以让用户根据自已的实际需求创建更多的功能。Matomo让网站拥有自己的流量统计工具成为可能。
目录
工具简介
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
需要采用最新的版本安装,首先卸载老版本的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
启动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
输入密码登录完成登录。
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.conf
server {
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查看编译是否成功,看到版本信息则为成功。
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/进入到配置页面。
安装语言
系统检查
系统检查是否满足条件,如果不满足条件,根据提示进行修复即可。
数据库设置
设置相应到数据库信息。数据库账号为piwik,密码为之前设置到password,设置数据库名称为piwik。
设置超级用户
网站配置
网站信息录入之后,会自动生成网站埋点代码,根据提示使用即可。
完成配置
点击下一步,即可完成。
7 系统登录
点击继续使用,中间可能会提示升级等信息,完成后即可进入登录界面。
登录后即可看到内部的页面信息。
8 系统总结
Matomo的特点:
- 100% 数据自主 —— 私有部署方案
- 灵活性
- 可靠性和安全性
- 易用
- 用户隐私保护
- 开源
- 遵循 GDPR
- 超过 100 个扩展支持
Matomo 为用户提供的功能:
- 基于 Web 和移动端的分析
- 交互优化特性 (热力图, 会话记录, AB 测试, 漏洞统计, 表单分析)
- 访客画像
- 标签管理
- 无数据限制
- 无数据采样
- 白标报告和定制设计界面
Matomo 的价值:
- 开放性
- 自由度
- 透明度
- 数据所有权
- 隐私保护
- Kaizen (改善)
参考资料
[1] Matomo官网
[2] Matomo中文网站
[3] Matomo 网站访问统计系统
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)