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