一简单介绍
1.piwik介绍
Piwik是一个PHP和MySQL的开放源代码的Web统计软件,它给你一些关于你的网站的实用统计报告,比如网页浏览人数,访问最多的页面,搜索引擎关键词等等。
Piwik拥有众多不同功能的插件,你可以添加新的功能或是移除你不需要的功能,Piwik同样可以安装在你的服务器上面,数据就保存在你自己的服务器上面。你可以非常容易的插入统计图表到你的博客或是网站亦或是后台的控制面板中。安装完成后,你只需将一小段代码放到将要统计的网页中即可。
2.piwik概况
Piwik支持插件,你可以通过插件扩展Piwik的功能,或者去掉一些不需要的功能。用户的界面支持Ajax技术是可定制的,你可以轻松拖放控件,定制自己需要的报告。
使用者独立拥有自己的统计数据,而不是寄存在服务商那里,这样就可以更灵活的使用统计数据,不用担心数据丢失问题。
Piwik是安装在服务器端的统计工具,安装过程很简单,但是需要服务器支持PHP和MySQL。安装的时候上传Piwik到服务器端,然后打开浏览器,Piwik会自动运行安装,整个过程不超过5分钟。目前Piwik已支持中文
二安装
官网:https://piwik.org
我的阿里云的部署环境:

[root@iZ2zeigj97j9lf057px8tmZ ~]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
可以比我这个版本高
由于我想安装piwik3.2版本
所以需要的环境最低是:php5.6和mysql5.7
网站服务用:apache和nginx都可以
为了方便环境管理,就在这里直接使用nginx环境
mysql官网:https://dev.mysql.com
php官网:http://php.net/
nginx官网:http://nginx.org/

源码包放在百度云盘中

百度云盘链接:http://pan.baidu.com/s/1dE3gUbB 密码:rpst

为了节省时间,我们使用glibc版本的mysql

2.1安装mysql

[root@iZ2zeigj97j9lf057px8tmZ software]# mkdir -pv /home/mysql/data
[root@iZ2zeigj97j9lf057px8tmZ software]# tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /home/mysql
[root@iZ2zeigj97j9lf057px8tmZ software]# mv /home/mysql/mysql-5.7.18-linux-glibc2.5-x86_64/* /home/mysql/
[root@iZ2zeigj97j9lf057px8tmZ software]# useradd -g mysql
初始化数据库
[root@iZ2zeigj97j9lf057px8tmZ software]# /home/mysql/bin/mysqld --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data --initialize

红框中的密码要牢记,一会数据库修改密码,需要用到
数据库部署
[root@iZ2zeigj97j9lf057px8tmZ software]# cp /home/mysql/support-files/mysql.server /home/mysql/support-files/mysql.server.start
[root@iZ2zeigj97j9lf057px8tmZ software]# vim /home/mysql/support-files/mysql.server.start

[root@iZ2zeigj97j9lf057px8tmZ software]# /home/mysql/support-files/mysql.server.start start
[root@iZ2zeigj97j9lf057px8tmZ software]# ln -s /home/mysql/bin/mysql /usr/bin/mysql
[root@iZ2zeigj97j9lf057px8tmZ software]# vim /etc/my.cnf
如果没有my.cnf就自己添加如下内容
[mysqld]
basedir = /home/mysql
datadir = /home/mysql/data
character_set_server=utf8
init_connect='SET NAMES utf8'

[client]
default-character-set=utf8

[root@iZ2zeigj97j9lf057px8tmZ software]# cp /home/mysql/support-files/mysql.server.start /etc/init.d/mysqld
[root@iZ2zeigj97j9lf057px8tmZ software]#chmod 755 /etc/init.d/mysqld
[root@iZ2zeigj97j9lf057px8tmZ software]#service mysqld start
修改mysql初始化密码
不过不改,会有提示
You must reset your password using ALTER USER statement before executing this statement   
# 意思就是你必须重置你的密码在执行这个execute操作前

所以进入mysql后进行密码更新
[root@iZ2zeigj97j9lf057px8tmZ software]#mysql -u root -p
前面出现的密码,在这里填入
mysql> SET PASSWORD = PASSWORD('123456');
mysql> grant all on *.* to 'root'@'%' identified by '123456';
mysql> flush privileges;
完成后为了安装piwik需要创建相关数据库和权限
mysql> create database piwik; 
mysql> grant all on piwik.* to piwik@locahost identified by '123456';  
mysql> flush privileges;
刷新权限后,退出。

