Comment Installer Zabbix avec Nginx sur Ubuntu Linux

Ce tutoriel vous montrera toutes les étapes nécessaires à l’installation de Zabbix 4 avec Nginx et PHP-FPM sur Ubuntu Linux.

Ce tutoriel a été testé sur Ubuntu 18.04.

1. Configurez la Date et l'heure à l'aide de NTP

Il est très important que votre système conserve la date et l'heure correctes.

Définissez le fuseau horaire correct.

# dpkg-reconfigure tzdata

Installez le paquet Ntpdate et définissez la date et l'heure correctes.

# apt-get update
# apt-get install ntpdate
# ntpdate pool.ntp.br

Désactivez le client NTP par défaut Ubuntu.

Installez le service NTP pour que la date et l'heure de l'ordinateur soient mises à jour après un redémarrage.

# timedatectl set-ntp 0
# apt-get install ntp

Assurez-vous que la date et l'heure correctes ont été définies sur votre ordinateur.

# date

2. Installez MySQL sur Ubuntu Linux

Zabbix nécessite un système de base de données pour stocker toute sa configuration.

Utilisez la commande Ubuntu APT pour installer le serveur MySQL.

# apt-get update
# apt-get install mysql-server mysql-client

Utilisez la commande suivante pour accéder à la console de service MySQL.

# mysql -u root -p

Sur la console MySQL, vous devez effectuer les tâches suivantes:

• Créez une base de données nommée zabbix.
• Créez un compte utilisateur MySQL nommé zabbix.
• Donnez un contrôle total sur la base de données zabbix à l'utilisateur zabbix.

CREATE DATABASE zabbix CHARACTER SET UTF8 COLLATE UTF8_BIN;
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'kamisama123';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
quit;

Téléchargez le package d'installation de Zabbix pour obtenir les modèles de base de données.

# mkdir /downloads
# cd /downloads
# wget https://ufpr.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz

Extrayez le package d'installation de Zabbix.

Importez les modèles de base de données Zabbix dans la base de données MySQL.

Lorsque vous y êtes invité, vous devez entrer le mot de passe MySQL pour l'utilisateur Zabbix.

# tar -zxvf zabbix-4.0.3.tar.gz
# cd zabbix-4.0.3/database/mysql/
# mysql -u zabbix -p zabbix < schema.sql
# mysql -u zabbix -p zabbix < images.sql
# mysql -u zabbix -p zabbix < data.sql

L'installation de la base de données Zabbix est terminée.

3. Installer Nginx sur Ubuntu Linux

Utilisez la commande Ubuntu APT pour installer le serveur Nginx.

# apt-get update
# apt-get install nginx

Editez le fichier de configuration nginx.conf.

Ajoutez client_max_body_size à la section HTTP.

Configurez la taille de téléchargement maximale sur 32 Mo.

# vi /etc/nginx/nginx.conf

Voici le fichier avec notre configuration.

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
client_max_body_size 32M;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

Redémarrez le serveur Web Nginx manuellement.

# service nginx restart
# service nginx status

Vérifiez l'état du service Nginx.

● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-12-29 04:29:22 UTC; 1h 17min ago
Docs: man:nginx(8)
Process: 2233 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status
Process: 2221 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exite
Main PID: 2238 (nginx)
Tasks: 2 (limit: 1152)
CGroup: /system.slice/nginx.service
├─2238 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2239 nginx: worker process

Le serveur Web Nginx a été installé avec succès.

4. Ajouter le Support PHP à Nginx

Nginx a besoin d'un programme externe pour ajouter le support PHP.

Utilisez la commande Ubuntu APT pour installer les packages requis par PHP.

# apt-get update
# apt-get install php7.2-fpm

Utilisez la commande suivante pour installer les modules PHP requis.

# apt-get install php7.2-mysql php7.2-mbstring php7.2-xml
# apt-get install php7.2-gd php7.2-curl php7.2-bcmath php7.2-ldap

Recherchez l'emplacement du fichier de configuration PHP sur votre système.

Editez le fichier de configuration php.ini.

# updatedb
# locate php.ini
# vi /etc/php/7.2/fpm/php.ini

Votre version de PHP n'est peut-être pas la même que la nôtre.

Votre emplacement de fichier de configuration PHP peut ne pas être le même que le nôtre.

Voici le fichier avec notre configuration.

max_execution_time = 300
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 32M
max_input_time = 300
date.timezone = America/Sao_Paulo

Modifiez le fichier de configuration de site Web par défaut de Nginx.

# vi /etc/nginx/sites-available/default

Voici le fichier original, avant notre configuration.

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}

Voici le nouveau fichier avec notre configuration.

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}

Vérifiez si votre fichier de configuration Nginx n'a pas d'erreur.

# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Redémarrez le service PHP.
Redémarrez le service Nginx.

