In dieser Anleitung habe ich Matomo auf einem Proxmox-Server als LXC Container installiert mit Debian 12 als Linux Template. Matomo kannst du auf einer VM aber auch problemlos in einem LXC (Linux Container) installieren.
Matomo Systemvoraussetzungen
Hardware | Ressourcen |
---|---|
CPU | 4 Kerne |
RAM | 8192 MB |
Festplatte | 16 GB |
Bei Nutzung eines LXC Container vorher folgende 2 Befehle ausführen
Damit werden einige Pakete nach installiert
apt update && apt upgrade -y && apt autoremove && apt autoclean && apt install htop sudo net-tools nano unzip software-properties-common curl lsb-release apt-transport-https locate screen zip bzip2 ca-certificates gnupg wget -y && dpkg-reconfigure tzdata
Jetzt die Zeitzone anpassen Europe –> Berlin
echo "de_DE.UTF-8 UTF-8" > /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && echo -e "LANG=de_DE.UTF-8nLANGUAGE="de_DE:de"" >> /etc/default/locale
Die Basis: Docker und Docker Compose
Zuerst müssen wir Docker und Docker Compose installieren. Dies lässt sich ganz einfach mit den folgenden 5 Schritte erledigen.
Linux Distribution aktualisieren und Standard Tools installieren: curl, htop, qemu-guest-agent
apt update && apt upgrade -y && apt install curl htop qemu-guest-agent -y
Docker und Docker-Compose installieren
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
Jetzt Matomo Verzeichnis erstellen und darin eine docker-compose.yml anlegen
mkdir matomo && cd matomo && nano docker-compose.yml
In die docker-compose.yml folgendes einbinden, anpassen und mit strg O speichern und strg x verlassen.
In der .yml Datei müssen einige Parameter angepasst werden die sind gegenzeichnet mit #Eingabe
--- services: matomo: image: matomo restart: always ports: - 8081:80 environment: - MATOMO_DATABASE_HOST=db - MATOMO_DATABASE_TABLES_PREFIX=mat_ - MATOMO_DATABASE_USERNAME=DeinDatenbankUser #Eingabe - MATOMO_DATABASE_PASSWORD=DeinPassword #Eingabe - MATOMO_DATABASE_DBNAME=matomo - TZ=Europe/Berlin volumes: - /var/lib/docker/volumes/matomo/web:/var/www/html links: - db:db db: image: yobasystems/alpine-mariadb:latest restart: always environment: MYSQL_DATABASE: matomo MYSQL_USER: DeinDatenbankUser #Eingabe MYSQL_PASSWORD: DeinPassword #Eingabe MYSQL_RANDOM_ROOT_PASSWORD: "1" command: --max_allowed_packet=64M volumes: - /var/lib/docker/volumes/matomo/db:/var/lib/mysql networks: {}
Anschließend den Container deployen
docker-compose up -d
Jetzt müssen wir uns mit dem Docker Container verbinden um einige Fehler die unter Einstellungen angezeigt werden zu fixen.
Bemängelt werden das fehlende force-ssl = 1 und schema = „Mariadb“ dazu müssen wir zuerst mit folgendem Befehl die Docker ID herausfinden
docker ps
Mit der Docker ID können wir uns jetzt verbinden
docker exec -it 4c5c93a7a27a /bin/bash
Jetzt öffnen wir in dem Docker Container die config.ini.php um zwei Zeilen hinzuzüfgen.
nano /var/www/html/config/config.ini.php
In der config.ini.php fügt ihr unter [General] force_ssl = 1 ein und unter [database] schema = „Mariadb“ anschließend mit strg+O und strg+X speichern und verlassen.
Jetzt erstellen wir noch einen Cornjob damit die berichte automatisiert erstellt werden.
nano /etc/cron.d/matomo-archive
In der Datei bindest du jetzt folgendes ein und passt deine Domain an und anschließend mit strg+O und strg+X speichern und verlassen.
1 * * * * /usr/local/bin/php /var/www/html/console core:archive --url=https://matomo.deineDomain.de/ >> /etc/matomo-archive.log
Die Linux Kiste jetzt einmal neu starten und Freude beim Analysieren haben.