2.2安装php
[root@iZ2zeigj97j9lf057px8tmZ software]# tar -zxvf php-5.6.30.tar.gz
[root@iZ2zeigj97j9lf057px8tmZ software]# cd /software/php-5.6.30
[root@iZ2zeigj97j9lf057px8tmZ php-5.6.30]# ./configure --prefix=/software/php --with-config-file-path=/etc --with-mysql --with-mysqli=/home/mysql/bin/mysql_config --enable-inline-optimization --enable-fpm --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --disable-mbregex --disable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-pdo-mysql --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets--enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear
[root@iZ2zeigj97j9lf057px8tmZ php-5.6.30]#make && make install
[root@iZ2zeigj97j9lf057px8tmZ php-5.6.30]#cd /software/php/etc/
[root@iZ2zeigj97j9lf057px8tmZ etc]#cp php-fpm.conf.default php-fpm.conf
[root@iZ2zeigj97j9lf057px8tmZ php-5.6.30]#cp /software/php-5.6.30/php.ini-production /etc/php.ini
[root@iZ2zeigj97j9lf057px8tmZ php-5.6.30]#cp /software/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@iZ2zeigj97j9lf057px8tmZ php-5.6.30]#/software/php/sbin/php-fpm -t

[root@iZ2zeigj97j9lf057px8tmZ php-5.6.30]#service php-fpm start
[root@iZ2zeigj97j9lf057px8tmZ php-5.6.30]#netstat -ntlp | grep php-fpm

2.3安装nginx
[root@iZ2zeigj97j9lf057px8tmZ software]#tar -zxvf nginx-1.10.2.tar.gz
[root@iZ2zeigj97j9lf057px8tmZ software]#cd nginx-1.10.2
[root@iZ2zeigj97j9lf057px8tmZ software]#./configure --user=www --group=www --prefix=/software/nginx \
--conf-path=/software/nginx/conf/nginx.conf \
--pid-path=/software/nginx/run/nginx.pid \
--lock-path=/software/nginx/lock/nginx \
--with-stream \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_perl_module \
--with-mail \
--with-mail_ssl_module
[root@iZ2zeigj97j9lf057px8tmZ software]#make && make install
2.4修改nginx的配置文件,配合piwik的安装
[root@iZ2zeigj97j9lf057px8tmZ ~]# cat /software/nginx/conf/nginx.conf
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/

user www;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
#include /usr/share/nginx/modules/*.conf;

events {
worker_connections 1024;
}

