Como instalar o Matomo Web Analytics no Ubuntu 18.04 LTS
Matomo, anteriormente conhecido como Piwik, é um aplicativo gratuito de análise da web que pode ser usado para rastrear visitas online a um ou mais sites e exibir relatórios sobre essas visitas para análise. Matomo vem com muitos recursos, incluindo Google AdWords, Facebook Ads, Yahoo! Search Marketing, API de rastreamento e relatórios, custo por clique (CPC) e muito mais.
Neste tutorial vou explicar como instalar o Matomo no servidor Ubuntu 18.04 LTS.
Requisitos
- Um servidor executando Ubuntu 18.04 LTS.
- Um usuário não root com privilégios sudo.
Instale o servidor LAMP
Matomo roda em servidor web, escrito em linguagem PHP e utiliza MariaDB para armazenar seus dados. Portanto, você precisará instalar Apache, MariaDB, PHP e outros módulos PHP necessários em seu sistema.
Atualize o repositório Ubuntu e instale o PHP junto com o Apache e o MariaDB com o seguinte comando:
sudo apt-get update -y
sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip wget unzip git -y
Depois que todos os pacotes estiverem instalados, inicie o serviço Apache e MariaDB e habilite-os para iniciar no momento da inicialização com o seguinte comando:
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mariadb
sudo systemctl enable mariadb
Em seguida, você precisará modificar o arquivo php.ini. Você pode fazer isso com o seguinte comando:
sudo nano /etc/php/7.2/apache2/php.ini
Faça as seguintes alterações:
memory_limit = 256M
upload_max_filesize = 200M
max_execution_time = 360
date.timezone = Europe/Berlin
Salve e feche o arquivo quando terminar.
Configurar MariaDB
Em seguida, você precisará proteger a instalação do MariaDB. Você pode fazer isso executando o seguinte script:
sudo mysql_secure_installation
Responda a todas as perguntas conforme mostrado abaixo:
Enter current password for root (enter for none):
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Assim que o MariaDB estiver protegido, faça login no shell do MariaDB:
mysql -u root
Crie um banco de dados e um usuário com o seguinte comando:
MariaDB [(none)]> CREATE DATABASE matomodb;
MariaDB [(none)]> CREATE USER matomo;
A seguir, conceda privilégios ao banco de dados Matomo com o seguinte comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON matomodb.* TO 'matomo'@'localhost' IDENTIFIED BY 'mypassword';
Substitua a palavra ‘mypassword’ por uma senha segura de sua escolha. Em seguida, libere os privilégios com o seguinte comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
Em seguida, saia do console MariaDB com o seguinte comando:
MariaDB [(none)]> exit
Instalar Matomo
Primeiro, baixe a versão mais recente do Matomo do site oficial para o diretório /tmp:
cd /tmp
wget https://builds.matomo.org/piwik.zip
Em seguida, descompacte o arquivo baixado com o seguinte comando:
unzip piwik.zip
Em seguida, copie o diretório extraído para o diretório raiz do Apache e conceda as permissões adequadas:
sudo cp -r piwik /var/www/html/matomo
sudo chown -R www-data:www-data /var/www/html/matomo/
sudo chmod -R 755 /var/www/html/matomo/
Por fim, crie um arquivo de configuração Apache para Matomo com o seguinte comando:
sudo nano /etc/apache2/sites-available/matomo.conf
Adicione as seguintes linhas:
<VirtualHost *:80>
ServerAdmin [email
DocumentRoot /var/www/html/matomo
ServerName example.com
<Directory /var/www/html/matomo/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/matomo_error.log
CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined
</VirtualHost>
Substitua example.com e o endereço de e-mail [email pelo seu próprio nome de domínio e endereço de e-mail. Salve e feche o arquivo e ative o arquivo host virtual e o módulo de reescrita do Apache com o seguinte comando:
sudo a2ensite matomo
sudo a2enmod rewrite
Reinicie o serviço web Apache para aplicar todas as alterações:
sudo systemctl restart apache2
Habilite SSL com Let's encrypt para Matomo
Nesta etapa, habilitaremos SSL para Matomo usando um certificado Let's encrypt SSL gratuito. O primeiro passo é instalar o cliente certbot Vamos criptografar que usaremos para obter o certificado SSL.
sudo apt-get install certbot python-certbot-apache
Solicite o certificado SSL com este comando:
sudo certbot --apache
IMPORTANTE: O nome de domínio ou subdomínio que você usa para o site RoundCube deve estar acessível na Internet para obter um certificado SSL. Certbot fará algumas perguntas agora.
root@server: certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: a
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: n
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: example.com
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/matomo-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/matomo-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/matomo-le-ssl.conf
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting vhost in /etc/apache2/sites-enabled/matomo.conf to ssl vhost in /etc/apache2/sites-available/matomo-le-ssl.conf
-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com
-------------------------------------------------------------------------------
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2019-07-10. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
O Matomo vhost está acessível por https agora.
Acesse Matomo
Agora, abra seu navegador e digite a URL https://example.com, você será redirecionado para a página de boas-vindas do Matomo:
Agora, clique no botão Avançar. Você deverá ver a seguinte página:
Aqui, certifique-se de que todo o módulo necessário foi instalado. Em seguida, clique no botão Avançar. Você deverá ver a seguinte página:
Aqui, forneça seu banco de dados Matomo e nome de usuário. Em seguida, clique no botão Avançar. Você deverá ver a seguinte página:
Agora, clique no botão Avançar. Você deverá ver a seguinte página:
Aqui, forneça seu nome de usuário e senha de administrador. Em seguida, clique no botão Avançar. Você deverá ver a seguinte página:
Agora, forneça o nome do site e o URL do site. Em seguida, clique no botão Avançar. Você deverá ver o código de rastreamento do site Matomo na página seguinte:
Agora, clique no botão Avançar. Assim que a instalação for concluída. Você deverá ver a seguinte página:
Agora clique no botão CONTINUAR PARA MATOMO. Você deverá ver a seguinte página:
Agora, forneça as credenciais de login do administrador e clique no botão ENTRAR. Você deverá ver o Painel do Matomo na seguinte página: