Pesquisa de site

Guia para instalar o Matomo Web Analytics no AlmaLinux 9


Matomo, antigo Piwik, é um software de análise da web gratuito e de código aberto que pode rastrear visitas a sites e exibir relatórios para análise de dados e público. Matomo é licenciado sob licença GPL. Está escrito em PHP e pode ser executado com servidor de banco de dados MySQL ou MariaDB.

Matomo fornece relatórios detalhados para rastreamento de usuários em seus sites. Isso inclui o mecanismo de pesquisa de referência e as palavras-chave, idiomas, visitas de páginas, downloads de visitantes de arquivos e muito mais. Matomo está se tornando cada vez mais popular como alternativa aos serviços analíticos como o Google Analytics.

O tutorial a seguir mostra como instalar o Matomo web analytics no servidor AlmaLinux 9. Vou instalar o Matomo com o servidor web Httpd, PHP e banco de dados MariaDB. Também protegerei o Matomo com certificados SSL/TLS via Letsencrypt.

Pré-requisitos

Certifique-se de ter o seguinte para iniciar a instalação do Matomo:

  • Um servidor AlmaLinux 9 - Este exemplo usa um servidor com o nome de host alma9.
  • Um usuário não root com privilégios de administrador root.
  • Um nome de domínio apontado para o endereço IP do servidor.

Instalando e configurando MariaDB

O Matomo exigiu a instalação do servidor de banco de dados MySQL ou MariaDB e, neste caso, você estará utilizando o servidor MariaDB. As etapas a seguir mostrarão como instalar o servidor de banco de dados MariaDB, proteger a instalação do MariaDB e como criar um novo banco de dados e usuário para sua instalação do Matomo.

Instalando MariaDB

Por padrão, o repositório AlmaLinux appstream fornece os pacotes MariaDB. Você pode instalar facilmente o MariaDB via DNF sem a necessidade de um repositório de terceiros.

Primeiro, execute o comando dnf abaixo para instalar o servidor de banco de dados MariaDB. Em seguida, insira y para confirmar a instalação e pressione ENTER.

sudo dnf install mariadb-server

Após instalar o servidor MariaDB, execute os seguintes comandos systemctl para iniciar e habilitar o servidor MariaDB. Habilitando o servidor MariaDB, permite que o serviço seja executado automaticamente durante a inicialização do sistema.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Agora verifique o status do servidor MariaDB para garantir que o serviço esteja em execução. E se estiver em execução, você deverá obter uma saída ativa (em execução) em seu terminal.

sudo systemctl status mariadb

Protegendo a implantação do MariaDB

Depois que o MariaDB estiver instalado e em execução, você protegerá a instalação configurando a senha root, desabilitando o login remoto para o usuário root e removendo o teste de banco de dados padrão e o usuário anônimo. Isso pode ser feito através do utilitário mariadb-secure-installation.

Para proteger o servidor MariaDB, execute o utilitário mariadb-secure-installation em seu terminal.

sudo mariadb-secure-installation

Durante o processo, você pode inserir Y para aplicar a configuração ou n para Não. Abaixo estão algumas configurações do servidor MariaDB que serão solicitadas:

  • Quando solicitado a fornecer a senha root do MariaDB, pressione ENTER.
  • Insira n para ignorar a configuração da autenticação unix_socket.
  • Insira Y para configurar a senha root do MariaDB, digite sua nova senha e repita-a.
  • Insira Y para desabilitar o login remoto do usuário root do MariaDB.
  • Insira Y para remover o usuário anônimo padrão do seu servidor MariaDB.
  • Em seguida, insira Y novamente para remover o teste de banco de dados padrão.
  • Por último, insira Y para recarregar os privilégios da tabela e aplicar as alterações.

Criando novo banco de dados e usuário

Agora que você tem o MariaDB seguro em execução, a próxima etapa será criar um novo banco de dados MariaDB e usuário para a instalação do Matomo. Você deve fazer login no servidor MariaDB por meio do utilitário cliente MariaDB.

Faça login no shell MariaDB por meio do comando do cliente mariadb abaixo. Quando a senha for solicitada, insira sua senha root do MariaDB.

sudo mariadb -u root -p

Após fazer login, execute as seguintes consultas para criar um novo banco de dados e usuário para instalação do Matomo. Nesta demonstração, você criará um novo banco de dados e usuário matomo, e certifique-se de substituir a senha p4ssw0rddb por uma nova senha forte.

CREATE DATABASE matomo;
CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'p4ssw0rddb';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON matomo.* TO 'matomo'@'localhost';
FLUSH PRIVILEGES;

Agora execute a seguinte consulta para garantir que o usuário matomo esteja disponível no servidor MariaDB e tenha privilégios no banco de dados matomo.

SHOW GRANTS FOR 'matomo'@'localhost';

Por último, digite quit para sair do shell MariaDB.

Instalando o servidor Web Httpd e PHP 8.1

Matomo é escrito principalmente em PHP, neste momento exigia pelo menos PHP 8.x. Na seção a seguir, você instalará o servidor web httpd e os pacotes PHP 8.1 por meio do repositório AlmaLinux appstream. E depois disso, você estará configurando o PHP.

Antes de instalar pacotes PHP, selecione a versão padrão do PHP para PHP 8.1. Na distribuição baseada em RHEL, isso é chamado de módulo de repositório, e o repositório AlmaLinux padrão fornece duas versões de pacotes PHP 8.0 e 8.1.

sudo dnf module enable php:8.1

Insira y quando solicitado para confirmar.

Agora execute o comando dnf abaixo para instalar o servidor web httpd e os pacotes PHP do seu sistema. Digite y para confirmar a instalação e pressione ENTER.

sudo dnf install httpd php php-common php-mysqlnd php-gd php-curl php-json php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-zip php-soap

Depois de instalar o httpd e o PHP, execute os seguintes comandos systemctl para iniciar e habilitar o servidor web httpd. Isso executará o servidor web httpd na porta padrão 80, permitindo que ele seja executado automaticamente na inicialização.

sudo systemctl start httpd
sudo systemctl enable httpd

Agora verifique o status do servidor web httpd usando o comando abaixo. Se o servidor web httpd estiver em execução, você deverá obter uma saída ativo (em execução).

sudo systemctl status httpd

Neste ponto, você instalou o servidor web httpd e os pacotes PHP. Agora você configurará o PHP conforme necessário para a instalação do Matomo.

Abra a configuração padrão do PHP /etc/php.ini usando o seguinte editor nano.

sudo nano /etc/php.ini

Remova o comentário das opções a seguir e altere o valor de acordo. Essas opções dependem da sua máquina AlmaLinux.

date.timezone = Europe/Stockholm
memory_limit = 256M
upload_max_filesize = 16M
max_execution_time = 300

Salve e feche o arquivo quando terminar.

Agora execute o comando systemctl abaixo para reiniciar o servidor web httpd e aplicar as alterações.

sudo systemctl restart httpd

Verifique a versão do PHP e os módulos disponíveis executando o comando abaixo.

php --version
php -m

Você deve ter o PHP 8.1 instalado em seu sistema e alguns módulos habilitados, como apcu, curl e gd.

Baixando o código-fonte do Matomo

Neste ponto, a maioria dos pacotes necessários estão instalados e em execução. Agora você fará o download do código-fonte do Matomo e configurará o diretório raiz do documento Matomo com a propriedade adequada.

Antes de baixar o código-fonte do Matomo, execute o comando dnf abaixo para instalar o wget e descompactar em seu sistema.

sudo dnf install wget unzip -y

Agora vá para o diretório /var/www e execute o comando wget abaixo para baixar o código-fonte do Matomo. Depois que o código-fonte for baixado, você deverá ver o arquivo matomo.zip.

cd /var/www
wget https://builds.matomo.org/matomo.zip

Depois disso, execute o comando unzip abaixo para extrair o arquivo matomo.zip. Depois que o arquivo matomo.zip for extraído, você deverá obter o novo diretório matomo, e este será o documento raiz para a instalação do Matomo.

unzip matomo.zip

Por último, execute o comando chmod abaixo para alterar a propriedade do diretório /var/www/matomo para o usuário e grupo apache. Isso permite que o servidor web httpd e PHP acessem o código-fonte do Matomo.

sudo chown -R apache:apache /var/www/matomo

Em seguida, execute novamente o seguinte comando para configurar a permissão adequada para o código-fonte.

find /var/www/matomo/tmp -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/assets/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/assets/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/cache/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/cache/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/logs/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/logs/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/tcpdf/ -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/tcpdf/ -type d -exec chmod 755 {} \;
find /var/www/matomo/tmp/templates_c -type f -exec chmod 644 {} \;
find /var/www/matomo/tmp/templates_c -type d -exec chmod 755 {} \;

Configurando Host Virtual HTTPD

Na seção a seguir, você criará uma nova configuração de host virtual httpd para executar o aplicativo da web Matomo. Antes disso, certifique-se de que o seu nome de domínio esteja apontado para o endereço IP do seu servidor e configurado corretamente.

Crie uma nova configuração de host virtual httpd /etc/httpd/conf.d/matomo.conf usando o comando do editor nano abaixo.