http {
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 /var/log/nginx/access.log main;

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

include /etc/nginx/mime.types;
default_type application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /software/nginx/conf/conf.d/*.conf;

# server {
# listen 80 default_server;
# server_name _;
# root /usr/share/nginx/html;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }
server {
listen 80;
server_name 182.92.86.125;
root /var/www/piwik;
index index.php index.html index2.htm;

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/piwik$fastcgi_script_name;
}
}
}
nginx解析php项目

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/piwik$fastcgi_script_name;
}

[root@iZ2zeigj97j9lf057px8tmZ software]#/software/nginx/sbin/nginx -t

文件正常后,启动nginx
[root@iZ2zeigj97j9lf057px8tmZ software]#/software/nginx/sbin/nginx

2.4部署piwik
[root@iZ2zeigj97j9lf057px8tmZ ~]#mkdir -pv /var/www/piwik
[root@iZ2zeigj97j9lf057px8tmZ software]#unzip piwik.zip
[root@iZ2zeigj97j9lf057px8tmZ software]#cp -r /software/piwik/* /var/www/piwik/
打开网站后报错,并提示你如何处理

[root@iZ2zeigj97j9lf057px8tmZ software]# chown -R nobody:nobody /var/www/piwik
[root@iZ2zeigj97j9lf057px8tmZ software]# chmod -R 755 /var/www/piwik/

修改为中文后,继续下一步,发现一个php相关的预警报错

安装提示修改php.ini
为预防某些严重问题,您必须在 php.ini 文件中加入如下几行:always_populate_raw_post_data=-1
做过这个改动之后,请重新启您的网络服务器。
修改文件 vim /etc/php.ini
加入如下几行:always_populate_raw_post_data=-1

重启服务 service php-fpm restart
此时在看正常后,下一步

填写相关的数据库内容

点击下一步却报错了,如下图

说明,数据库处理有问题,参考数据库安装管理,查看用户权限密码等

发现指定登录是没有问题的,有可能是php页面的输入写错了,重新输入看看
仍然不行,尝试放大权限看看
mysql> grant all on piwik.* to piwik@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.04 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
虽然通过了,但是报错告警了,说是有重复的数据库,于是点击,删掉

干掉重复的

于是正常的进入下一个环节了

继续进入下一个环节

admin
123456
然后下一个环节

下一步

<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//172.16.1.225/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Piwik Code -->
将代码给前端处理加入,就好了,完活了

代码部署完成后,就可以看到效果了
有时你会看到这个,直接点升级就好了

升级后效果如下

可以选择打赏,有钱的大人可以给点
继续后,进入正式界面

和前端配合后,就可以看到效果 了

piwik源码安装部署的更多相关文章

  1. 在ConoHa上Centos7环境下源码安装部署LNMP

    本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...

  2. Zabbix源码安装部署

    zabbix源码部署安装 参考文档:https://www.zabbix.com/documentation/4.0/manual/installation/install ​ https://www ...

  3. Thingsboard源码安装部署

    交流QQ群 如果安装有其他问题,可以到QQ群求助 环境安装 开发环境要求:Jdk 1.8版本Postgresql 9以上Node.jsNpmMaven 3.6以上Git工具Idea开发工具 JDK 下 ...

  4. kubernetes 源码安装部署 1.12

    一. 前期准备 参考文档 https://jimmysong.io/kubernetes-handbook/practice/create-tls-and-secret-key.html 1. 安装g ...

  5. 源码安装部署redis

    下载redis源码包 解压 编译安装 ./configure PREFIX=/data/apps/rediscd /data/apps/redismake && make instal ...

  6. 使用Salt-ssh部署Salt-minion之源码安装(二)

    二.源码安装篇 使用salt-ssh功能要求客户端系统python版本2.6+ 1.salt-minion端环境: 系统:SUSE SP3 64bit python版本:2.6.6 RPM包:pcre ...

  7. 部署zabbix监控平台(源码安装)

    案例:部署Zabbix监控平台 1 问题 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 安装LNMP环境 源码安装Zabbix 安装监控端主机,修改基本 ...

  8. 部署 LNMP(源码安装版本)shell脚本

    #!/bin/bash # 一键部署 LNMP(源码安装版本) menu() { clear echo " ##############‐‐‐‐Menu‐‐‐‐##############& ...

  9. 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目

    一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...

随机推荐

  1. Linux网络设备驱动的实现

    结论: 1.对一个设备驱动而言,主要从两个方面进行着手,一个是控制流,一个是数据流. 控制流就是如何控制网络设备,数据流则说的是报文的收发流程. 2.网络设备可以是Linux服务器的网卡,也可以是嵌入 ...

  2. MMU学习总结

    待完善 一.MMU主要完成哪些事务? 二.PowerPC上的BAT.LAW是做什么用的? 三.

  3. echarts雷达图点击事件 包含(2.x,3.85,4.02)测试

    最近看见别人问的问题,点击雷达图的拐点,获取点击数据的问题,直接上代码. echarts 2x 的点击事件 echarts配置问题:https://www.douban.com/note/509404 ...

  4. Android--使用JobService实现进程保活

    进程保活一直是广大APP开发者所希望的,因为进程活着我们就可以操作很多事情(推送,数据同步等等),但是google大大是不允许这样做的(优化),所以我们要另辟蹊径. 先来看看android中有几种进程 ...

  5. leetcode-53.最大子序和

    leetcode-53.最大子序和 题意 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,- ...

  6. 钉钉扫码登录web网站

    钉钉扫码登录网站 前言  由于本公司前后台分离,这里主要讲述后台的实现逻辑与过程,前端相关的一略而过.前端我们采用的是把二维码内嵌到我们的网页中. 流程如下: 1.登录钉钉后台创建一个企业应用 2.根 ...

  7. LeetCode题解之Binary Tree Right Side View

    1.题目描述 2.问题分析 使用层序遍历 3.代码 vector<int> v; vector<int> rightSideView(TreeNode* root) { if ...

  8. 关于一体机外卖单不打印外卖单号FAQ(适用正餐6.0.09,轻餐4.0.6.1,轻餐4.0.6.2)

    适用情景:升级版本后打印机打印出的外卖小票不出现外卖单号. 解决方案:设置-功能设置-小票设置-小票自定义-前台小票-外卖订单-------选择编辑,选中右侧中外卖单号或者外卖订单编号,点击保存即可. ...

  9. [20181226]简单探究cluster table.txt

    [20181226]简单探究cluster table.txt --//简单探究cluster table.以前也做过,有点生疏了. 1.环境:SCOTT@book> @ ver1PORT_ST ...

  10. EXT.NET初学

    1.ext:Hidden 必须在body里面有ext:ResourceManager的情况下才能运行 2.ext:Store里面不能有文字