Zabbix : Instalation en VM

Table of Contents

 

1. Environement technique

  • type VM
    • vCPU : 2
    • vRAM : 2 Go
    • vDisk : 20Go
  • OS : Almalinux 9.6
  • Zabbix version : 7.4 (version Beta)
    • Webserveur : Caddy
    • Base de donnée : MariaDB

2. Instalation de Alamalinux 9.6

Je fais une instalation minimal apartir de l'ISO boot et je vous passe le détail de la création de la VM et du processus d'instation.

Comme c'est une instalation minimal en VM basé sur KVM

dnf install bash-completion tmux qemu-guest-agent vim-enhanced
systemctl enable --now qemu-guest-agent

3. Instalation de Zabbix 7.4 (version Beta)

Il ne faut avoir le dépot EPEL d'activé, car celui ci ne dispose que de la version 7.0 de Zabbix. C'est la version LTS.

3.1 Dépot Zabbix

rpm -Uvh https://repo.zabbix.com/zabbix/7.4/release/alma/9/noarch/zabbix-release-latest-7.4.el9.noarch.rpm
dnf clean all

Instalation des packages de Zabbix

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

Base de donné

dnf install mariadb-server
systemctl enable --now mariadb
mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

 

zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

 

mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

 

4. Caddy

4.1 Instaltion

dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy
systemctl enable --now caddy

4.2 Configuration

 

Firewall

Alamalinux active par défaut le firewall

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-service=zabbix-server --permanent
firewall-cmd --reload

 

HTTP Debian

# Configuration pour Zabbix avec Caddy

:80 {
    # Racine du document pour Zabbix
    root * /usr/share/zabbix

    # Active la compression
    encode gzip

    # Gère les requêtes PHP
    php_fastcgi unix//run/php/php8.1-fpm.sock

    # Configuration pour Zabbix
    handle /zabbix/* {
        try_files {path} {path}/ /zabbix/index.php?{query}
    }

    handle / {
        try_files {path} {path}/ /index.php?{query}
    }

    # Configuration des en-têtes
    header {
        X-Content-Type-Options nosniff
        X-Frame-Options SAMEORIGIN
        X-XSS-Protection "1; mode=block"
    }

    # Configuration des logs
    log {
        output file /var/log/caddy/access.log
    }
}

HTTP RED HAT

# Configuration pour Zabbix avec Caddy sur Red Hat

:80 {
    # Racine du document pour Zabbix
    root * /usr/share/zabbix/ui

    # Active la compression
    encode gzip

    # Gère les requêtes PHP
    php_fastcgi unix//run/php-fpm/www.sock

    # Configuration pour Zabbix
    handle /zabbix/* {
        try_files {path} {path}/ /zabbix/index.php?{query}
    }

    handle / {
        try_files {path} {path}/ /index.php?{query}
    }

    # Configuration des en-têtes
    header {
        X-Content-Type-Options nosniff
        X-Frame-Options SAMEORIGIN
        X-XSS-Protection "1; mode=block"
    }

    # Configuration des logs
    log {
        output file /var/log/caddy/access.log
    }
}

Https

# Configuration pour Zabbix avec Caddy

:80 {
    # Redirige HTTP vers HTTPS
    redir https://{host}{uri}
}

:443 {
    # Active le support TLS
    tls your@email.com

    # Racine du document pour Zabbix
    root * /usr/share/zabbix

    # Active la compression
    encode gzip

    # Gère les requêtes PHP
    php_fastcgi unix//run/php/php8.1-fpm.sock

    # Configuration pour Zabbix
    handle /zabbix/* {
        try_files {path} {path}/ /zabbix/index.php?{query}
    }

    handle / {
        try_files {path} {path}/ /index.php?{query}
    }

    # Configuration des en-têtes
    header {
        X-Content-Type-Options nosniff
        X-Frame-Options SAMEORIGIN
        X-XSS-Protection "1; mode=block"
    }

    # Configuration des logs
    log {
        output file /var/log/caddy/access.log
    }
}

This article was updated on juin 30, 2025