使用piwik做网站统计
Table of Contents
虽然有百度统计和 Google Analytics 可以帮助我们做网站统计,但是有时候我们可能不愿意把数据上传到外网,或者是内部系统不能访问外网。这个 时候,我们就需要自己搭建一套网站统计系统。幸好,我们有piwik,它是一个Php编写的开源网站统计系统,基于GPL,可以免费试用。
安装前需要先确定你的Linux的版本。如果你的系统版本太低,就只能下载版本稍低的软件。我安装的时候就遇到了最新版mysql无法安装的情况。我 的解决办法是下载了一个低版本的mysql。
[j@localhost ~]$ lsb_release -a LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch Distributor ID: CentOS Description: CentOS release 5.6 (Final) Release: 5.6 Codename: Final
下面几篇文章已经介绍的很清楚了,大家如果在安装的时候遇到问题,可以参考它们。我这里只列出我的操作脚本。
- nginx+php的配置 http://www.cnblogs.com/jsckdao/archive/2011/05/05/2038265.html
- Linux下安装、启动MySQL :http://blog.csdn.net/wy3552128/article/details/8143686
编译安装Nginx
wget -c http://softlayer-ams.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.zip? wget -c http://nginx.org/download/nginx-1.5.13.tar.gz? unzip pcre-8.34.zip tar -zxvf nginx-1.5.13.tar.gz cd nginx* ./configure --with-http_stub_status_module --prefix=/home/will/nginx --with-pcre=../pcre-8.34 make && make install
安装 mysql
wget -c http://cdn.mysql.com/Downloads/MySQL-5.1/MySQL-client-community-5.1.73-1.rhel5.x86_64.rpm wget -c http://cdn.mysql.com/Downloads/MySQL-5.1/MySQL-server-community-5.1.73-1.rhel5.x86_64.rpm rpm -ivh MySQL-client-community-5.1.73-1.rhel5.x86_64.rpm rpm -ivh MySQL-server-community-5.1.73-1.rhel5.x86_64.rpm
安装php
wget -c wget -c http://cn2.php.net/distributions/php-5.5.8.tar.gz? -O php-5.5.8.tar.gz tar -zxvf php-5.5.8.tar.gz cd php-5.5.8 make clean ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/lib --with-mysqli --with-zlib --enable-track-vars --with-xml --with-gd --enable-gd-native-ttf --with-freetype-dir=/usr/include/freetype2/freetype/ --with-mbstring --enable-mbstring=all make && make install
配置nginx 和 php
参考: nginx+php的配置 http://www.cnblogs.com/jsckdao/archive/2011/05/05/2038265.html
这里需要注意一下,有可能端口80没有打开,这样其他机器就访问不了服务器上的Nginx. 使用下面的命令打开80端口。
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #将更改进行保存 /etc/rc.d/init.d/iptables save #重启防火墙以便改动生效:(或者直接重启系统) /etc/init.d/iptables restart #查看端口占用 lsof -i:80
启动php的fastcgi进程
[root@localhost ] /usr/local/php/bin/php-cgi -b 3344 &
配置nginx
vi conf/nginx.conf
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:3344; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; }
测试安装是否成功
启动nginx
/usr/local/nginx1.5.10/sbin/nginx
如果nginx说端口已经占用,可以使用下面的命令来查看端口占用情况,并杀掉相关进程。
#查看端口占用 lsof -i:80 #通过上面的命令可以得到多个pid kill -9 [pid]
编写测试php页
vi /usr/local/nginx1.5.10/html/info.php
<?php phpinfo(); ?>
访问 http://localhost/info.php , 如果显示了php所以的配置信息,那么就基本没什么问题,已经可以用这个环境写些php代码了.
piwik
安装 piwik
wget http://builds.piwik.org/latest.zip unzip latest.zip ls mv piwik/ /usr/local/nginx1.5.10/html/ chmod -R 777 piwik
参照官方文档 安装 piwik.
使用piwik
Javascript Tracking client How-to 里介绍了如何使用。
###确认这段代码在网站所有页面的 </body> 标签之前。 <!-- Piwik --> <script type="text/javascript"> var _paq = _paq || []; #if ($piwik_title) _paq.push(['setDocumentTitle', '$piwik_title']); #else _paq.push(['setDocumentTitle', document.title]); #end #if($nick) _paq.push(['setCustomVariable', '1', '用户名', '$nick']); #end _paq.push(['trackPageView']); #foreach( $portlet in $myPortletC0 ) _paq.push(['trackPageView', '$portlet.itemId']); #end #foreach( $portlet in $myPortletC1 ) _paq.push(['trackPageView', '$portlet.itemId']); #end #foreach( $portlet in $myPortletC2 ) _paq.push(['trackPageView', '$portlet.itemId']); #end _paq.push(['enableLinkTracking']); (function () { var u = (("https:" == document.location.protocol) ? "https" : "http") + "://my.piwik.com/piwik/"; _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.defer = true; g.async = true; g.src = u + 'piwik.js'; s.parentNode.insertBefore(g, s); })(); </script> <noscript><p><img src="http://my.piwik.com/piwik/piwik.php?idsite=1" style="border:0;" alt=""/></p></noscript> <!-- End Piwik Code -->
参考
现在有LNMP一键安装包,据说可以一次性搞定所有的安装。但是,我的服务器由于不能上网,所以我采用了下载源码,scp到服务器上编译安装的方式。 下面三篇文章已经介绍的很清楚了,大家如果在安装的时候遇到问题,可以参考它们。我这里只列出我的操作脚本。
- Linux下安装、启动MySQL :http://blog.csdn.net/wy3552128/article/details/8143686
- Linux下安装、配置、启动Apache:http://blog.csdn.net/wy3552128/article/details/8143875
- Linux下安装、配置PHP环境: http://blog.csdn.net/wy3552128/article/details/8144457
下载
wget -c http://cn2.php.net/distributions/php-5.5.8.tar.gz wget -c http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.7.tar.gz wget -c http://www.webhostingjams.com/mirror/apache//apr/apr-1.5.0.tar.gz wget -c http://www.webhostingjams.com/mirror/apache//apr/apr-util-1.5.3.tar.gz wget -c http://softlayer-ams.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.zip wget -c http://cdn.mysql.com/Downloads/MySQL-5.1/MySQL-client-community-5.1.73-1.rhel5.x86_64.rpm wget -c http://cdn.mysql.com/Downloads/MySQL-5.1/MySQL-server-community-5.1.73-1.rhel5.x86_64.rpm
编译apache
tar -zxvf httpd-2.4.7.tar.gz tar -zxf apr-1.5.0.tar.gz tar -zxf apr-util-1.5.3.tar.gz unzip pcre-8.31.zip cp -rf apr-1.5.0 httpd-2.4.7/srclib/apr cp -rf apr-util-1.5.3 httpd-2.4.7/srclib/apr-util cd httpd-2.4.7/srclib/apr ./configure --prefix=/usr/local/apr make && make install cd - cd httpd-2.4.7/srclib/apr-util ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install cd - cd pcre-8.31 ./configure --prefix=/usr/local/pcre make && make install cd - cd httpd-2.4.7/ ./configure --prefix=/usr/local/apache2/ --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre --with-included-apr make && make install cd - cd php-5.5.8 make clean ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --with-mysqli --with-zlib --enable-track-vars --with-xml --with-gd --enable-gd-native-ttf --with-freetype-dir=/usr/include/freetype2/freetype/ --with-mbstring --enable-mbstring=all make && make install cd -
重启apache的命令
/usr/local/apache2/bin/apachectl restart