This is an old revision of the document!
Official Zabbix packages are available for:
Packages are available with either MySQL/PostgreSQL database and Apache/Nginx webserver support.
Zabbix official repository provides fping, iksemel, libssh2 packages as well. These packages are located in the non-supported directory.
See installation instructions per platform in the download page for:
If you want to run Zabbix agent as root, see Running agent as root.
With TimescaleDB, in addition to the import command for PostgreSQL, also run:
# zcat /usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz | sudo -u zabbix psql zabbix
Zabbix frontend requires additional packages not available in basic installation. You need to enable repository of optional rpms in the system you will run Zabbix frontend on:
# yum-config-manager --enable rhel-7-server-optional-rpms
Zabbix frontend requires PHP version 7.2 or newer starting with Zabbix 5.0.
Note that RHEL/CentOS 7 only provide PHP 5.4. See instructions for installing Zabbix frontend on Red Hat Enterprise Linux/CentOS 7.
If you use RHEL 6 please read the section about using Zabbix frontend on RHEL 6 on how to configure the frontend.
Having SELinux status enabled in enforcing mode, you need to execute the following commands to enable communication between Zabbix frontend and server:
RHEL 7 and later:
# setsebool -P httpd_can_connect_zabbix on If the database is accessible over network (including 'localhost' in case of PostgreSQL), you need to allow Zabbix frontend to connect to the database too: # setsebool -P httpd_can_network_connect_db on
RHEL prior to 7:
# setsebool -P httpd_can_network_connect on # setsebool -P zabbix_can_network on
After the frontend and SELinux configuration is done, restart the Apache web server:
# service httpd restart
Once the required repository is added, you can install Zabbix proxy by running:
# yum install zabbix-proxy-mysql
Substitute 'mysql' in the commands with 'pgsql' to use PostgreSQL, or with 'sqlite3' to use SQLite3 (proxy only).
Create a separate database for Zabbix proxy.
Zabbix server and Zabbix proxy cannot use the same database. If they are installed on the same host, the proxy database must have a different name.
Import initial schema:
# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix
For proxy with PostgreSQL (or SQLite):
# zcat /usr/share/doc/zabbix-proxy-pgsql*/schema.sql.gz | sudo -u zabbix psql zabbix # zcat /usr/share/doc/zabbix-proxy-sqlite3*/schema.sql.gz | sqlite3 zabbix.db
# vi /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=<password>
In DBName for Zabbix proxy use a separate database from Zabbix server.
In DBPassword use Zabbix database password for MySQL; PosgreSQL user password for PosgreSQL.
DBHost= with PostgreSQL. You might want to keep the default setting
DBHost=localhost (or an IP address), but this would make PostgreSQL use a network socket for connecting to Zabbix. See SELinux configuration for instructions.
To start a Zabbix proxy process and make it start at system boot:
# service zabbix-proxy start # systemctl enable zabbix-proxy
A Zabbix proxy does not have a frontend; it communicates with Zabbix server only.
It is required to install Java gateway only if you want to monitor JMX applications. Java gateway is lightweight and does not require a database.
Once the required repository is added, you can install Zabbix Java gateway by running:
# yum install zabbix-java-gateway
Proceed to setup for more details on configuring and running Java gateway.
Zabbix frontend on RHEL 6 is not supported because of PHP version. Since Zabbix 3.0 the requirements are to have PHP 5.4.0 or later while RHEL 6 latest version is 5.3.3 .
In most cases Zabbix server and frontend are installed on the same machine. When upgrading 2.2 to 3.0 Zabbix server will perform database upgrade and frontend will stop working. There is no way to roll back the database changes so users will be forced to upgrade PHP using 3rd party packages. This is why Zabbix server is also deprecated on RHEL 6.
If you still want to use Zabbix frontend on RHEL 6 and upgraded your PHP using 3rd party packages you would need to enable
zabbix-deprecated repository first:
You will have to do some more manual configuration. This is because we cannot identify the Apache version required for your PHP which makes it impossible for us to provide proper Apache configuration for Zabbix frontend. We have included 2 Apache configuration files to our zabbix-web package, one for Apache 2.2 and another for 2.4, which you would need to integrate with the Apache configuration yourself:
To get the full path to the files execute:
$ rpm -ql zabbix-web | grep example.conf
To enable debuginfo repository edit /etc/yum.repos.d/zabbix.repo file.
enabled=1 for zabbix-debuginfo repository.
[zabbix-debuginfo] name=Zabbix Official Repository debuginfo - $basearch baseurl=http://repo.zabbix.com/zabbix/4.5/rhel/7/$basearch/debuginfo/ enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 gpgcheck=1
This will allow you to install the zabbix-debuginfo package.
# yum install zabbix-debuginfo
This single packages contains debug information for all binary Zabbix componets.