zabbix 6.0无法通过系统默认仓库安装,必须使用官方源或容器部署;因epel/universe仅提供5.0.x版本,硬装会导致数据库兼容性错误;需导入官方gpg密钥、启用zabbix-6.0仓库、手动初始化mysql schema并正确配置php与selinux。

Zabbix 6.0 在主流 Linux 发行版(如 CentOS 8/9、RHEL 8/9、Ubuntu 22.04)上无法直接用系统默认仓库安装——官方已停止对这些系统原生包的支持,必须走官方源或容器方式部署。
为什么 yum install zabbix-server-mysql 会失败或装到旧版本
CentOS/RHEL 8+ 和 Ubuntu 22.04 的系统仓库里没有 Zabbix 6.0 的包:zabbix-server-mysql 在 EPEL 或 universe 里最高只到 5.0.x。硬装会导致依赖冲突或服务启动报错 zabbix_server [12345]: cannot connect to database,因为新版 server 二进制不兼容老版 schema。
- 检查当前仓库是否含 Zabbix 6.0:运行
dnf repolist | grep zabbix(RHEL/CentOS)或apt list --installed | grep zabbix(Ubuntu),若无zabbix-6.0字样,说明没配对源 - 官方明确要求:Zabbix 6.0+ 必须使用其签名的 RPM/DEB 包,且数据库需手动初始化 schema(
/usr/share/zabbix-sql-scripts/mysql/server.sql.gz) - 跳过官方源直接编译?不推荐——
./configure易缺libevent-devel、openipmi-devel等隐式依赖,构建后还常因 SELinux 或 systemd unit 文件路径不对而起不来
正确添加 Zabbix 官方仓库并安装服务端(RHEL/CentOS 8/9)
必须用 Zabbix 官方提供的 repo 配置,不能靠第三方镜像或手动下载 rpm。注意:Zabbix 6.0 分 zabbix-6.0(LTS)和 zabbix-6.4(新特性),生产环境应锁定 zabbix-6.0 仓库。
- 导入 GPG 密钥:
rpm -Uvh https://repo.zabbix.com/zabbix-official-repo-setup-6.0-4.el8.noarch.rpm - 确认仓库启用:
dnf repolist enabled | grep zabbix应看到zabbix-6.0和zabbix-6.0-pgsql(若用 PostgreSQL)等条目 - 安装核心组件:
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy - MySQL 初始化前务必先创建数据库和用户:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;+CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'your_strong_password';+GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; - 导入初始 schema:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix(密码即上步设的)
Ubuntu 22.04 安装 Zabbix 6.0 的关键差异点
Ubuntu 的 apt 对 GPG 密钥管理更严格,且 Apache 模块加载路径与 RHEL 不同,zabbix-frontend-php 包名在 6.0 中已弃用,改用 zabbix-web-apache-conf。
- 添加源时必须用
gpg命令显式导入密钥:wget https://repo.zabbix.com/zabbix-official-repo-setup-6.0-4_all.deb→dpkg -i zabbix-official-repo-setup-6.0-4_all.deb - Apache 配置生效需手动启用模块:
a2enmod rewrite headers,否则 Web 界面登录后 404 - PHP 版本必须 ≥ 7.4(Ubuntu 22.04 默认是 8.1,OK),但要检查
date.timezone是否在/etc/php/*/apache2/php.ini中设为有效值(如Asia/Shanghai),否则前端显示“Zabbix is not running” - 数据库导入命令略有不同:
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | sudo -u mysql mysql -uzabbix -p zabbix(Ubuntu 下mysql用户可能不存在,用root或实际 DB 管理员用户)
启动失败常见原因与快速验证步骤
装完跑不起来,八成卡在数据库连接、SELinux 或时区配置上。别急着重装,按顺序查这四点:
- 查
zabbix_server日志:journalctl -u zabbix-server -n 50 -f,重点看是否有cannot connect to database或invalid configuration file - 确认
/etc/zabbix/zabbix_server.conf中DBHost(默认localhost)、DBName、DBUser、DBPassword四项全填对,且密码没被 shell 特殊字符截断(如$、!) - RHEL/CentOS 上执行
setsebool -P httpd_can_network_connect_db 1,否则 Apache 进程连不上本地 MySQL - Web 界面打不开?检查
systemctl status apache2(Ubuntu)或httpd(RHEL),再确认/etc/zabbix/web/zabbix.conf.php中$ZBX_SERVER地址是否可被浏览器直连(非127.0.0.1)
Zabbix 6.0 的 Web 配置向导(/zabbix/setup.php)对 PHP 扩展校验极严,哪怕少一个 php-mbstring 或 php-xml,页面就停在“Checking PHP settings”不动——这个环节最容易卡住,也最常被忽略。