sudo nano /etc/httpd/conf.d/matomo.conf

Insira a seguinte configuração e certifique-se de alterar o nome de domínio no parâmetro ServerName com o seu domínio.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName analytics.hwdomain.io
    DocumentRoot /var/www/matomo/
    <Directory /var/www/matomo>
        DirectoryIndex index.php
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    <Files "console">
        Options None
        Require all denied
    </Files>
    <Directory /var/www/matomo/misc/user>
        Options None
        Require all granted
    </Directory>
    <Directory /var/www/matomo/misc>
        Options None
        Require all denied
    </Directory>
    <Directory /var/www/matomo/vendor>
        Options None
        Require all denied
    </Directory>
    ErrorLog /var/log/httpd//matomo_error.log
    CustomLog /var/log/httpd//matomo_access.log combined
</VirtualHost>

Salve o arquivo e saia do editor quando terminar.

Agora execute o utilitário apachectl abaixo para verificar as configurações gerais do httpd. Se você tiver configurações httpd corretas e adequadas, deverá obter uma saída como Syntax OK.

sudo apachectl -t

Em seguida, execute o comando systemctl abaixo para reiniciar o servidor web httpd e aplicar a nova configuração do host virtual.

sudo systemctl restart httpd

Por último, inicie o navegador e visite o nome de domínio da instalação do matomo. Se for bem-sucedido, você deverá obter a página de instalação do Matomo como esta:

Protegendo o Matomo com certificados SSL/TLS

É recomendado executar o Matomo com certificados SSL/TLS. Nesta seção, você protegerá o Matomo via SSL do Letsencrypt, que pode ser gerado via Certbot. Certbot é um cliente Letsencrypt que está disponível no repositório EPEL, portanto você deve adicionar o repositório EPEL primeiro antes de instalar o Certbot.

Execute o comando dnf abaixo para instalar o certbot e o módulo certbot Apache/httpd. Insira y para confirmar a instalação e pressione ENTER.

sudo dnf install epel-release -y
sudo dnf install certbot python3-certbot-apache

Depois que o certbot estiver instalado, execute o comando certbot abaixo para gerar certificados SSL para o seu nome de domínio e certifique-se de alterar o nome de domínio e o endereço de e-mail no comando a seguir.

sudo certbot --apache2 --agree-tos --redirect --hsts --staple-ocsp --email [email  -d analytics.hwdomain.io

Após a execução do comando, novos certificados SSL/TLS serão gerados no diretório /etc/letsencrypt/live/domain-name.com e uma nova configuração SSL adicionada ao arquivo /etc /httpd/conf.d/matomo.conf. A configuração SSL é adicionada através do plugin Certbot Apache.

Instalando o Matomo Web Analytics

Volte ao seu navegador e visite o nome de domínio para a instalação do Matomo. Depois de acessar a página de boas-vindas, clique em Avançar para iniciar a instalação.

Agora o instalador verificará os requisitos do sistema. Portanto, certifique-se de que tudo esteja marcado com uma marca verde como esta:

Clique em Avançar novamente para continuar.

Insira os detalhes do banco de dados MariaDB e do usuário que você criou. Em seguida, clique em Avançar novamente.

Depois que as tabelas do Matomo forem criadas, você verá a mensagem Tabelas criadas e clique em Avançar.

Agora insira o novo nome de usuário e senha do Matomo. Este usuário será usado como administrador do Matomo, lembre-se sempre do nome de usuário e senha.

Depois disso, insira o nome de domínio como primeiro rastreador e altere o fuso horário de acordo. Em seguida, clique em Avançar para continuar.

Depois que o primeiro rastreador for criado, você deverá ver o código de rastreamento na tela. Role para baixo até a página inferior e clique em Continuar.

Agora a instalação deve estar concluída. Role para baixo e clique no botão CONTINUAR PARA MATOMO.

Quando a tela de registro for solicitada, insira o usuário e a senha do administrador do Matomo e clique em ENTRAR.

Se você tiver o nome de usuário e a senha corretos, o painel de administração do Matomo será mostrado no seu navegador.

A partir daí, você pode gerenciar facilmente a instalação do Matomo e adicionar mais rastreadores para sites.

Conclusão

Você instalou com sucesso o Matomo Web Analytics em sua máquina AlmaLinux. Você instalou o Matomo com o servidor web httpd, PHP 8.1 e o servidor de banco de dados MariaDB. Além disso, você protegeu o Matomo com certificados SSL gerados via Certbot e Letsencrypt.

Com isso em mente, agora você pode começar a adicionar seus sites e rastrear seus visitantes com privacidade respeitada, construída com base no Matomo Web Analytics

Artigos relacionados: