Zabbix 3 Installation From Sources
Zabbix 3 Installation From Sources
Zabbix 3 Installation From Sources
You can get the very latest version of Zabbix by compiling it from the sources.
A step-by-step tutorial for installing Zabbix from the sources is provided here.
Go to the Zabbix download page and download the source archive. Once downloaded, extract the
sources, by running:
Enter the correct Zabbix version in the command. It must match the name of the downloaded archive.
For all of the Zabbix daemon processes, an unprivileged user is required. If a Zabbix daemon is
started from an unprivileged user account, it will run as that user.
However, if a daemon is started from a 'root' account, it will switch to a 'zabbix' user account, which
must be present. To create such a user account (in its own group, “zabbix”) on Linux systems, run:
groupadd zabbix
useradd -g zabbix zabbix
If Zabbix server and agent are run on the same machine it is recommended to use a different user for
running the server than for running the agent. Otherwise, if both are run as the same user, the agent
can access the server configuration file and any Admin level user in Zabbix can quite easily retrieve,
for example, the database password.
Running Zabbix as root, bin, or any other account with special rights is a security risk.
For Zabbix server and proxy daemons, as well as Zabbix frontend, a database is required. It is not
needed to run Zabbix agent.
SQL scripts are provided for creating database schema and inserting the dataset. Zabbix proxy
database needs only the schema while Zabbix server database requires also the dataset on top of the
schema.
Having created a Zabbix database, proceed to the following steps of compiling Zabbix.
When configuring the sources for a Zabbix server or proxy, you must specify the database type to be
used. Only one database type can be compiled with a server or proxy process at a time.
To see all of the supported configuration options, inside the extracted Zabbix source directory run:
./configure --help
To configure the sources for a Zabbix server and agent, you may run something like:
--with-libcurl configuration option with cURL 7.20.0 or higher is required for SMTP authentication,
supported since Zabbix 3.0.0.
--with-libcurl and --with-libxml2 configuration options are required for virtual machine monitoring,
supported since Zabbix 2.2.0.
Since version 3.4 Zabbix will always compile with the PCRE library; installing it is not optional. --with-
libpcre=[DIR] only allows pointing to a specific base install directory, instead of searching through a
number of common places for the libpcre files.
To configure the sources for a Zabbix server (with PostgreSQL etc.), you may run:
To configure the sources for a Zabbix proxy (with SQLite etc.), you may run:
./configure --enable-agent
You may use the --enable-static flag to statically link libraries. If you plan to distribute compiled
binaries among different servers, you must use this flag to make these binaries work without required
libraries. Note that --enable-static does not work under Solaris.
In order to build the server statically you must have a static version of every external library needed.
There is no strict check for that in configure script.
Command-line utilities zabbix_get and zabbix_sender are compiled if --enable-agent option is used.
It is useful when there are several versions of MySQL installed or MariaDB installed alongside MySQL
on the same system.
$ make dbschema
make install
This step should be run as a user with sufficient permissions (commonly 'root', or by using sudo).
Running make install will by default install the daemon binaries (zabbix_server, zabbix_agentd,
zabbix_proxy) in /usr/local/sbin and the client binaries (zabbix_get, zabbix_sender) in /usr/local/bin.
To specify a different location than /usr/local, use a --prefix key in the previous step of configuring
sources, for example --prefix=/home/zabbix. In this case daemon binaries will be installed under
<prefix>/sbin, while utilities under <prefix>/bin. Man pages will be installed under <prefix>/share.
You need to configure this file for every host with zabbix_agentd installed.
You must specify the Zabbix server IP address in the file. Connections from other hosts will be
denied.
You must specify the database name, user and password (if using any).
The rest of the parameters will suit you with their defaults if you have a small installation (up to ten
monitored hosts). You should change the default parameters if you want to maximize the
performance of Zabbix server (or proxy) though. See the performance tuning section for more details.
● if you have installed a Zabbix proxy, edit the proxy configuration file
/usr/local/etc/zabbix_proxy.conf
You must specify the server IP address and proxy hostname (must be known to the server), as well as
the database name, user and password (if using any).
With SQLite the full path to database file must be specified; DB user and password are not required.
shell> zabbix_server
Make sure that your system allows allocation of 36MB (or a bit more) of shared memory, otherwise
the server may not start and you will see “Cannot allocate shared memory for <type of cache>.” in
the server log file. This may happen on FreeBSD, Solaris 8.
See the "See also" section at the bottom of this page to find out how to configure shared memory.
shell> zabbix_agentd
Make sure that your system allows allocation of 2MB of shared memory, otherwise the agent may not
start and you will see “Cannot allocate shared memory for collector.” in the agent log file. This may
happen on Solaris 8.
shell> zabbix_proxy
Zabbix frontend is written in PHP, so to run it a PHP supported webserver is needed. Installation is
done by simply copying the PHP files from frontends/php to the webserver HTML documents directory.
Common locations of HTML documents directories for Apache web servers include:
It is suggested to use a subdirectory instead of the HTML root. To create a subdirectory and copy
Zabbix frontend files into it, execute the following commands, replacing the actual directory:
mkdir <htdocs>/zabbix
cd frontends/php
cp -a . <htdocs>/zabbix
If installing from SVN and planning to use any other language than English, you must generate
translation files. To do so, run:
locale/make_mo.sh
Additionally, to use any other language than English, its locale should be installed on the web server.
See the "See also" section in the “User profile” page to find out how to install it if required.
Installing frontend
Step 1
You should see the first screen of the frontend installation wizard.
Step 2
Minimum
Pre-requisite Description
value
PHP version 5.4.0
In php.ini:
PHP memory_limit option 128MB
memory_limit = 128M
In php.ini:
PHP post_max_size option 16MB
post_max_size = 16M
In php.ini:
PHP upload_max_filesize option 2MB
upload_max_filesize = 2M
Minimum
Pre-requisite Description
value
300 seconds
In php.ini:
PHP max_execution_time option (values 0 and -1
max_execution_time = 300
are allowed)
300 seconds
In php.ini:
PHP max_input_time option (values 0 and -1
max_input_time = 300
are allowed)
must be In php.ini:
PHP session.auto_start option
disabled session.auto_start = 0
One of: MySQL,
One of the following modules must be
Oracle,
Database support installed:
PostgreSQL, IBM
mysql, oci8, pgsql, ibm_db2
DB2
bcmath php-bcmath
mbstring php-mbstring
must be In php.ini:
PHP mbstring.func_overload option
disabled mbstring.func_overload = 0
Required only for PHP versions 5.6.0 or
PHP always_populate_raw_post_data must be newer.
option disabled In php.ini:
always_populate_raw_post_data = -1
php-net-socket. Required for user script
sockets
support.
php-gd. PHP GD extension must support PNG
gd 2.0 or higher images (--with-png-dir), JPEG (--with-jpeg-dir)
images and FreeType 2 (--with-freetype-dir).
libxml 2.6.15 php-xml or php5-dom
xmlwriter php-xmlwriter
xmlreader php-xmlreader
ctype php-ctype
session php-session
php-gettext
Since Zabbix 2.2.1, the PHP gettext
extension is not a mandatory requirement
gettext for installing Zabbix. If gettext is not
installed, the frontend will work as usual,
however, the translations will not be
available.
Optional pre-requisites may also be present in the list. A failed optional prerequisite is displayed in
orange and has a Warning status. With a failed optional pre-requisite, the setup may continue.
If there is a need to change the Apache user or user group, permissions to the session folder must be
verified. Otherwise Zabbix setup may be unable to continue.
Step 3
Enter details for connecting to the database. Zabbix database must already be created.
Step 4
Step 5
Step 6
Download the configuration file and place it under conf/ in the webserver HTML documents
subdirectory where you copied Zabbix PHP files to.
Providing the webserver user has write access to conf/ directory the configuration file would be saved
automatically and it would be possible to proceed to the next step right away.
Step 7
Step 8
Zabbix frontend is ready! The default user name is Admin, password zabbix.
See also
From:
https://www.zabbix.com/documentation/3.4/ - Zabbix Documentation 3.4
Permanent link:
https://www.zabbix.com/documentation/3.4/manual/installation/install