Piwik: A alternativa open source ao Google Analytics para análise de métricas

Piwik: A alternativa open source ao Google Analytics para análise de métricas

Não, o Piwik não é uma fruta derivada do Kiwi, é uma solução de Web Analytics open source, madura e eficiente para análise de métricas sobre audiência em sites e blogs. É uma ótima alternativa livre ao Google analytics.

Com o Piwik é possível fazer análise desde a navegação de seus visitantes e clientes, qual os dispositivos que eles usaram para acessar seu site ou qual o navegador que eles utilizaram, até mesmo saber de qual região do mundo ou do país esse visitante esta através de geolocalização o que pode ajudar o pessoal do marketing com uma visão mais abrangente sobre o perfil do seu público-alvo.

Alternativa de referência ao Google Analytics

Atualmente ainda muitas pessoas fazem uso do Google Analytics para análise de tráfego em seus web sites, no entanto o Piwik vem gradativamente ganhando seu merecido espaço e tendo se mostrado um concorrente a altura da ferramenta da gigante Google para análise. A ferramenta já possui mais de 3 milhões de downloads e empresas como a Forbes já adotaram esta solução. Atende bem qualquer empresa, das pequenas à grandes corporações.

análise_piwik_02Instalação do Piwik

Agora vamos entender como implementá-la em seu ambiente. Aqui neste post procuro explicar como implantar a solução nas duas famílias de distribuições Linux mais populares do mercado no segmento de servidores, ou seja, Debian e CentOS, atendendo tanto a “galera” Debian e a “galera” Red Hat Enterprise Linux, sem deixar ninguém de fora dessa, afinal, existe um vasto público para as ambas as distribuições. Além disso, eu sei o quanto é sofrer para tirar aquela dúvida sobre uma determinada solução e durante a instalação dela, tem aquele pacote danado que muda de nome para cada distribuição, o que atrapalha e dificulta padronizar a instalação da maioria das soluções em todo o ecossistema Linux.

Primeiramente precisamos preparar o ambiente, no caso do CentOS por exemplo, precisamos instalar o repositório webtatic, porque ele possui o pacote php 5.5.38, compatível com a versão requerida pelo Piwik. Atualmente o Piwik exige a versão superior ao php 5.5.9 para seu perfeito funcionamento.

CentOS
# yum install epel-release wget unzip -y
# wget https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# rpm -ivh webtatic-release.rpm

Debian
# apt-get update
# apt-get install wget unzip -y

Base de dados

Agora vamos instalar e configurar a nossa base de dados, onde será armazenados os dados dos visitantes e toda as funcionalidades necessárias para sustentar a aplicação piwik.

No CentOS faremos a instalação do mariadb, que nada mais é do que um fork do mysql criado pelo próprio fundador do projeto após sua aquisição pela Oracle. Apesar da mudança de nome, o mariadb é 100% compatível com as funcionalidades do mysql.

CentOS
# yum install mariadb-server -y
# systemctl enable mariadb
# systemctl start mariadb
# mysql
mariadb> CREATE DATABASE piwikdb;
mariadb> GRANT ALL PRIVILEGES ON piwikdb.* To 'piwik'@'localhost' IDENTIFIED BY '4linux';

No Debian é necessário ficar atento após a instalação, porque o debconf vai questionar qual a senha você deseja configurar para o root (administrador da base de dados), sinta-se livre para escolher a senha.
Instalado o mysql com sucesso, precisamos iniciá-lo e incluí-lo na inicialização do sistema operacional em caso de reboot. E obviamente precisamos criar a base de dados e as credenciais de acesso do usuário da aplicação piwik.

Debian
# apt-get install mysql-server -y # Forneça a senha de root do mysql
# systemctl enable mysql
# systemctl start mysql
# mysql
mysql> CREATE DATABASE piwikdb;
mysql> GRANT ALL PRIVILEGES ON piwikdb.* To 'piwik'@'localhost' IDENTIFIED BY '4linux';