# service php7.2-fpm restart
# service nginx restart

La configuration PHP du serveur Nginx est terminée.

5. Installer Zabbix 4 sur Ubuntu Linux

Une fois la configuration de MySQL et de Nginx terminée, nous pouvons commencer l’installation de Zabbix.

Créez le compte utilisateur requis sur le service Zabbix.

# groupadd zabbix
# useradd -g zabbix -s /bin/bash zabbix

Utilisez la commande Ubuntu APT pour installer les packages requis.

# apt-get install build-essential libmysqlclient-dev libssl-dev libsnmp-dev libevent-dev
# apt-get install libopenipmi-dev libcurl4-openssl-dev libxml2-dev libssh2-1-dev libpcre3-dev
# apt-get install libldap2-dev libiksemel-dev libcurl4-openssl-dev libgnutls28-dev

Accédez au répertoire où le package d'installation de Zabbix a été téléchargé.

Compilez et installez l'application serveur Zabbix.

# cd /downloads/zabbix-4.0.3/
# ./configure --enable-server --enable-agent --with-mysql --with-openssl --with-net-snmp --with-openipmi --with-libcurl --with-libxml2 --with-ssh2 --with-ldap
# make
# make install

Recherchez l'emplacement du fichier de configuration du serveur Zabbix sur votre système.

Editez le fichier de configuration zabbix_server.conf.

# updatedb
# locate zabbix_server.conf
# vi /usr/local/etc/zabbix_server.conf

Voici le fichier original, avant notre configuration.

LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
Timeout=4
LogSlowQueries=3000

Voici le nouveau fichier avec notre configuration.

LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=kamisama123
Timeout=4
LogSlowQueries=3000

Démarrez le serveur Zabbix à l’aide de la commande suivante.

# /usr/local/sbin/zabbix_server

Démarrez l'application de l'agent Zabbix à l'aide de la commande suivante.

# /usr/local/sbin/zabbix_agentd

Optionnel! Le package d'installation de Zabbix propose des scripts de démarrage de service.

Copiez le script de démarrage Zabbix.

# cd /downloads/zabbix-4.0.3/
# cp misc/init.d/debian/* /etc/init.d/

Vous pouvez maintenant utiliser les commandes suivantes pour démarrer le service serveur Zabbix.

# /etc/init.d/zabbix-server start

Vous pouvez maintenant utiliser les commandes suivantes pour arrêter le service serveur Zabbix.

# /etc/init.d/zabbix-server stop

Déplacez les fichiers frontaux Zabbix dans le répertoire de votre lecteur racine Nginx.

Donnez à l'utilisateur www-data le contrôle total sur le répertoire Zabbix et ses fichiers.

# cd /downloads/zabbix-4.0.3/frontends
# mv php /var/www/html/zabbix
# chown www-data.www-data /var/www/html/zabbix/* -R

Redémarrez le service Nginx.

# service nginx stop
# service nginx start

6. Configurez Zabbix sur Ubuntu Linux

Ouvrez votre navigateur et entrez l'adresse IP de votre serveur Web plus / zabbix.

Dans notre exemple, l'URL suivante a été entrée dans le navigateur:

• http://200.200.200.200/zabbix

L'assistant d'installation de Zabbix sera présenté.

Zabbix Installation

Vérifiez si toutes les exigences de Zabbix ont été satisfaites.

Zabbix install Nginx requirements

Entrez les informations de connexion MySQL requises pour vous connecter à la base de données Zabbix

Zabbix database connetion

Cliquez sur le bouton Suivant.

Zabbix Agent Connection

Vérifiez le résumé d'installation de Zabbix.

Zabbis Installation Summary

Cliquez sur le bouton Terminer pour accéder à l'écran de connexion Zabbix.

Zabbix installation finished

Sur l'écran de connexion Zabbix, entrez les informations suivantes.

• Nom d'utilisateur par défaut Zabbix: Admin
• Mot de passe par défaut Zabbix: zabbix

Zabbix Login

Une fois la connexion établie, le tableau de bord Zabbix s’affiche.

Zabbix Dashboard

Félicitations, Zabbix est installé sur votre système.

7. Surveiller le Serveur Zabbix

Le serveur Zabbix doit pouvoir se surveiller lui-même.

Sur le tableau de bord Zabbix, accédez au menu Configuration et sélectionnez l'option Hôte.

Zabbix menu

En haut à droite de l'écran, sélectionnez l'option nommée: Serveurs Zabbix

Zabbix Server Group

Localisez l'hôte nommé serveur Zabbix et cliquez sur le mot DISABLED.

Cela permettra au serveur Zabbix de se surveiller lui-même.

Zabbix server agent disabled

Le statut du serveur Zabbix passera de DISABLED à ENABLED.

Zabbix server agent enabled

Le serveur Zabbix se surveille maintenant.