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
}
}