How to Install Matomo Analytics on Fedora 28

Matomo (formerly Piwik) is an open source analytics platform, an open alternative to Google Analytics. Matomo source is hosted on GitHub. It is a fully featured PHP/MySQL software program that you download and install on your own webserver. In this guide, we will install Matomo on a fresh Fedora 28 Vultr server instance.

Requirements

  • Nginx.
  • PHP version 5.5.9 or greater.
  • MySQL version 5.5 or greater.
  • PHP extensions pdo and pdo_mysql, or the mysqli extension.

Before you begin

Check the Fedora version.

cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)

Create a new non-root user account with sudo access and switch to it.

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

NOTE: Replace johndoe with your username.

Ensure that your system is up to date.

sudo dnf check-upgrade || sudo dnf upgrade -y

Set up the timezone.

sudo timedatectl set-timezone 'Region/City'

Disable SELinux and Firewall.

sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld

Install PHP and required PHP extensions

Matomo recommends using PHP 7 as it is more memory efficient and faster than previous PHP versions. Default Fedora repositories contain PHP 7.2, so the installation will be simple.

Install PHP, as well as the necessary PHP extensions.

sudo dnf install -y php php-fpm php-common php-curl php-gd php-cli php-mysqlnd php-xml php-mbstring php-json

Check the version.

php --version
# PHP 7.2.6 (cli) (built: May 22 2018 16:22:08) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Install MariaDB

Install MariaDB.

sudo dnf install -y mariadb-server

Check the version.

mysql --version
# mysql  Ver 15.1 Distrib 10.2.14-MariaDB, for Linux (x86_64) using readline 5.1

Start and enable MariaDB.

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Run the mysql_secure_installation script to improve the security of your MariaDB installation.

sudo mysql_secure_installation

Log into MariaDB as the root user.

mysql -u root -p
# Enter password:

Create a new MariaDB database and database user, and remember the credentials.

mysql> CREATE DATABASE db_name;
mysql> GRANT ALL ON db_name.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> quit

NOTE: Replace db_name and username with appropriate names for your setup. Replace password with a strong password.

Install and configure Nginx

Install Nginx.

sudo dnf install -y nginx

Check the version.

sudo nginx -v
# nginx version: nginx/1.12.1

Start and enable Nginx.

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Configure Nginx. Run sudo vim /etc/nginx/conf.d/matomo.conf and populate the file with the following configuration.

server {
    listen 80;

    server_name stats.example.com;
    root /var/www/matomo;

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

}

Test the configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Install Matomo

Create a document root directory.

sudo mkdir -p /var/www/matomo

Change ownership of the /var/www/matomo directory to johndoe.

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

Download the latest release of Matomo.

