Applications

📚 Installation Zabbix 7.2 Debian 13 Trixie — Guide Complet Les Fibrés

Guide complet avec résolution des problèmes — installation dans une VM Proxmox. Debian 13 ne dispose pas de paquets Zabbix officiels : ce guide détaille chaque ajustement nécessaire pour utiliser les paquets Debian 12 (Bookworm) en compatibilité.

Zabbix 7.2 Debian 13 Trixie Proxmox VM MariaDB 11 Apache libldap fix Monitoring 10 étapes
⚠️
Debian 13 Trixie est en phase testing. Zabbix ne publie pas de paquets officiels pour cette version. Ce guide utilise les paquets Debian 12 (Bookworm) en compatibilité, ce qui nécessite plusieurs ajustements manuels.

Recommandation production : Privilégiez Debian 12 Bookworm (LTS) pour éviter les conflits de dépendances. Voir aussi le guide Monitoring général.

Étape 1 — Création de la VM dans Proxmox

Créer une VM dans l'interface Proxmox avec les paramètres suivants avant de commencer l'installation.

ParamètreValeur recommandée
OSDebian 13 Trixie (ou Debian 12 recommandé)
CPU2 vCPU minimum
RAM4 Go minimum
Disque20 Go minimum (SSD recommandé)
RéseauVirtIO, bridge vmbr0

Étape 2 — Préparation du système

2.1 — Mise à jour initiale

01-update.sh
apt update && apt upgrade -y
apt install -y curl wget gnupg2

2.2 — Correction du fichier sources (spécifique Debian 13)

Debian 13 utilise le format DEB822 (.sources) mais l'installateur crée parfois un fichier au mauvais format. Vérifier :

02-check-sources.sh
# Vérifier le contenu du fichier sources
cat /etc/apt/sources.list.d/debian.sources

# Si le fichier contient des lignes 'deb http://...' (ancien format)
# mais porte l'extension .sources, le renommer :
mv /etc/apt/sources.list.d/debian.sources /etc/apt/sources.list.d/debian.list
🔴Erreur : Ligne 1 mal formée dans /etc/apt/sources.list.d/debian.sources
✅ Solution : Le fichier debian.sources contient du contenu au format .list. Le renommer en debian.list (voir étape 2.2).

2.3 — Suppression de l'entrée CDROM

03-remove-cdrom.sh
# Éditer sources.list et commenter la ligne cdrom
nano /etc/apt/sources.list

# Mettre un # devant la ligne cdrom :
# deb cdrom://[Debian GNU/Linux 13...] trixie main

# Mettre à jour après la correction
apt update

Étape 3 — Installation du dépôt Zabbix

Zabbix ne proposant pas de paquets natifs pour Debian 13, on utilise le dépôt Debian 12 (Bookworm) en compatibilité.

04-zabbix-repo.sh
# Télécharger le paquet de dépôt Zabbix 7.2 pour Debian 12
wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb

# Installer le paquet de dépôt
dpkg -i zabbix-release_latest_7.2+debian12_all.deb

# Mettre à jour la liste des paquets
apt update

Étape 4 — Installation des paquets Zabbix

4.1 — Installation initiale

05-install-zabbix.sh
apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
🔴Erreur : Dépend: libldap-2.5-0 mais il n'est pas installable
✅ Solution : Debian 13 fournit libldap2 sans numéro de version. Ajouter le dépôt Bookworm pour récupérer libldap-2.5-0 :

fix-libldap.sh
echo 'deb http://deb.debian.org/debian bookworm main' > /etc/apt/sources.list.d/bookworm.list
apt update && apt install -y libldap-2.5-0
🔴Erreur : trying to overwrite '/usr/share/zabbix/browserwarning.php' (conflit zabbix-frontend-php 7.0 vs 7.2)
✅ Solution : Debian 13 installe automatiquement Zabbix 7.0. Forcer la version 7.2 :

fix-version-conflict.sh
apt install -y zabbix-frontend-php=1:7.2.15-1+debian12
dpkg -i --force-overwrite /var/cache/apt/archives/zabbix-apache-conf_1%3a7.2.15-1+debian12_all.deb
apt install -f

4.2 — Uniformisation des versions

Après installation, vérifier que tous les composants sont en version 7.2. Des mélanges 7.0/7.2 causent des dysfonctionnements.

06-check-versions.sh
# Vérifier les versions installées
dpkg -l | grep zabbix

# Si zabbix-server-mysql ou zabbix-agent sont en 7.0, forcer la mise à jour :
apt install -y zabbix-server-mysql=1:7.2.15-1+debian12 zabbix-agent=1:7.2.15-1+debian12

Étape 5 — Installation et configuration de MariaDB

5.1 — Installation

07-mariadb-install.sh
apt install -y mariadb-server
systemctl enable --now mariadb

# Sur MariaDB 11.x, utiliser mariadb-secure-installation
# (et non mysql_secure_installation)
mariadb-secure-installation
⚠️
Sur MariaDB 11.x (Debian 13), la commande est mariadb-secure-installation et non mysql_secure_installation.

Répondre aux questions de sécurisation :

QuestionRéponse recommandée
Switch to unix_socket authenticationN
Change root passwordY — choisir un mot de passe fort
Remove anonymous usersY
Disallow root login remotelyY
Remove test databaseY
Reload privilege tablesY

5.2 — Création de la base de données Zabbix

