[comment]: # aside: 3

[comment]: # ({2c8167b3-e2c1904c})
# 从软件包安装的说明

[comment]: # ({/2c8167b3-e2c1904c})

[comment]: # ({b582c5af-8d855b7c})
#### 概述

Zabbix 8.0 的官方 **预发布** 软件包可在 [Zabbix 网站](https://www.zabbix.com/download?zabbix=8.0&os_distribution=alma_linux&os_version=10&components=server_frontend_agent&db=mysql&ws=apache) 上获取，您可以在其中选择操作系统和 Zabbix 组件，以生成安装说明和命令。

除了下面的 [软件包安装说明](#package-installation-notes) 外，也请参阅 [安装与设置](/manual/appendix/install) 页面。

以下 Linux 发行版提供软件包：

-   Red Hat Enterprise Linux 及其衍生版：AlmaLinux、Amazon Linux 2023、CentOS Stream、CentOS 7、Oracle Linux、Rocky Linux
-   Debian、Ubuntu、Raspberry Pi OS、Raspbian
-   SUSE Linux Enterprise Server、openSUSE Leap

::: noteimportant
某些操作系统发行版（尤其是基于 Debian 的发行版）会提供它们自己的 Zabbix 软件包。
这些软件包**不**受 Zabbix 支持，并且可能已经过时，或者缺少最新功能和错误修复。
建议仅使用来自 [Zabbix 官方仓库](https://repo.zabbix.com/) 的官方软件包。
如果您之前是从操作系统的仓库中安装的 Zabbix，请参阅 [从操作系统仓库升级 Zabbix 软件包](/manual/installation/upgrade/packages#zabbix-packages-from-os-repositories) 的步骤。
:::

这些软件包支持 MySQL/PostgreSQL 数据库以及 Apache/Nginx Web 服务器。
请注意，Zabbix 服务器和 proxy 不能共享同一个数据库；如果两者安装在同一主机上，请使用不同的数据库名称。

如有需要，Zabbix agent/agent 2、Zabbix get 和 Zabbix sender 的独立软件包可在 [Zabbix 官方仓库](https://repo.zabbix.com/zabbix/8.0/stable) 获取。

Zabbix 还为非 Linux 操作系统提供预编译的 Zabbix agent 二进制文件；请参阅：

-   [从 MSI 安装 Windows agent](/manual/installation/install/win_msi)
-   [从 PKG 安装 macOS agent](/manual/installation/install/mac_pkg)
-   [旧版二进制文件](https://www.zabbix.com/download_agents?version=2.4&os=HPUX&show_legacy=1)（适用于较旧/较少见的系统，例如 HP-UX、NetBSD、Tru64 以及较旧版本的 SLES）

[comment]: # ({/b582c5af-8d855b7c})

[comment]: # ({33328630-dc3de2e8})
#### 软件包安装说明

以下说明适用于所有系统：

-   如果使用 PostgreSQL，在 Zabbix [服务器](/manual/appendix/config/zabbix_server)/[proxy](/manual/appendix/config/zabbix_proxy#dbhost) 配置中设置 `DBHost=localhost`（或 IP 地址）会使 PostgreSQL 使用网络套接字而不是本地 UNIX 套接字；相关设置说明请参见 [SELinux 配置](#selinux-configuration)。
-   如果使用 TimescaleDB，请参见额外的 [TimescaleDB 设置](/manual/appendix/install/timescaledb)。
-   如果安装 Zabbix [Java 网关](/manual/concepts/java)（用于监控 JMX 应用程序），请参见适用于 [基于 RHEL 的系统](/manual/concepts/java/from_rhel) 和 [基于 Debian 的系统](/manual/concepts/java/from_debian_ubuntu) 的附加设置说明。
-   如需以 root 身份运行 Zabbix agent，请参见 [以 root 身份运行 agent](/manual/appendix/install/run_agent_as_root)。

以下说明适用于 RHEL 及其衍生版：

-   如果你为 EL9 启用了 EPEL 仓库，而该仓库也提供 Zabbix 软件包，则在安装官方 Zabbix 软件包之前，必须将其从软件包解析中排除；请参见 [意外安装 EPEL Zabbix 软件包](/manual/installation/known_issues#accidental-installation-of-epel-zabbix-packages)。
-   关于在 Red Hat UBI 环境中安装 Zabbix 软件包，请参见 [适用于 Red Hat UBI 环境中 RHEL 的 Zabbix 软件包](/manual/installation/known_issues#zabbix-packages-for-rhel-on-red-hat-ubi-environments)。
-   如需使用 [ICMP ping 监控项](/manual/config/items/itemtypes/simple_checks)，`fping` 的软件包也可从 [Zabbix 官方仓库](https://repo.zabbix.com/third-party) 获取。

[comment]: # ({/33328630-dc3de2e8})

[comment]: # ({d731fd80-7e862504})
#### SELinux 配置

Zabbix 使用基于套接字的进程间通信。
在启用了 Security-Enhanced Linux (SELinux) 的系统上，您可能需要添加 SELinux 规则，以允许 Zabbix 在 SocketDir 目录中创建/使用 UNIX 域套接字。
套接字文件由 Zabbix 服务器（告警器、预处理、IPMI）和 Zabbix proxy（IPMI）使用，并且会在进程运行期间存在。

如果 SELinux 以 enforcing 模式启用，请执行以下命令以启用 Zabbix 前端与服务器之间的通信：

对于 RHEL 7（及更高版本）、AlmaLinux、CentOS Stream、Oracle Linux、Rocky Linux 8（及更高版本）：

```bash
setsebool -P httpd_can_connect_zabbix on
```

如果数据库是通过网络访问的（对于 PostgreSQL，包括 `localhost`），还需要允许 Zabbix 前端连接到数据库：

```bash
setsebool -P httpd_can_network_connect_db on
```

对于早于 7 的 RHEL：

```bash
setsebool -P httpd_can_network_connect on
setsebool -P zabbix_can_network on
```

应用 SELinux 设置后，重启 Apache：

```bash
systemctl restart httpd
```

此外，您还可以从 [Zabbix 官方仓库](https://repo.zabbix.com/zabbix/8.0/stable) 安装预定义的 `zabbix-selinux-policy` 软件包。
该软件包适用于所有受支持的操作系统版本，可简化 Zabbix 部署，并防止用户因配置复杂而关闭 SELinux。

::: noteimportant
为了获得最高安全性，建议设置自定义 SELinux 配置。
:::

`zabbix-selinux-policy` 软件包包含一个基础 SELinux 策略，允许 Zabbix 创建和使用套接字，并启用 HTTPd 到 PostgreSQL 的连接（供前端使用）。

源文件 `zabbix_policy.te` 包含以下规则：

```ini
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;
```

[comment]: # ({/d731fd80-7e862504})

[comment]: # ({71fa111b-664f0553})
#### Debuginfo 软件包

Debuginfo 软件包包含 Zabbix 二进制文件的调试符号。
正常安装或运行并不需要这些软件包，但它们对高级故障排查很有帮助。

要启用 `zabbix-debuginfo` 仓库：

-   在 RHEL 7 上，编辑 `/etc/yum.repos.d/zabbix.repo`，并将 `zabbix-debuginfo` 部分的 `enabled=1` 设置为启用：

```ini
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/8.0/stable/rhel/7/$basearch/debuginfo/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
```

-   在 SUSE 上，编辑 `/etc/zypp/repos.d/zabbix.repo`，并将 `zabbix-debuginfo` 部分的 `enabled=1` 设置为启用：

```ini
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo
type=rpm-md
baseurl=https://repo.zabbix.com/zabbix/8.0/stable/sles/15/$basearch/debuginfo/
gpgcheck=1
gpgkey=https://repo.zabbix.com/zabbix/8.0/stable/sles/15/$basearch/debuginfo/repodata/repomd.xml.key
enabled=0
update=1
```

启用后，安装这些软件包：

-   在 RHEL 上，安装一个包含所有 Zabbix 组件调试信息的单个软件包：

```bash
dnf install zabbix-debuginfo
```

-   在 SUSE 上，安装特定组件的 debuginfo 软件包：

```bash
zypper install zabbix-<component>-debuginfo
```

[comment]: # ({/71fa111b-664f0553})

[comment]: # ({58e91f3a-b2259b50})
#### 启用不稳定版本发布仓库

[comment]: # ({/58e91f3a-b2259b50})

[comment]: # ({b4905f83-9e4d6713})
以下说明用于启用不稳定的 Zabbix 发布仓库（默认禁用），这些仓库用于次要 Zabbix 版本的发布候选版。

首先，安装或更新到最新的 zabbix-release 软件包。要在您的系统上启用 rc 软件包，请执行以下操作：

[comment]: # ({/b4905f83-9e4d6713})

[comment]: # ({05bf7fe3-05fb2800})
##### Red Hat Enterprise Linux

打开 `/etc/yum.repos.d/zabbix.repo` 文件，并为 `zabbix-unstable` 仓库设置 enabled=1。

```ini
[zabbix-unstable]
name=Zabbix Official Repository (unstable) - $basearch
baseurl=https://repo.zabbix.com/zabbix/8.0/unstable/rhel/8/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
```

[comment]: # ({/05bf7fe3-05fb2800})

[comment]: # ({0df3de7c-f13e36b3})
##### Debian/Ubuntu

打开 `/etc/apt/sources.list.d/zabbix.list` 并取消注释 “Zabbix 不稳定仓库”。

```ini
# Zabbix unstable repository
deb https://repo.zabbix.com/zabbix/8.0/unstable/debian bullseye main
deb-src https://repo.zabbix.com/zabbix/8.0/unstable/debian bullseye main
```

[comment]: # ({/0df3de7c-f13e36b3})

[comment]: # ({48cbd395-37a29df2})
##### SUSE

打开 `/etc/zypp/repos.d/zabbix.repo` 文件，并将 `zabbix-unstable` 仓库的 `enabled=1` 设置为启用。

```ini
[zabbix-unstable]
name=Zabbix Official Repository
type=rpm-md
baseurl=https://repo.zabbix.com/zabbix/8.0/unstable/sles/15/x86_64/
gpgcheck=1
gpgkey=https://repo.zabbix.com/zabbix/8.0/unstable/sles/15/x86_64/repodata/repomd.xml.key
enabled=1
update=1
```

[comment]: # ({/48cbd395-37a29df2})
