[comment]: # translation:outdated

[comment]: # ({09dc6459-af2eaf2f})
# 3 Installatie vanuit bronnen

Je kunt de allernieuwste versie van Zabbix krijgen door het te compileren vanuit de bronnen.

Een stapsgewijze handleiding voor het installeren van Zabbix vanuit de bronnen wordt hier gegeven.

[comment]: # ({/09dc6459-af2eaf2f})

[comment]: # ({0040d992-0040d992})
#### - Zabbix-daemons installeren

[comment]: # ({/0040d992-0040d992})

[comment]: # ({10b6d25d-8cc2c1b1})
##### 1 Download de bronarchief

Ga naar de [Zabbix download pagina](http://www.zabbix.com/download_sources)
en download het bronarchief. Eenmaal gedownload, pak je de bronnen uit
door het volgende commando uit te voeren:

    $ tar -zxvf zabbix-6.4.0.tar.gz

::: notetip
Vul de juiste Zabbix-versie in in het commando. Dit moet
overeenkomen met de naam van het gedownloade archief.
:::

[comment]: # ({/10b6d25d-8cc2c1b1})

[comment]: # ({87e1101d-87e1101d})
##### 2 Gebruikersaccount aanmaken

Voor alle Zabbix-daemonprocessen is een niet-geprivilegieerde gebruiker
vereist. Als een Zabbix-daemon wordt gestart vanuit een
niet-geprivilegieerd gebruikersaccount, zal het als die gebruiker
uitvoeren.

Echter, als een daemon wordt gestart vanuit een 'root'-account, zal het
overschakelen naar een 'zabbix'-gebruikersaccount, die aanwezig moet zijn. Om zo'n gebruikersaccount te maken (in zijn eigen groep, "zabbix"),

op een RedHat-gebaseerd systeem, voer uit:

    groupadd --system zabbix
    useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

op een Debian-gebaseerd systeem, voer uit:

    addgroup --system --quiet zabbix
    adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix

::: noteimportant
Zabbix-processen hebben geen thuismap nodig,
daarom raden we niet aan deze aan te maken. Als je echter functionaliteit
gebruikt die het vereist (bijvoorbeeld MySQL referenties opslaan in
`$HOME/.my.cnf`), dan ben je vrij om het aan te maken met behulp van de volgende
opdrachten.\
\

Op RedHat-gebaseerde systemen, voer uit:

    mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
    chown zabbix:zabbix /usr/lib/zabbix

Op Debian-gebaseerde systemen, voer uit:

    mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
    chown zabbix:zabbix /var/lib/zabbix


:::

Een apart gebruikersaccount is niet vereist voor de installatie van de
Zabbix frontend.

Als de Zabbix [server](/manual/concepts/server) en
[agent](/manual/concepts/agent) op dezelfde machine worden uitgevoerd, wordt
aangeraden een andere gebruiker te gebruiken voor het uitvoeren van de
server dan voor het uitvoeren van de agent. Als beide worden uitgevoerd
als dezelfde gebruiker, kan de agent toegang krijgen tot het
serverconfiguratiebestand en kan elke gebruiker met het Admin-niveau in
Zabbix vrij gemakkelijk bijvoorbeeld het database-wachtwoord ophalen.

::: noteimportant
Zabbix uitvoeren als `root`, `bin`, of een andere
account met speciale rechten vormt een beveiligingsrisico.
:::

[comment]: # ({/87e1101d-87e1101d})

[comment]: # ({06256db0-06256db0})
##### 3 Maak Zabbix-database

Voor de Zabbix [server](/manual/concepts/server) en [proxy](/manual/concepts/proxy) daemons, evenals de Zabbix-frontend, is een database vereist. Het is niet nodig om de Zabbix [agent](/manual/concepts/agent) uit te voeren.

SQL-[scripts worden verstrekt](/manual/appendix/install/db_scripts) om het databaseschema te maken en de dataset in te voegen. Voor de Zabbix proxy-database is alleen het schema nodig, terwijl de Zabbix server-database ook de dataset bovenop het schema vereist.

Nadat je een Zabbix-database hebt aangemaakt, ga je verder met de volgende stappen om Zabbix te compileren.

[comment]: # ({/06256db0-06256db0})

[comment]: # ({ba9bbaf6-8ff1b41c})
##### 4 Configureer de bronnen

Voor het bouwen van de Zabbix-server, Zabbix-proxy of Zabbix-agent is C99 met GNU-uitbreidingen vereist. Deze versie kan expliciet worden gespecificeerd door CFLAGS="-std=gnu99" in te stellen:

    export CFLAGS="-std=gnu99"

::: noteclassic
Als je installeert vanuit de [Zabbix Git-repository](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse),
moet je eerst uitvoeren:\

`./bootstrap.sh`
:::

Bij het configureren van de bronnen voor een Zabbix-server of -proxy, moet je
het type database opgeven dat moet worden gebruikt. Slechts één database type kan
tegelijkertijd worden gecompileerd met een server- of proxyproces.

Om alle ondersteunde configuratieopties te zien, voer je binnen de uitgepakte
Zabbix-bronmap uit:

    ./configure --help

Om de bronnen te configureren voor een Zabbix-server en agent, kun je bijvoorbeeld het volgende uitvoeren:

    ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi

Om de bronnen te configureren voor een Zabbix-server (met PostgreSQL, enz.), kun je het volgende uitvoeren:

    ./configure --enable-server --with-postgresql --with-net-snmp

Om de bronnen te configureren voor een Zabbix-proxy (met SQLite, enz.), kun je het volgende uitvoeren:

    ./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2

Om de bronnen te configureren voor een Zabbix-agent, kun je het volgende uitvoeren:

    ./configure --enable-agent

of, voor Zabbix-agent 2:

    ./configure --enable-agent2

::: noteclassic
Een geconfigureerde Go-omgeving met een momenteel ondersteunde [Go
versie](https://golang.org/doc/devel/release#policy) is vereist voor
het bouwen van Zabbix-agent 2. Zie
[golang.org](https://golang.org/doc/install) voor installatie-instructies.
:::

Opmerkingen over compilatieopties:

- De opdrachtregelhulpprogramma's zabbix\_get en zabbix\_sender worden
  gecompileerd als de optie --enable-agent wordt gebruikt.
- De configuratieopties --with-libcurl en --with-libxml2 zijn vereist
  voor het monitoren van virtuele machines; --with-libcurl is ook vereist voor
  SMTP-authenticatie en Zabbix-agent [items](/manual/config/items/itemtypes/zabbix_agent) van het type `web.page.*`. Merk op dat cURL
  7.20.0 of hoger is [vereist](/manual/installation/requirements)
  met de --with-libcurl configuratieoptie.
- Zabbix wordt altijd gecompileerd met de PCRE-bibliotheek (sinds versie 3.4.0);
  het installeren ervan is niet optioneel. De optie --with-libpcre=\[DIR\] maakt alleen
  het wijzen naar een specifieke basisinstallatiemap mogelijk in plaats van het zoeken
  door een aantal veelvoorkomende locaties voor de libpcre-bestanden.
- Je kunt de --enable-static vlag gebruiken om bibliotheken statisch te koppelen.
  Als je van plan bent om gecompileerde binaries tussen verschillende servers te verspreiden,
  moet je deze vlag gebruiken om ervoor te zorgen dat deze binaries werken zonder de benodigde
  bibliotheken. Merk op dat --enable-static niet werkt in
  [Solaris](https://docs.oracle.com/cd/E18659_01/html/821-1383/bkajp.html).
- Het gebruik van de --enable-static optie wordt niet aanbevolen bij het bouwen
  van de server. Om de server statisch te bouwen, moet je een statische versie hebben
  van elke externe bibliotheek die nodig is. Er is geen strikte
  controle hiervoor in het configure-script.
- Voeg het optionele pad naar het MySQL-configuratiebestand toe
  --with-mysql=/<pad\_naar\_het\_bestand>/mysql\_config om
  de gewenste MySQL-clientbibliotheek te selecteren wanneer je er een moet gebruiken
  die zich niet in de standaardlocatie bevindt. Dit is nuttig als er
  verschillende versies van MySQL zijn geïnstalleerd of als MariaDB is geïnstalleerd
  naast MySQL op hetzelfde systeem.
- Gebruik de --with-oracle vlag om de locatie van de OCI API te specificeren.

::: noteimportant
Als ./configure mislukt vanwege ontbrekende bibliotheken of
omstandigheden, raadpleeg dan het bestand `config.log` voor meer
details over de fout. Als bijvoorbeeld `libssl` ontbreekt, kan de onmiddellijke
foutmelding misleidend zijn:

    checking for main in -lmysqlclient... no
    configure: error: Not found mysqlclient library

Terwijl `config.log` een gedetailleerdere beschrijving heeft:

    /usr/bin/ld: cannot find -lssl
    /usr/bin/ld: cannot find -lcrypto


:::

Zie ook:

- [Zabbix compileren met ondersteuning voor encryptie](/manual/encryption#compiling_zabbix_with_encryption_support)
  voor ondersteuning van encryptie
- [Bekende problemen](/manual/installation/known_issues#compiling_zabbix_agent_on_hp-ux)
  bij het compileren van de Zabbix-agent op HP-UX

[comment]: # ({/ba9bbaf6-8ff1b41c})

[comment]: # ({b1519dc7-08edd3dc})
##### 5 Alles compileren en installeren

::: noteclassic
Als je installeert vanuit de [Zabbix Git-repository](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse), dan is het vereist om eerst het volgende uit te voeren:\

`$ make dbschema`
:::

    make install

Deze stap moet worden uitgevoerd als een gebruiker met voldoende rechten (vaak 'root', of door `sudo` te gebruiken).

Het uitvoeren van `make install` zal standaard de daemon-binaries (zabbix\_server, zabbix\_agentd, zabbix\_proxy) installeren in /usr/local/sbin en de client-binaries (zabbix\_get, zabbix\_sender) in /usr/local/bin.

::: noteclassic
Om een andere locatie dan /usr/local op te geven, gebruik je een --prefix sleutel in de vorige stap van het configureren van de bronnen, bijvoorbeeld --prefix=/home/zabbix. In dat geval worden de daemon-binaries geïnstalleerd onder <prefix>/sbin, terwijl hulpprogramma's worden geïnstalleerd onder <prefix>/bin. Man-pagina's worden geïnstalleerd onder <prefix>/share.
:::

[comment]: # ({/b1519dc7-08edd3dc})

[comment]: # ({f36d53db-112b74f7})
##### 6 Beoordeel en bewerk configuratiebestanden

- Bewerk het Zabbix-agent configuratiebestand **/usr/local/etc/zabbix\_agentd.conf**

Je moet dit bestand configureren voor elke host waarop zabbix\_agentd is geïnstalleerd.

Je moet het **IP-adres** van de Zabbix-server opgeven in het bestand.
Verbindingen vanaf andere hosts worden geweigerd.

- Bewerk het Zabbix-server configuratiebestand **/usr/local/etc/zabbix\_server.conf**

Je moet de naam van de database, de gebruiker en het wachtwoord specificeren (indien van toepassing).

De rest van de parameters zijn standaard geschikt voor kleinere installaties (tot tien bewaakte hosts). Je moet de
standaardparameters wijzigen als je de prestaties van de Zabbix-server (of proxy) wilt maximaliseren.

- Als je een Zabbix-proxy hebt geïnstalleerd, bewerk dan het proxy-configuratiebestand **/usr/local/etc/zabbix\_proxy.conf**

Je moet het IP-adres van de server en de hostnaam van de proxy (die bekend moet zijn bij de server), evenals de naam van de database, de gebruiker en het wachtwoord specificeren (indien van toepassing).

::: noteclassic
Met SQLite moet het volledige pad naar het databasebestand worden
opgegeven; DB-gebruiker en wachtwoord zijn niet vereist.
:::

[comment]: # ({/f36d53db-112b74f7})

[comment]: # ({e896620b-bbdd82ac})
##### 7 Start de daemons op

Start zabbix\_server aan de serverzijde.

    shell> zabbix_server

::: noteclassic
Zorg ervoor dat je systeem 36 MB (of iets meer) gedeeld geheugen
kan toewijzen, anders kan de server niet starten en krijg je "Cannot allocate shared memory for <type of cache>." te zien in
het server logbestand. Dit kan gebeuren op FreeBSD, Solaris 8.
:::

Start zabbix\_agentd op alle bewaakte machines.

    shell> zabbix_agentd

::: noteclassic
Zorg ervoor dat je systeem 2 MB gedeeld geheugen kan toewijzen,
anders kan de agent niet starten en krijg je "Cannot allocate shared memory for collector." te zien in
het agent logbestand. Dit kan gebeuren op Solaris 8.
:::

Als je Zabbix-proxy hebt geïnstalleerd, start dan zabbix\_proxy.

    shell> zabbix_proxy

[comment]: # ({/e896620b-bbdd82ac})

[comment]: # ({c9f154ca-c9f154ca})
#### - Zabbix-webinterface installeren

[comment]: # ({/c9f154ca-c9f154ca})

[comment]: # ({d7606cb6-ed4e56ce})
##### PHP-bestanden kopiëren

De Zabbix frontend is geschreven in PHP, dus om deze uit te voeren is een webserver met PHP-ondersteuning nodig. De installatie wordt eenvoudigweg uitgevoerd door de PHP-bestanden van de ui-map naar de HTML-documentenmap van de webserver te kopiëren.

Veelvoorkomende locaties van HTML-documentenmappen voor Apache-webservers zijn:

-   /usr/local/apache2/htdocs (standaardmap bij het installeren van Apache vanaf de broncode)
-   /srv/www/htdocs (OpenSUSE, SLES)
-   /var/www/html (Debian, Ubuntu, Fedora, RHEL)

Het wordt aanbevolen om een submap te gebruiken in plaats van de HTML-root. Om een submap te maken en Zabbix frontend-bestanden erin te kopiëren, voer je de volgende opdrachten uit en vervang je de werkelijke map:

    mkdir <htdocs>/zabbix
    cd ui
    cp -a . <htdocs>/zabbix

Als je van plan bent om een andere taal dan Engels te gebruiken, raadpleeg dan [Installatie van aanvullende frontend-talen](/manual/appendix/install/locales) voor instructies.

[comment]: # ({/d7606cb6-ed4e56ce})

[comment]: # ({63583cbb-63583cbb})
##### Frontend installeren

Raadpleeg de pagina [Webinterface installatie](/manual/installation/frontend) voor informatie over de installatiewizard voor de Zabbix-frontend.

[comment]: # ({/63583cbb-63583cbb})

[comment]: # ({new-c8da42bb})
#### - Installing Zabbix agent 2 loadable plugins

Installing Zabbix agent 2 loadable plugins is only required if you want to monitor targets not covered by built-in plugins (e.g., MongoDB servers or clusters, PostgreSQL and its forks, etc.).
See the full list of [loadable plugins](/manual/extensions/plugins#loadable-plugins) and [built-in plugins](/manual/extensions/plugins#built-in-plugins).

::: noteimportant
Before installing a plugin, please check its README file.
It may contain specific requirements and installation instructions.
:::

To install from sources, first [download](https://cdn.zabbix.com/zabbix-agent2-plugins/sources/) and extract the loadable plugin source archive.

To compile the plugin, navigate to the extracted plugin directory and run `make`:

    make

::: noteclassic
A [supported Go version](/manual/installation/requirements#agent-2) is required for building Zabbix agent 2.
:::

The plugin executable may be placed anywhere as long as it is loadable by Zabbix agent 2.
Specify the path to the plugin binary in the plugin configuration file, e.g. in postgresql.conf for the [PostgreSQL](/manual/appendix/config/zabbix_agent2_plugins/postgresql_plugin) plugin:

    Plugins.PostgreSQL.System.Path=/path/to/executable/zabbix-agent2-plugin-postgresql

The path to the plugin configuration file must be specified in the Include parameter of the Zabbix agent 2 configuration file:

    Include=/path/to/plugin/configuration/file/postgresql.conf

Proceed to [setup](/manual/extensions/plugins#configuring-plugins) for more details on configuring plugins.

Loadable plugins provided by Zabbix use simple makefiles with the following build targets:

-   `make` - build the plugin
-   `make clean` - delete all files that are created by building the plugin
-   `make check` - run self-tests (requires a real monitoring target, e.g., a PostgreSQL database)
-   `make style` - check Go code style with `golangci-lint`
-   `make format` - format Go code with `go fmt`
-   `make dist` - create a source archive including all dependencies

[comment]: # ({/new-c8da42bb})

[comment]: # ({7eefe319-1a519c06})
#### 3 Java-gateway installeren

Het is alleen nodig om de Java-gateway te installeren als je JMX-toepassingen wilt bewaken. De Java-gateway is lichtgewicht en vereist geen database.

Om te installeren vanuit bronnen, [download](/manual/installation/install#download_the_source_archive) en pak eerst het bronarchief uit.

Om de Java-gateway te compileren, voer je het `./configure` script uit met de `--enable-java` optie. Het is raadzaam dat je de `--prefix` optie opgeeft om een installatiepad aan te vragen dat anders is dan de standaard /usr/local, omdat het installeren van de Java-gateway een hele directorystructuur zal maken, niet alleen een enkele uitvoerbare file.

    $ ./configure --enable-java --prefix=$PREFIX

Om de Java-gateway te compileren en te verpakken in een JAR-bestand, voer je `make` uit. Let op dat je voor deze stap de `javac` en `jar` uitvoerbare bestanden in je pad moet hebben.

    $ make

Nu heb je een zabbix-java-gateway-$VERSION.jar bestand in de map src/zabbix\_java/bin. Als je comfortabel bent met het uitvoeren van de Java-gateway vanuit src/zabbix\_java in de distributiemap, kun je doorgaan naar de instructies voor het configureren en uitvoeren van [Java-gateway](/manual/java/from_sources#overview-of-files).
Anders, zorg ervoor dat je voldoende rechten hebt en voer `make install` uit.

    $ make install

Ga verder naar [setup](/manual/concepts/java/from_sources) voor meer details over het configureren en uitvoeren van de Java-gateway.

[comment]: # ({/7eefe319-1a519c06})

[comment]: # ({e3fa3335-76c01064})
#### 4 Zabbix web service installeren

Het installeren van de Zabbix web service is alleen nodig als je
[geplande rapporten](/manual/web_interface/frontend_sections/reports/scheduled)
wilt gebruiken.

Om te installeren vanuit bronnen, [download](/manual/installation/install#download_the_source_archive) en pak eerst het bronarchief uit.

Om de Zabbix web service te compileren, voer je het `./configure` script uit met de `--enable-webservice` optie.

::: noteclassic
Voor het bouwen van de Zabbix web service is een geconfigureerde [Go](https://golang.org/doc/install) versie
1.13+ omgeving vereist.
:::

Voer op de machine waar de web service is geïnstalleerd het volgende uit:

    shell> zabbix_web_service

Ga verder naar [setup](/manual/appendix/install/web_service) voor meer details over het configureren van de generatie van geplande rapporten.

[comment]: # ({/e3fa3335-76c01064})

