Como instalar o Piwik, uma alternativa ao Google Analytics

Aprenda como instalar e configurar o Piwik no Linux, ferramenta open source que é uma alternativa ao Google Analytics, para gerar métricas de análise de sites.

Há vários documentos publicados na internet explicando o que é e para que serve o Piwik, irei complementar aqui somente a minha visão sobre isso, e obviamente, ensinar a instalar.

Apesar da grande maioria dos donos de sites não se preocuparem com isso, a grande diferença entre o Analytics e o Piwik é a de que fazendo a instalação do Piwik em um servidor próprio os dados estarão em um ambiente totalmente privado, além de permitir customizações e integrações com maior controle. Pode-se definir o Piwik como: Uma solução alternativa própria e de total controle sobre as estatísticas de sites.

Neste tutorial irei mostrar como fazer a instalação da ferramenta em um servidor VPS/dedicado Linux. O sistema base usado é o Debian 8 com NginX e ISPConfig. Clique neste link e aprenda a instalar.

Piwik: Plataforma Analytics Open Source

* O servidor recomendado para esta instalação é o de U$ 10 dólares da Digital Ocean (1Gb RAM), ou maior.

Adicione o site ao painel do ISPConfig

A Acesse o menu “Sites” e clique em “Adicionar novo Site“. Deixe a maioria dos campos com o valor padrão, preencha somente o campo “Dominio” com o dominio sem http ou www, exemplo “stats.meudominio.com.br“. Obviamente você terá que usar um domínio válido.

Ainda na mesma tela, altere o campo “PHP” de Desativado para “PHP-FPM“. Em seguida clique no botão Salvar e aguarde um minuto para que a estrutura do site seja criada.

B Edite o site recém salvo e clique na aba “Opções”. No campo “php.ini personalizado” cole os parâmetros abaixo, note que o ISPConfig permite que sejam configuradas variáveis PHP e NginX personalizadas para cada site:

always_populate_raw_post_data=-1

Na mesma aba “Opções”, no campo “Diretivas do Nginx“, cole as regras abaixo. Isso permitirá que o Piwik trate os erros do site, caso contrário o NginX interceptará os erros:

log_not_found off;

location @php {
   try_files $uri =404;
   include /etc/nginx/fastcgi_params;
   fastcgi_pass unix:/var/lib/php5-fpm/web1.sock;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_intercept_errors off; 
}

* Note que destaquei em vermelho a instrução web1.sock. Você deverá substituir web1 pelo usuário Linux do site. Nesta mesma tela de Opções o Usuário Linux do site é exibido no terceiro campo.

** O ISPConfig já adiciona automaticamente a maioria das diretivas necessárias para os sites. Se quiser visualizar todo o arquivo vhost criado, acesse o diretório de sistema em /etc/nginx/sites-available.

C Adicione um usuário Linux SSH em jail para instalar o site e editar os arquivos.

No mesmo menu “Sites” acesse o submenu lateral “Usuários Shell“.  Clique em “Adicionar Novo Usuário”. Selecione o site criado para o Piwik e digite um nome único para o usuário evitando nomes comuns ou já usados como “admin” ou outro usado anteriormente ou que seja de sistema. Um bom método para criar usuários não repetitivos é adicionar o prefixo “usrssh” seguido do site, por exemplo: usrsshpiwik. Digite ainda uma senha difícil e confirme ela. E por último, e isso é muito importante, selecione “Jailkit” no campo “Shell Enjaulado (chroot)”, isso fará com que, se houver invasão no site, o hacker fique enjaulado na pasta do site.

D Adicione o Banco de Dados que será usado pelo Piwik.

Acesse o submenu “Bancos de Dados/Usuários“. Clique no botão para adicionar um novo usuário de banco e preencha com um nome de usuário que ainda não foi usado e digite uma senha difícil para ele. Siga o exemplo acima e crie este usuário como usrdbpiwik.

Acesse o submenu “Bancos de Dados/Bancos de Dados“. Clique para adicionar um novo banco. No campo “Site” selecione o site do Piwik. Em “Nome do Banco de Dados” digite um nome sugestivo como por exemplo dbpiwik. No campo “Usuário do Banco de Dados” selecione o usuário DB recém criado. E no “Charset do Banco de Dados” selecione UTF-8.