cd /var/www/matomo
wget https://builds.piwik.org/piwik.zip && unzip piwik.zip
rm piwik.zip
mv piwik/* .
rmdir piwik

Change ownership of the /var/www/matomo directory to nginx.

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

Run sudo vim /etc/php-fpm.d/www.conf and set the user and group to nginx. Initially, they will be set to apache.

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Restart the PHP-FPM service.

sudo systemctl restart php-fpm.service

Open your web browser and navigate to the URL to which you have uploaded Matomo. You will see the "Matomo Installation Welcome Screen". If there are any problems, Matomo will identify them and offer a solution. Follow the instructions on the screen to finish the Matomo installation.



Leave a Comment

How to Install Alfresco Community Edition on Ubuntu 16.04

How to Install Alfresco Community Edition on Ubuntu 16.04

Using a Different System? Alfresco Community Edition is an open source version of the Alfresco Content Services. It is written in Java and uses PostgreSQL t

Cómo instalar osTicket en FreeBSD 12

Cómo instalar osTicket en FreeBSD 12

¿Usando un sistema diferente? osTicket es un sistema de tickets de soporte al cliente de código abierto. El código fuente de osTicket está alojado públicamente en Github. En este tutorial

Cómo instalar osTicket en Fedora 30

Cómo instalar osTicket en Fedora 30

¿Usando un sistema diferente? osTicket es un sistema de tickets de soporte al cliente de código abierto. El código fuente de osTicket está alojado públicamente en Github. En este tutorial

How to Install Matomo Analytics on Debian 9

How to Install Matomo Analytics on Debian 9

Using a Different System? Matomo (formerly Piwik) is an open source analytics platform, an open alternative to Google Analytics. Matomo source is hosted o

How to Install Osclass on FreeBSD 12

How to Install Osclass on FreeBSD 12

Using a Different System? Osclass is an open source project that allows you to easily create a classified site without any technical knowledge. Its sourc

How to Install Matomo Analytics on Ubuntu 16.04

How to Install Matomo Analytics on Ubuntu 16.04

Using a Different System? Matomo (formerly Piwik) is an open source analytics platform, an open alternative to Google Analytics. Matomo source is hosted o

Cómo instalar X-Cart 5 en Ubuntu 18.04 LTS

Cómo instalar X-Cart 5 en Ubuntu 18.04 LTS

¿Usando un sistema diferente? X-Cart es una plataforma de comercio electrónico de código abierto extremadamente flexible con toneladas de características e integraciones. El código fuente de X-Cart es hoste

Installing Microweber on Ubuntu 16.04

Installing Microweber on Ubuntu 16.04

Using a Different System? Microweber is an open source drag and drop CMS and online shop. Microweber source code is hosted on GitHub. This guide will show yo

How to Install Mailtrain Newsletter Application on Ubuntu 16.04

How to Install Mailtrain Newsletter Application on Ubuntu 16.04

Using a Different System? Mailtrain is an open-source self hosted newsletter app built on Node.js and MySQL/MariaDB. Mailtrains source is on GitHub. Thi

How to Install Matomo Analytics on FreeBSD 11

How to Install Matomo Analytics on FreeBSD 11

Using a Different System? Matomo (formerly Piwik) is an open source analytics platform, an open alternative to Google Analytics. Matomo source is hosted o

How to Install Mailtrain Newsletter Application on CentOS 7

How to Install Mailtrain Newsletter Application on CentOS 7

Using a Different System? Mailtrain is an open-source self hosted newsletter app built on Node.js and MySQL/MariaDB. Mailtrains source is on GitHub. Thi

How to Install Mailtrain Newsletter Application on Debian 9

How to Install Mailtrain Newsletter Application on Debian 9

Using a Different System? Mailtrain is an open-source self hosted newsletter app built on Node.js and MySQL/MariaDB. Mailtrains source is on GitHub. Thi

Cómo instalar Taiga Project Management Tool en Ubuntu 16.04

Cómo instalar Taiga Project Management Tool en Ubuntu 16.04

¿Usando un sistema diferente? Taiga es una aplicación gratuita y de código abierto para la gestión de proyectos. A diferencia de otras herramientas de gestión de proyectos, Taiga utiliza un incre

How to Install osTicket on Ubuntu 18.04 LTS

How to Install osTicket on Ubuntu 18.04 LTS

Using a Different System? osTicket is an open-source customer support ticketing system. osTicket source code is publicly hosted on Github. In this tutorial

Cómo instalar Alfresco Community Edition en CentOS 7

Cómo instalar Alfresco Community Edition en CentOS 7

¿Usando un sistema diferente? Alfresco Community Edition es una versión de código abierto de Alfresco Content Services. Está escrito en Java y usa PostgreSQL t

Installing Akaunting on FreeBSD 12

Installing Akaunting on FreeBSD 12

Using a Different System? Introduction Akaunting is a free, open source and online accounting software designed for small businesses and freelancers. It i

Cómo instalar Zammad 2.0 en Ubuntu 16.04 LTS

Cómo instalar Zammad 2.0 en Ubuntu 16.04 LTS

¿Usando un sistema diferente? Zammad es un sistema de asistencia / tickets de código abierto diseñado para equipos de atención al cliente. Con Zammad, servicio al cliente

Installing Akaunting on Ubuntu 16.04

Installing Akaunting on Ubuntu 16.04

Using a Different System? Akaunting is a free, open source and online accounting software designed for small businesses and freelancers. It is built wit

How to Install InvoicePlane on FreeBSD 12

How to Install InvoicePlane on FreeBSD 12

Using a Different System? InvoicePlane is a free and open source invoicing application. Its source code can be found on this Github repository. This guid

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.