Here are all the needed commands to install Piwik on nginx on Ubuntu 14.04 on Rackspace Cloud Server with GeoIP PECL and GeoIP PHP modules. We are using a separate MySQL Server Instance (1 GB PVHVM, Ubuntu 14.04) with InnoDB Engine and a Web Server (2 GB PVHVM, Ubuntu 14.04) running Nginx. It is not abnormal forget own father’s name to rightly configure! However, we have reproduced the step by step commands to install Piwik on nginx on Ubuntu 14.04 on Rackspace Cloud here from recent successful installation.
What is The Backend to Install Piwik on nginx on Ubuntu 14.04 on Rackspace Cloud Server
You should optimize your WordPress installation first. We are installing on HTTPS url under a subdirectory named piwik. No special version of Piwik for Nginx is required, this is the latest Beta version. You possibly should read about PVHVM, Initial Nginx Installation and WordPress Installation, followed by Optimizing Nginx and Setup Separate Database Server. Our setup is Nginx default.
Step by Step Commands to Install Piwik on nginx on Ubuntu 14.04 on Rackspace Cloud Server
If you have custom Nginx setup, you might forget your father’s name during installation. We used Piwik before, it was Apache2, it was a nice web software. But currently the web software does not appears to be great, it is horribly slow on 2 GB Nginx server with 1 GB database server. Consider other free and open source analytics software with Piwik’s current state. It practically does not work at real time nicely.Graphs are of worser quality in today’s standard. The reason to discourage you is for the reason – it is resource hungry PHP software and with time popularity is killing it.
---
SSH to Database server and run the commands to allow your web server to access it following our older guide. We are starting from SSH on web server escaping the MySQL database creation part. You can read the above linked articles.
First, you should get the latest beta version from here :
1 | http://builds.piwik.org/ |
So, first create a directory named piwik
:
1 2 | mkdir -p /usr/share/nginx/html/piwik # default public directory location |
cd to piwik and wget the latest beta and untag it :
1 2 3 4 5 | wget http://builds.piwik.org/piwik-2.6.0-b1.tar.gz tar -xzvf piwik* && cd piwik mv * .. && .. ls && rm -r piwik piwik-2.6.0-b1.tar.gz # we are at /usr/share/nginx/html/piwik/ |
Go to https://your-domain.com/piwik
and run the browser based installer script. It will complain for setting permission, ownership etc. Copy-Paste the commands in terminal, if throws error, create the directory and then chmod. chwon command should be run last. The installation wizard will complain one binary file ( .yml
) to be missing. Get the raw file from Github’s official repo and paste on Nano, save it. chown and chmod it rightly. Unfortunately it will complain that file size is not matching. Fortunately it does not matter. Complete the installation from web interface.
Up to this step can take 1 hour. Only working from CLI on two servers needs a minimum time.
Now, if you go to their Geo IP tracing, by default Piwik uses the provider location to guess a visitor’s country based on the language. That is far from accurate, so they recommend installing and using GeoIP. GeoIP has two ways to install – GeoIP PHP and GeoIP PECL. We are describing the both :
1 2 3 4 5 6 | apt-get install build-essential php-pear php5-dev php5-geoip php5-dev libgeoip-dev # you can install components individually like apt-get install build-essential # apt-get install php-pear , if you hugely love typing apt-get pecl install geoip # you should face error, it is installed... |
Open PHP.ini file (with our Nginx config = default config, this is the PHP.ini file, do not worry) :
1 2 3 4 5 6 7 8 9 10 11 12 | nano /etc/php5/fpm/php5.ini # add these [PHP] ;AFTER THE PHP SECTION extension=geoip.so # and these [gd] ;AFTER THE gd SECTION NOT BEFORE geoip.custom_directory = /usr/share/nginx/html/piwik/misc |
Download the latest GeoLite database :
1 2 3 4 5 6 7 | cd /usr/share/nginx/html/piwik/misc wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz gunzip GeoLiteCity.dat.gz cp GeoLiteCity.dat GeoIPCity.dat # pecl do not understand GeoLiteCity.dat thats why copy, PHP GeoIP understand GeoLiteCity.dat chown www-data:www-data GeoIPCity.dat chown www-data:www-data GeoLiteCity.dat |
Add to pass fast cgi :
1 2 3 4 5 6 | nano /etc/nginx/sites-available/default # add these three where other fastcgi_param present fastcgi_param GEOIP_ADDR $remote_addr; fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code; fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name; # save it |
Now restart :
1 2 3 4 | sudo nginx -t # should be OK service nginx reload service php5-fpm restart |
Set the GeoIP tracking method from settings. Use the default java script generated by Piwik to WordPress, only replace one image file’s url from http://
to //
for HTTPS. After skipping so many steps and assuming you are an intermediate user, the word count has crossed 700 words. WordPress definite has reason behind success as web software. A noob can install it. We do not recommend this software for infrastructure or full managed Rackspace. It can potentially harm server’s performance. It is not written to run on scalable cloud infrastructure. Search for non-PHP analytics software which is open source. After Rackspace Cloud Intelligence Graph, Piwik looks pathetic.