08-mariadb-setup.sql
-- Se connecter à MariaDB
mysql -u root -p

-- Créer la base de données avec le bon charset
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

-- Créer l'utilisateur Zabbix
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'VotreMotDePasse';

-- Donner tous les droits sur la base zabbix
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';

-- Nécessaire pour l'import du schéma (stored procedures)
SET GLOBAL log_bin_trust_function_creators = 1;

FLUSH PRIVILEGES;
EXIT;
⚠️
Éviter les caractères spéciaux comme + dans le mot de passe. Ils peuvent causer des erreurs Access denied lors de l'import en ligne de commande.
🔴Erreur : Access denied for user 'zabbix'@'localhost' (using password: YES)
✅ Solution : Le mot de passe contient des caractères spéciaux mal interprétés par le shell. Changer le mot de passe via root :

fix-password.sql
-- Se connecter en root
mysql -u root -p

-- Modifier le mot de passe
ALTER USER 'zabbix'@'localhost' IDENTIFIED BY 'NouveauMotDePasse';
FLUSH PRIVILEGES;
EXIT;

Étape 6 — Import du schéma de base de données

09-import-schema.sh
# Trouver le fichier server.sql.gz si besoin
find / -name 'server.sql.gz' 2>/dev/null

# Importer le schéma Zabbix dans la base de données
# Cette opération peut prendre 1 à 3 minutes — ne pas l'interrompre
zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | \
  mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

# Après import réussi, désactiver l'option temporaire
mysql -u root -p -e "SET GLOBAL log_bin_trust_function_creators = 0;" 
⏱️
L'import du schéma peut prendre 1 à 3 minutes. C'est tout à fait normal. Ne pas interrompre la commande même si rien ne s'affiche pendant ce temps.

Étape 7 — Configuration de Zabbix Server

/etc/zabbix/zabbix_server.conf
# Éditer la configuration du serveur Zabbix
nano /etc/zabbix/zabbix_server.conf

# Modifier ou vérifier ces paramètres :
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=VotreMotDePasse

Étape 8 — Création des répertoires et démarrage des services

10-start-services.sh
# Créer les répertoires de configuration manquants
mkdir -p /etc/zabbix/zabbix_server.conf.d
mkdir -p /etc/zabbix/zabbix_agentd.conf.d

# Redémarrer et activer les services
systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2

# Vérifier que tout fonctionne
systemctl status zabbix-server
systemctl status zabbix-agent
systemctl status apache2
🔴Erreur : zabbix_server.conf.d / zabbix_agentd.conf.d: No such file or directory
✅ Solution : Les répertoires de configuration ne sont pas créés automatiquement lors de l'installation. Les créer manuellement :

fix-confd.sh
mkdir -p /etc/zabbix/zabbix_server.conf.d
mkdir -p /etc/zabbix/zabbix_agentd.conf.d

Vérification des logs en cas d'erreur

check-logs.sh
# Voir les logs du serveur Zabbix en temps réel
tail -f /var/log/zabbix/zabbix_server.log

# Voir les logs système liés à Zabbix
journalctl -u zabbix-server -f

# Vérifier que le port Zabbix est en écoute
ss -tulnp | grep 10051

Étape 9 — Configuration de l'interface web

11-get-ip.sh
# Obtenir l'adresse IP de la VM
ip a | grep inet

# Accéder à l'interface web dans un navigateur :
# http://<IP-de-la-VM>/zabbix

Remplir l'assistant de configuration web :

ChampValeur
Database typeMySQL
Database hostlocalhost
Database port0 (port par défaut 3306)
Database namezabbix
Userzabbix
PasswordVotreMotDePasse
Database TLS encryptionDécoché
🔴Erreur : Impossible de changer Database type (bloqué sur PostgreSQL)
✅ Solution : Le module PHP MySQL n'est pas installé. Exécuter :

fix-php-mysql.sh
apt install -y php-mysql
systemctl restart apache2
# Recharger la page http://<IP>/zabbix

9.1 — Première connexion

ChampValeur
URLhttp://<IP-de-la-VM>/zabbix
LoginAdmin
Passwordzabbix
🔐
Changer immédiatement le mot de passe Admin après la première connexion.
Administration → Users → Admin → Change password.

Étape 10 — Récapitulatif de tous les problèmes Debian 13

Synthèse de tous les problèmes spécifiques à Debian 13 Trixie et leurs solutions :

❌ Problème rencontré✅ Solution appliquée
Ligne 1 mal formée dans debian.sourcesRenommer en debian.list (mv debian.sources debian.list)
Entrée CDROM dans sources.listCommenter la ligne deb cdrom:// avec un #
libldap-2.5-0 non installableAjouter le dépôt Bookworm + apt install libldap-2.5-0
Conflit zabbix-frontend-php 7.0 vs 7.2Forcer version 7.2 + dpkg --force-overwrite + apt install -f
Access denied avec caractères spéciauxÉviter + dans le mot de passe, utiliser ALTER USER pour corriger
conf.d: No such file or directorymkdir -p /etc/zabbix/zabbix_server.conf.d et agentd.conf.d
Database type bloqué sur PostgreSQLapt install php-mysql + systemctl restart apache2
Mélange versions 7.0 et 7.2Forcer toutes les versions en 7.2 avec apt install pkg=version
Ressources officielles Zabbix
Ajouter Les Fibrés à mes sources préférées
Retrouvez plus souvent nos guides dans vos résultats Google