Com a nossa infraestrutura de backend configurada e pronta para uso, agora precisamos configurar o servidor http que irá sustentar a aplicação web Piwik atuando dentro da camada de apresentação, no caso iremos instalar o mito, a lenda, o clássico… O bom e velho apache. Uma solução de servidor http que ganhou seu reconhecimento e se mantém até os dias atuais no topo da cadeia alimentar dos servidores http mais populares e estáveis do mundo.

Aplicação web

Em conjunto precisamos instalar também o pacote php, afinal, é a linguagem nativa da aplicação piwik, e obviamente também precisamos instalar todos as bibliotecas e extensões para que a aplicação piwik funcione corretamente.

CentOS
# yum install httpd php55w php55w-cli php55w-common php55w-gd php55w-mysql php55w-xml php55w-mbstring -y

Debian
# apt-get install apache2 libapache2-mod-php5 php5 php5-curl php5-gd php5-cli php5-mysql php-xml php-mbstring -y

Agora precisamos fazer o download da versão mais recente do piwik através do site oficial da solução. Após a conclusão do download extraia o arquivo dentro do diretório raiz web do servidor web,, conforme o comando abaixo, este mesmo comando e aplica a ambas as distribuições.

CentOS e Debian
# wget https://builds.piwik.org/piwik.zip
# unzip piwik.zip -d /var/www/html/

Agora que a aplicação piwik já esta disponível para o servidor web, precisamos configurar o Virtual Host para o piwik , mas pera lá, o que é Virtual Host? Virtual Host é um recurso padrão dos servidores web que fornece a possibilidade de hospedar mais do que um web site ou aplicação num único servidor, com um endereço IP ou mais. Mas poxa, por que fazer Virtual Host sendo que este servidor não terá nenhum outro site ou aplicação, além do próprio Piwik? Porque é uma boa prática, simples assim.

CentOS
# vim /etc/httpd/conf.d/piwik.conf

ServerAdmin admin@dexter.com.br
DocumentRoot “/var/www/html/piwik”
ServerName piwik.dexter.com.br
ErrorLog “/var/log/httpd/piwik.dexter.com-error_log”
CustomLog “/var/log/httpd/piwik.dexter.com-access_log” common

Note que existe uma diferença sutil em relação aos diretórios do apache nas duas distribuição, mas em suma, o serviço é o mesmo, então faça com confiança, sem medo de ser feliz!
Neste ponto a aplicação já estaria disponível para acessarmos e terminarmos a instalação. Mas existem alguns pontos cruciais, a permissão do diretório piwik, é necessário que o usuário do serviço apache seja proprietário deste diretório, afinal durante a instalação o piwik precisa escrever suas configurações em um arquivo dentro deste diretório, e sem elas, não seria possível prosseguir com a instalação.

CentOS
chown -R apache:apache /var/www/html/piwik

No Debian temos dois diferenciais, um que o Virtual Host precisa ser habilitado através do comando a2ensite, caso contrário nosso piwik ainda não estara disponível para uso. Além disso, o arquivo php.ini precisa ser editado, alterando o parâmetro always_populate_raw_post_data, este parâmetro já esta obsoleto no php, por essa razão precisamos passar o valor -1, assim o php mantém este recurso funcionando mas sem as implementações novas feitas nele a partir das novas versões do php.

Debian
# chown -R www-data:www-data /var/www/html/piwik
# a2ensite piwik.conf
# vim /etc/php5/apache2/php.ini
always_populate_raw_post_data = -1

E por fim, mas não menos importantes, podemos reiniciar o serviço do apache e obviamente adicionar o serviço na inicialização do sistema operacional.

CentOS
# systemctl enable httpd
# systemctl restart httpd

Debian
# systemctl enable apache2
# systemctl reload apache2

Assistente de instalação

