Matomo Web Analytics te installeren op Fedora 29

Matomo(voorheenPiwik) is eengratisenopen bronweb analyticstoepassing, ontwikkeld door een team van internationale ontwikkelaars, die draait op eenPHP/MySQLwebserver. Het houdt onlinebezoekenaan een of meerwebsites bijen toont rapporten over deze bezoeken om te analyseren. Je kunt het zien als een alternatief voor Google Analytics. Matomo is open source en zijn code is openbaar beschikbaar op Github. Enkele van de functies die het heeft zijn:A/B Testing, Heatmaps, Funnels, Tracking en Reporting API, Google AdWords, Facebook Ads, Bing Ads, Cost Per Click (CPC), enz. Deze handleiding toont je hoe je Matomo installeert op eenFedora 29 systeem met Nginx als webserver en we beveiligen de website met een Let’s Encrypt SSL certificaat.

Vereisten

Om Matomo (Piwik) op je Fedora 29 systeem te draaien heb je een paar dingen nodig:

  • Webserver zoals Apache, Nginx, IIS.
  • PHP versie 5.5.9 of hoger metpdoen pdo_mysql of mysqli, gd, xml, curl, en mbsting uitbreidingen. PHP 7+ wordt aanbevolen.
  • MySQL versie 5.5 of hoger, of de gelijkwaardige MariaDB versie. MySQL 5.7+ is aanbevolen.

Vereisten

  • Een besturingssysteem metFedora 29.
  • Een niet-root gebruiker met sudo privileges.

Eerste stappen

Controleer je Fedora versie:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Stel de tijdzone in:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Werk je besturingssysteem pakketten (software) bij. Dit is een belangrijke eerste stap omdat je er zeker van bent dat je de laatste updates en beveiligingsfixes voor de standaard softwarepakketten van je besturingssysteem hebt:

sudo dnf check-update; sudo dnf update -y

Installeer enkele essentiƫle pakketten die nodig zijn voor basisbeheer van het Fedora besturingssysteem:

sudo dnf install -y curl wget vim git unzip socat

Stap 1 – Installeer MariaDB en maak een database voor Matomo

Matomo ondersteunt MySQL en MariaDB databases. In deze zelfstudie zullen we MariaDB gebruiken als de databaseserver.

Installeer een MariaDB databaseserver:

sudo dnf install -y mariadb-server

Controleer de MariaDB versie:

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

Start en activeer de MariaDB dienst:

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

Voermysql_secure installationscript om MariaDB beter te beveiligen en het wachtwoord voor MariaDB in te stellenrootgebruiker:

sudo mysql_secure_installation

Beantwoord elk van de vragen:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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

Maak verbinding met MariaDB shell als de root gebruiker:

sudo mysql -u root -p
# Enter password

Maak een lege MariaDB database en gebruiker voor Matomo en onthoud de credentials:

MariaDB> CREATE DATABASE dbname;
MariaDB> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
MariaDB> FLUSH PRIVILEGES;

Sluit MariaDB af:

mysql> exit

Vervangdbname,usernameenpassworddoor je eigen namen.

Stap 2 - Installeer PHP en de nodige PHP uitbreidingen

Installeer PHP, en ook de nodige PHP uitbreidingen:

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

Controleer de PHP versie:

php --version

# PHP 7.2.14 (cli) (built: Jan  8 2019 09:59:17) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Start en schakel de PHP-FPM dienst in:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

We kunnen overgaan tot de volgende stap, die bestaat uit het verkrijgen van gratis SSL certs van Let's Encrypt CA.

Stap 3 - Installeeracme.shclient en verkrijg Let's Encrypt certificaat(optioneel)

Je website beveiligen met HTTPS is niet noodzakelijk, maar het is een goed gebruik om het verkeer op je site te beveiligen. Om een TLS certificaat van Let's Encrypt te krijgen gebruiken we het programma Acme.sh. Acme.sh is een pure UNIX shell software om TLS certificaten te verkrijgen van Let's Encrypt zonder afhankelijkheden.

Download en installeer Acme.sh:

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Controleer de versie van Acme.sh:

