4 Installation from packages

Overview

Official Zabbix 7.2 packages are available on the Zabbix website, where you can select your operating system and Zabbix component to generate installation instructions suitable for your environment. See also the package installation notes on this page for important additional information.

Packages are available for the following Linux distributions:

  • Red Hat Enterprise Linux and its derivatives: AlmaLinux, Amazon Linux 2023, CentOS Stream, CentOS 7, Oracle Linux, Rocky Linux
  • Debian, Ubuntu, Raspberry Pi OS, Raspbian
  • SUSE Linux Enterprise Server, openSUSE Leap

Some OS distributions (in particular, Debian-based distributions) provide their own Zabbix packages. These packages are not supported by Zabbix and may be outdated or missing the latest features and bug fixes. It is recommended to use only official packages from the Zabbix Official Repository. If you previously installed Zabbix from your operating system's repository, see the steps for upgrading Zabbix packages from OS repositories.

Packages support MySQL/PostgreSQL database and Apache/Nginx web server. Note that Zabbix server and proxy cannot share the same database; use different database names if both are installed on the same host.

If necessary, separate packages for Zabbix agent/agent 2, Zabbix get, and Zabbix sender are available at the Zabbix Official Repository.

Zabbix also provides Zabbix agent pre-compiled binaries for non-Linux operating systems; see:

Package installation notes

The following notes apply to all systems:

The following notes apply to RHEL and its derivatives:

SELinux configuration

Zabbix uses socket-based inter-process communication. On systems where Security-Enhanced Linux (SELinux) is enabled, you may need to add SELinux rules to allow Zabbix create/use UNIX domain sockets in the SocketDir directory. Socket files are used by Zabbix server (alerter, preprocessing, IPMI) and Zabbix proxy (IPMI), and they're present while the process is running.

Having SELinux enabled in enforcing mode, execute the following commands to enable communication between Zabbix frontend and server:

For RHEL 7 (and later), AlmaLinux, CentOS Stream, Oracle Linux, Rocky Linux 8 (and later):

setsebool -P httpd_can_connect_zabbix on

If the database is accessed over the network (including localhost for PostgreSQL), also allow Zabbix frontend to connect to the database:

setsebool -P httpd_can_network_connect_db on

For RHEL prior to 7:

setsebool -P httpd_can_network_connect on
       setsebool -P zabbix_can_network on

After applying SELinux settings, restart Apache:

systemctl restart httpd

Optionally, you can install a pre-defined zabbix-selinux-policy package from The Zabbix Official Repository. This package is provided for all supported OS versions to simplify Zabbix deployment and prevent users from turning off SELinux because of the configuration complexity.

For maximum security, it is recommended to set custom SELinux settings.

The zabbix-selinux-policy package contains a basic SELinux policy, allowing Zabbix to create and use sockets and enabling HTTPd connection to PostgreSQL (used by frontend).

The source zabbix_policy.te file contains the following rules:

module zabbix_policy 1.2;
       
       require {
           type zabbix_t;
           type zabbix_port_t;
           type zabbix_var_run_t;
           type postgresql_port_t;
           type httpd_t;
           class tcp_socket name_connect;
           class sock_file { create unlink };
           class unix_stream_socket connectto;
       }
       
       #============= zabbix_t ==============
       allow zabbix_t self:unix_stream_socket connectto;
       allow zabbix_t zabbix_port_t:tcp_socket name_connect;
       allow zabbix_t zabbix_var_run_t:sock_file create;
       allow zabbix_t zabbix_var_run_t:sock_file unlink;
       allow httpd_t zabbix_port_t:tcp_socket name_connect;
       
       #============= httpd_t ==============
       allow httpd_t postgresql_port_t:tcp_socket name_connect;

Debuginfo packages

Debuginfo packages contain debugging symbols for Zabbix binaries. They are not required for normal installation or operation but are useful for advanced troubleshooting.

To enable the zabbix-debuginfo repository:

  • On RHEL 7, edit /etc/yum.repos.d/zabbix.repo and set enabled=1 for the zabbix-debuginfo section:
[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo - $basearch
       baseurl=http://repo.zabbix.com/zabbix/7.2/stable/rhel/7/$basearch/debuginfo/
       enabled=1
       gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
       gpgcheck=1
  • On SUSE, edit /etc/zypp/repos.d/zabbix.repo and set enabled=1 for the zabbix-debuginfo section:
[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo
       type=rpm-md
       baseurl=https://repo.zabbix.com/zabbix/7.2/stable/sles/15/x86_64/debuginfo/
       gpgcheck=1
       gpgkey=https://repo.zabbix.com/zabbix/7.2/stable/sles/15/x86_64/debuginfo/repodata/repomd.xml.key
       enabled=0
       update=1

Once enabled, install the packages:

  • On RHEL, install a single package with debug information for all Zabbix components:
dnf install zabbix-debuginfo
  • On SUSE, install component-specific debuginfo packages:
zypper install zabbix-<component>-debuginfo