Zabbix Documentation 3.4 (current)| In development:5.2 (devel)| Unsupported:

User Tools

Site Tools



This is an old revision of the document!

1 Red Hat Enterprise Linux/CentOS


Official Zabbix packages are available for RHEL 7, CentOS 7 and Oracle Linux 7. In this documentation we will refer to all 3 using the term RHEL.

Some agent and proxy packages are available for RHEL 6 and RHEL 5 as well.

Zabbix frontend on RHEL 6

Zabbix >= 3.0 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 .

If you have still somehow upgraded PHP on your RHEL 6 using 3rd party packages it can work but you will have to do some manual configuration. This is because we cannot identify the Apache version requirements of 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:

  • httpd22-example.conf
  • httpd24-example.conf

To get the full path to the files execute:

$ rpm -ql zabbix-web | grep example.conf

Adding Zabbix repository

Install the repository configuration package. This package contains yum (software package manager) configuration files.


# rpm -ivh


# rpm -ivh


# rpm -ivh

Server/proxy/frontend installation

To install Zabbix server (available only for RHEL 7) with MySQL support:

# yum install zabbix-server-mysql

To install Zabbix proxy with MySQL support:

# yum install zabbix-proxy-mysql

To install Zabbix frontend (available for RHEL 7, deprecated on RHEL 6) with MySQL support:

# yum install zabbix-web-mysql

Substitute 'mysql' in the commands with 'pgsql' to use PostgreSQL, or with 'sqlite3' to use SQLite3 (proxy only).

Creating database

For Zabbix server and proxy daemons a database is required. It is not needed to run Zabbix agent.

If Zabbix server and proxy are installed on the same host, their databases must be created with different names!

Create the database using the provided database creation scripts for MySQL/PostgreSQL.

Now import initial schema and data for the server with MySQL:

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

You will be prompted to enter your newly created database password.

With PostgreSQL:

# zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u <username> psql zabbix

For proxy, 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 <username> psql zabbix
# zcat /usr/share/doc/zabbix-proxy-sqlite3/schema.sql.gz | sqlite3 zabbix.db

Make sure to insert the correct Zabbix version in the commands (3.4.0 by default). In order to check the correct server/proxy version of your package, run:

# rpm -q zabbix-server-mysql
# rpm -q zabbix-proxy-mysql

Substitute 'mysql' in the commands with 'pgsql' if using PostgreSQL, or with 'sqlite3' if using SQLite3 (proxy only).

Configure database for Zabbix server/proxy

Edit zabbix_server.conf or zabbix_proxy.conf to use the created database. For example:

# vi /etc/zabbix/zabbix_server.conf

In DBPassword use Zabbix database password for MySQL; PosgreSQL user password for PosgreSQL.

Use 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 below for instructions.

Starting Zabbix server process

It's time to start Zabbix server process and make it start at system boot:

# systemctl start zabbix-server
# systemctl enable zabbix-server

Substitute 'zabbix-server' with 'zabbix-proxy' to start Zabbix proxy process.

Zabbix frontend configuration

For RHEL 7 and later the Apache configuration file for Zabbix frontend is located in /etc/httpd/conf.d/zabbix.conf.

If you use RHEL 6 please read the section about using Zabbix frontend on RHEL 6.

Some PHP settings are already configured. But it's necessary to uncomment the “date.timezone” setting and set the right timezone for you.

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga

SELinux configuration

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

As frontend and SELinux configuration is done, you need to restart Apache web server:

# service httpd restart

Frontend configuration

Now you are ready to proceed with frontend installation steps which will allow you to access your newly installed Zabbix.

Zabbix official repository provides fping, iksemel, libssh2 packages as well. These packages are located in the non-supported directory.

Agent installation

To install the agent, run

# yum install zabbix-agent

To start the agent, run:

# service zabbix-agent start