Ubuntu Server 24.04 上直接部署 Zabbix 7.0

🧰 一、系统更新与基础环境准备

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl gnupg apache2 mysql-server php php-mysql libapache2-mod-php

📦 二、添加 Zabbix 官方仓库

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt update

🧩 三、安装 Zabbix 组件

sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

🗄️ 四、配置 MySQL 数据库

sudo mysql -u root

在 MySQL 中执行:

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'YourPassword';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;
EXIT;

导入初始数据:

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

⚙️ 五、配置 Zabbix Server

编辑配置文件 /etc/zabbix/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=YourPassword

🌐 六、配置 PHP 时区

编辑 /etc/zabbix/apache.conf

php_value date.timezone Asia/Hong_Kong

添加到 <IfModule mod_php.c><IfModule mod_php7.c> 两个模块块中,和其他 php_value 指令并列。这样可以确保无论使用哪个 PHP 模块,Zabbix 都能正确识别时区。

🚀 七、启动服务并设置开机自启

sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2

🔓 八、开放防火墙端口(如启用 UFW)

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10051/tcp

🖥️ 九、访问 Web 安装界面

在浏览器中访问:

http://your_server_ip/zabbix

使用默认账号登录:

  • 用户名:Admin
  • 密码:zabbix

⚡遇到的问题:

如果第一次在 Zabbix 安装界面中看到中文(zh_CN)选项是灰色不可选,通常是因为系统缺少对应的语言环境或 Zabbix Web 前端未能正确加载语言包。以下是解决方法:

✅ 一、确保系统已安装中文语言环境

在 Ubuntu Server 24.04 上执行以下命令:

sudo apt install language-pack-zh-hans
sudo locale-gen zh_CN.UTF-8
sudo update-locale LANG=zh_CN.UTF-8

🔄 二、重启 Apache 服务

sudo systemctl restart apache2

这将使 Zabbix Web 前端重新加载语言设置,然后可以选择中文简体继续设置。

⚡遇到的问题二:

✅打开 Zabbix 图形界面,中文字符显示是框框

安装中文字体包

执行以下命令来安装适用于 Ubuntu 的中文字体:

sudo apt update
sudo apt install fonts-noto-cjk

安装完成后,使用以下命令查找所有 CJK 字体文件:

sudo find /usr/share/fonts/ -type f -iname "*CJK*"

/usr/share/fonts/ -type f -iname "*CJK*" 
/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc 
/usr/share/fonts/opentype/noto/NotoSerifCJK-Bold.ttc 
/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc 
/usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc

完美!🎉 你已经找到了 Zabbix 可以使用的中文字体文件,路径如下:

  • /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc
  • /usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc
  • /usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc
  • /usr/share/fonts/opentype/noto/NotoSerifCJK-Bold.ttc

我们现在只需要告诉 Zabbix 使用其中一个字体来渲染图表中的中文字符。

我们定位到了 Zabbix 的字体配置段落!这两行是关键:

sudo cat /usr/share/zabbix/include/defines.inc.php
define('ZBX_FONTPATH', realpath('assets/fonts')); // where to search for font (GD > 2.0.18)
define('ZBX_GRAPH_FONT_NAME', 'graphfont');       // font file name

这表示:

  • Zabbix 图表渲染时会在 assets/fonts 目录中查找字体文件
  • 使用的字体文件名是 graphfont.ttf(不含扩展名时默认加 .ttf

✅ 解决方案:将中文字体复制到 Zabbix 的字体目录

1. 创建字体目录(如果不存在)

sudo mkdir -p /usr/share/zabbix/assets/fonts

2. 复制中文字体到该目录

sudo cp /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

注意:Zabbix 期望的是 .ttf 文件,但 NotoSansCJK-Regular.ttc 是 TrueType Collection。你可以直接重命名为 .ttf,GD 库通常能识别。

🔄 重启 Web 服务

sudo systemctl restart apache2
# 或者
sudo systemctl restart nginx

✅ 最终验证

  • 打开 Zabbix 图形界面
  • 中文字符应该正常显示,不再是框框
Copyright © https://yan-jian.com 2023 all right reserved更新时间: 2025-08-18 16:20:08

results matching ""

    No results matching ""