Hoe Zabbix met Nginx op Ubuntu Linux te Installeren

Deze tutorial laat je alle stappen zien die nodig zijn om Zabbix 4 te installeren met Nginx en PHP-FPM op Ubuntu Linux.

Deze tutorial is getest op Ubuntu 18.04.

1. Configureer de Datum en Tijd met NTP

Het is erg belangrijk om uw systeem op de juiste datum en tijd te houden.

Stel de juiste tijdzone in.

# dpkg-reconfigure tzdata

Installeer het Ntpdate-pakket en stel de juiste datum en tijd in.

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

Schakel de standaard NTP-client van Ubuntu uit.

Installeer de NTP-service om de datum en tijd van de computer bij te houden na een herstart.

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

Zorg ervoor dat de juiste datum en tijd op uw computer zijn ingesteld.

# date

2. Installeer MySQL op Ubuntu Linux

Zabbix heeft een databasesysteem nodig om alle configuratie op te slaan.

Gebruik de opdracht Ubuntu APT om de MySQL-server te installeren.

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

Gebruik de volgende opdracht om toegang te krijgen tot de MySQL-serviceconsole.

# mysql -u root -p

Op de MySQL-console moet u de volgende taken uitvoeren:

• Maak een database met de naam zabbix.
• Maak een MySQL-gebruikersaccount met de naam zabbix.
• Geef de zabbix-gebruiker volledige controle over de zabbix-database.

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

Download het Zabbix-installatiepakket om de databasesjablonen op te halen.

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

Pak het Zabbix-installatiepakket uit.

Importeer de Zabbix-databasesjablonen in de MySQL-database.

Indien gevraagd, moet u het MySQL-wachtwoord invoeren voor de Zabbix-gebruiker.

# 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

De Zabbix-database-installatie is voltooid.

3. Installeer Nginx op Ubuntu Linux

Gebruik de opdracht Ubuntu APT om de Nginx-server te installeren.

# apt-get update
# apt-get install nginx

Bewerk het configuratiebestand nginx.conf.

Voeg client_max_body_size toe aan de HTTP-sectie.

Stel de maximale uploadgrootte in op 32 Megabytes.

# vi /etc/nginx/nginx.conf

Hier is het bestand met onze configuratie.

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/*;
}

Start de Nginx-webserver handmatig opnieuw.

# service nginx restart
# service nginx status

Controleer de Nginx-servicestatus.

● 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

De Nginx-webserver is met succes geïnstalleerd.

4. Voeg PHP-ondersteuning toe aan Nginx

Nginx heeft een extern programma nodig om PHP-ondersteuning toe te voegen.

Gebruik de opdracht Ubuntu APT om de vereiste PHP-pakketten te installeren.

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

Gebruik de volgende opdracht om de vereiste PHP-modules te installeren.

# 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

Zoek de locatie van het PHP-configuratiebestand op uw systeem.

Bewerk het php.ini-configuratiebestand.

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

Uw PHP-versie is misschien niet hetzelfde als die van ons.

Uw PHP-configuratiebestandslocatie is mogelijk niet dezelfde als die van ons.

Hier is het bestand met onze configuratie.

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

Bewerk het standaardwebsiteconfiguratiebestand van Nginx.

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

Hier is het originele bestand, vóór onze configuratie.

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

Hier is het nieuwe bestand met onze configuratie.

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

Controleer of uw Nginx-configuratiebestand geen fout bevat.

# nginx -t

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

Start de PHP-service opnieuw.
Start de Nginx-service opnieuw.

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

De PHP-configuratie van de Nginx-server is voltooid.

5. Installeer Zabbix 4 op Ubuntu Linux

Nadat de MySQL en de Nginx-configuratie zijn voltooid, kunnen we de Zabbix-installatie starten.

Maak het vereiste gebruikersaccount voor de Zabbix-service.

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

Gebruik de opdracht Ubuntu APT om de vereiste pakketten te installeren.

# 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

Toegang tot de map waar het Zabbix-installatiepakket is gedownload.

Compileer en installeer de Zabbix-servertoepassing.

# 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

Zoek de locatie van het Zabbix-serverconfiguratiebestand op uw systeem.

Bewerk het configuratiebestand zabbix_server.conf.

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

Hier is het originele bestand, vóór onze configuratie.

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

Hier is het nieuwe bestand met onze configuratie.

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

Start de Zabbix-server met behulp van de volgende opdracht.

# /usr/local/sbin/zabbix_server

Start de Zabbix-agenttoepassing met behulp van de volgende opdracht.

# /usr/local/sbin/zabbix_agentd

Optioneel! Het installatiepakket van Zabbix biedt opstartscripts voor services.

Kopieer het opstartscript van Zabbix.

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

U kunt nu de volgende opdrachten gebruiken om de Zabbix-serverservice te starten.

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

U kunt nu de volgende opdrachten gebruiken om de Zabbix-serverservice te stoppen.

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

Verplaats de Zabbix-frontend-bestanden in de directory van uw Nginx-hoofdmap.

Geef de gebruiker van www-data de volledige controle over de Zabbix-directory en de bijbehorende bestanden.

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

Start de Nginx-service opnieuw.

# service nginx stop
# service nginx start

6. Configureer Zabbix op Ubuntu Linux

Open uw browser en voer het IP-adres van uw webserver plus / zabbix in.

In ons voorbeeld is de volgende URL in de browser ingevoerd:

• http://200.200.200.200/zabbix

De Zabbix-installatiewizard wordt gepresenteerd.

Zabbix Installation

Controleer of aan alle Zabbix-vereisten is voldaan.

Zabbix install Nginx requirements

Voer de MySQL-inloggegevens in die vereist zijn om verbinding te maken met de Zabbix-database

Zabbix database connetion

Klik op de knop Volgende.

Zabbix Agent Connection

Controleer het Zabbix-installatiesamenvatting.

Zabbis Installation Summary

Klik op de knop Voltooien om toegang te krijgen tot het aanmeldingsscherm van Zabbix.

Zabbix installation finished

Voer de volgende informatie in op het aanmeldingsscherm van Zabbix.

• Zabbix standaard gebruikersnaam: Admin
• Zabbix standaard wachtwoord: zabbix

Zabbix Login

Na een succesvolle aanmelding wordt het Zabbix-dashboard weergegeven.

Zabbix Dashboard

Gefeliciteerd, Zabbix is op uw systeem geïnstalleerd.

7. Controleer de Zabbix-server

De Zabbix-server moet zichzelf kunnen controleren.

Ga op het Zabbix-dashboard naar het menu Configuratie en selecteer de optie Host.

Zabbix menu

Selecteer in de rechterbovenhoek van het scherm de optie met de naam: Zabbix-servers

Zabbix Server Group

Zoek de host met de naam Zabbix-server en klik op het woord DISABLED.

Hierdoor kan de Zabbix-server zichzelf controleren.

Zabbix server agent disabled

De Zabbix-serverstatus verandert van UITGESCHAKELD naar INGESCHAKELD.

Zabbix server agent enabled

De Zabbix-server controleert zichzelf nu.