Agora abra seu navegador favorito e acesse o endereço http://piwik.dexter.com.br e vamos concluir a instalação via web. Ao acessar você será recebido com boas vindas, clique em “seguinte” para avançar na instalação.

Tela_instalacao_piwikNessa tela será apresentada todas dependências do piwik, caso todas estejam instaladas corretamente o piwik informa um checkbox verde confirmando que aquela dependência está ok.

Instalacao_piwik_01Prosseguindo com a instalação será necessário informar as credenciais de acesso ao banco conforme fizemos na etapa de instalação e configuração do mysql/mariadb.

Instalacao_piwik_02Ao avançar o piwik faz a carga inicial do banco e dados piwikdb, populando a base com os dados e as estruturas iniciais para seu funcionamento inicial.

Instalacao_piwik_03Em seguida crie as credenciais do usuário administrador da ferramenta para que você possa acessa-la após a conclusão da instalação.

Instalacao_piwik_06Nesta etapa é obrigatória a configuração do primeiro site que o piwik ira monitorar. Passe todas as informações corretamente, como nome, o endereço, localidade e a informe se é um blog, site ou e-commerce.

Instalacao_piwik_07Após configurar o seu site o piwik gera o código Javascript que você irá adicionar dentro do cabeçalho html do seu site. Esse código javascript deve ficar dentro das tags head da sua página. Caso você tenha dificuldade, por favor contate sua equipe de desenvolvimento responsável pelo seu web site para te dar o apoio necessário. Caso você não faça esta etapa, após concluir a instalação e se autenticar na ferramenta, o piwik não vai te direcionar para o dashboard principal, já que ele não possui estatísticas de visitantes para exibir.

Instalacao_piwik_08Abaixo, segue um exemplo de como seria em uma página html simples com a inclusão do código javascript.

<html>
<head>
<!-- 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="//piwik.dexter.com.br/";
_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 -->
</head>
<body>
Página de teste
</body>
</html>

Editado o cabeçalho html da sua página, avance a instalação e você sera parabenizado pelo piwik por concluí-la.

Instalacao_piwik_09Você será direcionado para a página de autenticação do piwik, informe as credenciais e clique no botão entrar.

Instalacao_piwik_11Parabéns, você acabou de concluir a instalação do Piwik com sucesso. Você provavelmente esta no dashboard principal da ferramenta, agora você pode desfrutar de todos os recursos que a ferramenta oferece para análise das visitas em seus sites. Sua tela de apresentação é extremamente linda e muito simples, com todos os detalhes necessários para tornar a ferramenta atrativa aos profissionais não só técnicos mas principalmente da área de negócios da sua empresa.

Instalacao_piwik_12Pessoal, fico por aqui, agradeço pela atenção e a paciência em ler todo esse artigo em conjunto com um leve “how-to” focado para quem deseja ter o primeiro contato com a ferramente.

See ya!

Anterior Workshop Infraestrutura Ágil: Conheça as ferramentas DevOps com a 4Linux
Próxima Guia definitivo: otimize o acesso a dados com Redis em Alta Disponibilidade

About author

Você pode gostar também

Infraestrutura TI

PostgreSQL vs MySQL: Conheça os bancos de dados mais usados

Atualmente, existem dois bancos de dados que estão entre os mais usados no mercado. São eles: o PostgreSQL e o MySQL. Saiba mais sobre cada um deles, lendo o post!

Infraestrutura TI

Descubra as vantagens do Linux e como migrar facilmente para ele

O Linux é um sistema operacional que tem ganhado popularidade entre usuários comuns, principalmente por ser gratuito e de código aberto. Mas o que exatamente o Linux pode oferecer para

Desenvolvimento

Descubra como o Skaffold pode otimizar seu trabalho com Kubernetes

Olá pessoal! A ideia para este post surgiu quando me deparei com o problema, que todos que trabalham ou vão trabalhar com Kubernetes enfrentam: a necessidade de a cada simples