* Note que fazendo isso o ISPConfig já criará todas as permissões corretas amarrando o usuário/banco/site.

2 Instalação e configuração do Piwik

A Agora precisamos baixar e instalar o Piwik. Faça login no console SSH com as credenciais do usuário em Jail do site que criamos acima. No console (modo linha de comando) digite os seguintes comandos:

> cd /web
> rm index.html
> wget --no-check-certificate https://builds.piwik.org/piwik.zip
> unzip piwik.zip
> mv piwik/* .
> rm -fr piwik/
> rm piwik.zip
> rm "How to install Piwik.html"

B Acesse a URL do site e prossiga com a instalação. “Bem vindo! Piwik é um analisador de tráfego open source que torna fácil obter informações sobre os seus visitantes. Este processo divide-se em 8 passos fáceis e demora por volta de 5 minutos“. Clique em SEGUINTE >>>

Na próxima tela será feita uma verificação da integridade dos arquivos. Pode ignorar o aviso da pasta “/error“, ela faz parte da estrutura do site no ISPConfig. SEGUINTE >>>

Na próxima digite as credenciais de banco de dados criadas acima, e no campo Adaptador selecione “PDO\MYSQL”. SEGUINTE >>>

Configuração do admin do painel Piwik. Preencha um nome, senha e email para o seu usuário admin do Piwik. SEGUINTE >>>

Configurar um Website. Adicione um site a ser monitorado, isso pode ser feito mais tarde mas se quiser já pode adicionar um site aqui. SEGUINTE >>>

Tag de monitorização JavaScript. Será mostrado o código JavaScript de acompanhamento que irá coletar os dados do site e enviar para o Piwik. Copie e cole o bloco de código no <header> do site, igual você costuma fazer com o Google Analytics. SEGUINTE >>>

Faça login no Piwik e configure/adicione sites ao seu gosto.

3 Instalação do módulo GEOIP para o Piwik no NginX

A Este módulo é necessário para que o Piwik exiba corretamente as localizações (País, Estado, Cidade) dos cliques rastreados. Faça login SSH no sistema com as credenciais do super-usuário root.

B Digite os seguinte comandos:

> nginx -V

* O comando acima irá exibir todos os módulos carregados no NginX. Se você seguiu nosso tutorial de instalação base do sistema com ISPConfig então o módulo GEOIP já estará instalado por padrão, o módulo é este: 

"--with-http_geoip_module"
> mkdir -p /etc/nginx/geoip
> cd /etc/nginx/geoip
> wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
> wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
> gunzip GeoIP.dat.gz
> gunzip GeoLiteCity.dat.gz

C Edite o arquivo /etc/nginx/nginx.conf e logo no inicio (mas dentro do bloco http) cole as linhas em vermelho abaixo:

http {
 ##
 # Basic Settings
 ##
 geoip_country /etc/nginx/geoip/GeoIP.dat; # country IP database
 geoip_city /etc/nginx/geoip/GeoLiteCity.dat; # city IP database

D Edite o arquivo /etc/nginx/fastcgi_params e adicione as linhas abaixo ao final do arquivo:

### SET GEOIP Variables ###
fastcgi_param GEOIP_ADDR $remote_addr;
fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
fastcgi_param GEOIP_COUNTRY_CODE3 $geoip_country_code3;
fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;

fastcgi_param GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code;
fastcgi_param GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3;
fastcgi_param GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name;
fastcgi_param GEOIP_REGION $geoip_region;
fastcgi_param GEOIP_REGION_NAME $geoip_region_name;
fastcgi_param GEOIP_CITY $geoip_city;
fastcgi_param GEOIP_AREA_CODE $geoip_area_code;
fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code;
fastcgi_param GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code;
fastcgi_param GEOIP_LATITUDE $geoip_latitude;
fastcgi_param GEOIP_LONGITUDE $geoip_longitude;

E Reinicie os serviços:

> /etc/init.d/php5-fpm restart
> /etc/init.d/nginx restart

Gerenciamento em infraestrutura de Servidores Cloud VPS e Dedicados. Planos mensais acessíveis e consultoria diferenciada para agências de marketing. Envie um email para [email protected] e solicite uma análise gratuita!

728x90a