piwik源码安装部署
一简单介绍
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源码安装部署的更多相关文章
- 在ConoHa上Centos7环境下源码安装部署LNMP
本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...
- Zabbix源码安装部署
zabbix源码部署安装 参考文档:https://www.zabbix.com/documentation/4.0/manual/installation/install https://www ...
- Thingsboard源码安装部署
交流QQ群 如果安装有其他问题,可以到QQ群求助 环境安装 开发环境要求:Jdk 1.8版本Postgresql 9以上Node.jsNpmMaven 3.6以上Git工具Idea开发工具 JDK 下 ...
- kubernetes 源码安装部署 1.12
一. 前期准备 参考文档 https://jimmysong.io/kubernetes-handbook/practice/create-tls-and-secret-key.html 1. 安装g ...
- 源码安装部署redis
下载redis源码包 解压 编译安装 ./configure PREFIX=/data/apps/rediscd /data/apps/redismake && make instal ...
- 使用Salt-ssh部署Salt-minion之源码安装(二)
二.源码安装篇 使用salt-ssh功能要求客户端系统python版本2.6+ 1.salt-minion端环境: 系统:SUSE SP3 64bit python版本:2.6.6 RPM包:pcre ...
- 部署zabbix监控平台(源码安装)
案例:部署Zabbix监控平台 1 问题 本案例要求部署一台Zabbix监控服务器,一台被监控主机,为进一步执行具体的监控任务做准备: 安装LNMP环境 源码安装Zabbix 安装监控端主机,修改基本 ...
- 部署 LNMP(源码安装版本)shell脚本
#!/bin/bash # 一键部署 LNMP(源码安装版本) menu() { clear echo " ##############‐‐‐‐Menu‐‐‐‐##############& ...
- 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目
一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...
随机推荐
- Cartfile学习参考博客
1.http://www.cnblogs.com/xuruofan/p/6000864.html 2.http://www.jianshu.com/p/5ccde5f22a17
- 浅谈servlet与jsp的关系
servlet是用java语言编写的,是一个java类.主要功能是用来接受.处理客户端的请求,并把处理结果返回到客户端显示.Jsp是servlet发展后期的产物.在没有jsp之前,servlet利用输 ...
- leetcode-83.删除排序链表中的重复元素
leetcode-83.删除排序链表中的重复元素 Points 链表 题意 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1- ...
- day10(闭包、import模块、函数命名空间)
#闭包:嵌套函数,内部函数调用外部函数的变量 # def outer(): # a = 1 # def inner(): # print(a) # inner() # outer() def oute ...
- struts2从认识到细化了解
目录 Struts2的介绍与执行流程 介绍: 执行流程: 运行环境搭建 基础示例 Action类的编写 介绍: 访问servlet API 补充: 配置文件 常见配置文件: 常量的配置: struts ...
- python变量类型&字符串的内建函数使用
python常用数据类型: 数字(整数int,浮点数float) 字符串 元组 列表 字典 一.格式化输出 1.1第一种格式化输出 %d整数 %f浮点数(用.*表示精确到多少位小数) %s字符串 % ...
- Redis内存数据库快速入门
Redis简介 Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理.它支持数据结构,如 字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志,具有半径查询和流的 ...
- [20190214]11g Query Result Cache RC Latches补充.txt
[20190214]11g Query Result Cache RC Latches补充.txt --//上午测试链接:http://blog.itpub.net/267265/viewspace- ...
- css属性总结
前言 有些属性不是很常用,但是工作中遇到了,记录一下,方便学习. 1.text-indent text-indent 属性规定文本块中首行文本的缩进.主要实现就像word那种首行缩进的效果. 详解ht ...
- 修改Windows默认远程端口号
1.定位注册表,[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp],右侧修改 ...