/etc/letsencrypt/acme.sh --version
# v2.8.0

KoopRSAenECC/ECDSAcertificaten voor je domein/hostname:

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256

Na het uitvoeren van de bovenstaande commando's zijn jecertificatenensleutelszich in:

  • VoorRSA:/etc/letsencrypt/example.commap.
  • VoorECC/ECDSA:/etc/letsencrypt/example.com_eccmap.

Stap 3 - Installeer NGINX en configureer NGINX voor Matomo

Matomo kan prima werken met veel populaire webserver software. In deze zelfstudie kiezen we Nginx.

Download en installeer Nginx uit de Fedora repository:

sudo dnf install -y nginx

Controleer de Nginx versie:

sudo nginx -v
# nginx version: nginx/1.14.1

Start Nginx en schakel de Nginx dienst in:

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

Configureer Nginx voor Matomo door te draaien:

sudo vim /etc/nginx/conf.d/matomo.conf

En vul het bestand met de volgende configuratie:

server {

listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;

server_name example.com;
root /var/www/matomo/;
index index.php;

ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;

location ~ ^/(index|matomo|piwik|js/index).php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/run/php-fpm/www.sock;
}

location
= /plugins/HeatmapSessionRecording/configs.php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/run/php-fpm/www.sock;
}

location ~* ^.+\.php$ {
deny all;
return 403;
}

location / {
try_files $uri $uri/ =404;
}

location ~ /(config|tmp|core|lang) {
deny all;
return 403;
}

location ~ \.(gif|ico|jpg|png|svg|js|css|htm|html|mp3|mp4|wav|ogg|avi|ttf|eot|woff|woff2|json)$ {
allow all;
}


location ~ /(libs|vendor|plugins|misc/user) {
deny all;
return 403;
}

}

OPMERKING:Voor complete en productieklare Nginx config voor Matomo bezoek jehttps://github.com/matomo-org/matomo-nginx.

Controleer Nginx configuratie op syntaxfouten:

sudo nginx -t

Herlaad Nginx service:

sudo systemctl reload nginx.service

Stap 4 - Installeer Matomo Analytics

Maak/var/www map:

sudo mkdir -p /var/www/

Navigeer naar de/var/www directory:

cd /var/www/

Download de nieuwste release Matomo via wget en pak het uit:

sudo wget https://builds.matomo.org/matomo.zip && sudo unzip matomo.zip

Verwijder het gedownloadematomo.zip bestand:

sudo rm matomo.zip

Veranderhet eigendom van de/var/www/matomodirectory innginx gebruiker:

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

Startsudo vim /etc/php-fpm.d/www.confen stel gebruiker en groep in opnginx. Aanvankelijk zal het ingesteld zijn op gebruiker en groepapache.

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

Herstart de PHP-FPM dienst.

sudo systemctl restart php-fpm.service

Stap 5 - Voltooi de Matomo Analytics setup

Open je site in een webbrowser en volg de Matomo web installatie wizard.

Eerst moet het Matomo welkomstbericht verschijnen. Klik op de"Next"knop:

Matomo installatie Wizard

Daarna zie je een"System Check"pagina. Als er iets ontbreekt zie je een waarschuwing. Als alles met een groen vinkje is gemarkeerd klik je op de"Next"knop om naar de volgende stap te gaan:

Systeemcontrole

Vul vervolgens de gegevens van de databank in en klik op het"Volgende"knop:

Database opzet

Als alles goed ging met het opzetten van de database zou je deboodschap"Tables created with success!"moeten zien:

Aanmaken van databasetabellen

Maak Matomo super gebruikersaccount aan en klik op de"Volgende"knop:

Maak een super gebruikers account aan

Zet vervolgens de eerste website op die je met Matomo wilt volgen en analyseren. Later kun je meer sites toevoegen om met Matomo te volgen:

Website toevoegen aan Matomo

Vervolgens krijg je de JavaScript tracking code voor je site die je moet toevoegen om te beginnen met volgen.

Javascript traceercode

Vervolgens zou je moeten zien dat de Matomo installatie voltooid is.

Matomo installatie voltooid

Gefeliciteerd! Je Matomo installatie is voltooid.