本次环境为rockylinux9.6 使用zabbix7.0LTS版本

阿里云镜像站仓库配置指南

1. 手动配置基础仓库

1.1 Rocky Linux 9 基础仓库配置

创建 /etc/yum.repos.d/rocky.repo

[baseos]
name=Rocky Linux $releasever - BaseOS
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/BaseOS/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
enabled=1
[appstream]
name=Rocky Linux $releasever - AppStream
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/AppStream/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
enabled=1
[extras]
name=Rocky Linux $releasever - Extras
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/extras/$basearch/os/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
enabled=1

1.2 EPEL 仓库配置

创建 /etc/yum.repos.d/epel.repo

[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
baseurl=https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-$releasever
[epel-debuginfo]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Debug
baseurl=https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch/debug/
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-$releasever
[epel-source]
name=Extra Packages for Enterprise Linux $releasever - $basearch - Source
baseurl=https://mirrors.aliyun.com/epel/$releasever/Everything/SRPMS/
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-$releasever

1.3 Zabbix 仓库配置

根据图片信息,创建 /etc/yum.repos.d/zabbix.repo

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/7.0/rhel/9/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-B5333005
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-08EFA7DD
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-79EA5ED4
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX
[zabbix-non-supported]
name=Zabbix Non-Supported Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/9/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-B5333005
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-08EFA7DD
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-79EA5ED4
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
       https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX
[zabbix-tools]
name=Zabbix Tools Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix-tools/rhel/9/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-TOOLS

3. GPG 密钥导入及作用

3.1 如何导入 GPG 密钥

# 导入 Rocky Linux GPG 密钥
sudo rpm --import https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
# 导入 EPEL GPG 密钥
sudo rpm --import https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-9
# 导入 Zabbix GPG 密钥(根据地址目录中的最新密钥)
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-B5333005
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-TOOLS
# 导入历史 Zabbix 密钥(可选,确保兼容性)
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-08EFA7DD
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-79EA5ED4
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591
sudo rpm --import https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX

3.2 GPG 密钥的作用

GPG 密钥的主要作用

  1. 验证软件包完整性

    • 确保下载的软件包在传输过程中没有被篡改
    • 防止中间人攻击,确保软件包来源可信
  2. 验证软件包来源

    • 确认软件包来自官方或可信的发布者
    • 防止恶意软件伪装成合法软件包
  3. 数字签名验证

    • 每个 RPM 包都有数字签名
    • GPG 密钥用于验证这些签名的有效性
    • 如果签名验证失败,yum/dnf 会拒绝安装
  4. 建立信任链

    • 确保软件供应链的安全
    • 用户信任 GPG 密钥,密钥信任软件包

从图片中可用的 GPG 密钥

  • RPM-GPG-KEY-ZABBIX-B5333005 (3.1KB, 2024-06-04) - 最新的主密钥
  • RPM-GPG-KEY-ZABBIX-08EFA7DD (3.1KB) - 较新的密钥
  • RPM-GPG-KEY-ZABBIX-79EA5ED4 (1.7KB) - 历史密钥
  • RPM-GPG-KEY-ZABBIX-A14FE591 (1.7KB) - 历史密钥
  • RPM-GPG-KEY-ZABBIX (1.3KB) - 基础密钥
  • RPM-GPG-KEY-ZABBIX-TOOLS (3.1KB, 2024-04-12) - 工具仓库专用密钥
  • zabbix-official-repo-key (8.8KB, 2024-05-23) - 官方仓库密钥文件

4. 配置完成后的操作

4.1 清理并更新缓存

# 清理所有缓存
sudo dnf clean all
# 生成新的缓存
sudo dnf makecache
# 验证仓库列表
sudo dnf repolist

4.2 验证仓库配置

# 列出所有启用的仓库
sudo dnf repolist enabled
# 测试安装软件包
sudo dnf install -y epel-release
sudo dnf install -y zabbix-agent

4.3 检查密钥导入状态

# 查看已导入的 GPG 密钥
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
# 查看特定密钥
rpm -qi gpg-pubkey-b5333005-*

5. 故障排除

5.1 如果遇到 GPG 密钥错误

# 临时禁用 GPG 检查(仅用于测试)
sudo dnf install --nogpgcheck package_name
# 或者编辑仓库文件临时关闭 GPG 检查
sudo sed -i 's/gpgcheck=1/gpgcheck=0/' /etc/yum.repos.d/repo_file.repo

5.2 验证仓库 URL

# 测试仓库 URL 是否可达
curl -I https://mirrors.aliyun.com/zabbix/zabbix/7.0/rhel/9/x86_64/repodata/repomd.xml
curl -I https://mirrors.aliyun.com/zabbix/zabbix-tools/rhel/9/x86_64/repodata/repomd.xml
curl -I https://mirrors.aliyun.com/zabbix/non-supported/rhel/9/x86_64/repodata/repomd.xml

通过以上配置,您就完成了阿里云镜像站所有必需仓库的配置,确保了软件包下载的安全性和完整性验证。

6.安装mysql或者 MariaDB

使用 Rocky Linux AppStream 仓库(默认)

# 查看可用的 MySQL 模块
sudo dnf module list mysql
# 启用 MySQL 8.0 模块
sudo dnf module enable mysql:8.4
# 安装 MySQL
sudo dnf install -y mysql mysql-server
# 启动服务
sudo systemctl enable --now mysqld
# 查看版本
mysql --version
初始化配置
# 运行安全配置脚本
sudo mysql_secure_installation
# 按提示操作,建议:
# 1. 设置 root 密码
# 2. 移除匿名用户 (Y)
# 3. 禁止远程 root 登录 (Y)
# 4. 移除测试数据库 (Y)
# 5. 重新加载权限表 (Y)

安装zabbix组件 参考zabbix官网步骤即可

前面已经操作过了 从2.b开始即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装Zabbix server,Web前端,agent

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

如果报错gpgkey校验失败之类的 直接忽略吧 想研究的自己慢慢研究

dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent --nogpgcheck

配置数据库

mysql -uroot -p
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

导入初始架构和数据,系统将提示您输入新创建的密码。

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

为Zabbix server配置数据库 编辑配置文件 /etc/zabbix/zabbix_server.conf找到并修改DBPassword参数

# DBName=
DBName=zabbix
### Option: DBSchema
#       Schema name. Used for PostgreSQL.
#
# Mandatory: no
# Default:
# DBSchema=
### Option: DBUser
#       Database user.
#
# Mandatory: no
# Default:
# DBUser=
DBUser=zabbix
### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=wy@941022

为Zabbix前端配置PHP
编辑配置文件 /etc/nginx/conf.d/zabbix.conf 找到server块的listen和servername 取消注释并修改为你的地址和端口

server {
listen          80;
server_name     _;
root    /usr/share/zabbix;
index   index.php;
location = /favicon.ico {
log_not_found   off;

启动Zabbix server和agent进程
启动Zabbix server和agent进程,并为它们设置开机自启(你的nginx和mysql也顺带开启)

systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm

最后关闭防火墙 修改enforce

# 停止firewalld服务
sudo systemctl stop firewalld
# 禁用开机启动
sudo systemctl disable firewalld
# 检查状态
sudo systemctl status firewalld
# 查看当前状态
getenforce
# 或
sestatus
# 临时设置为 permissive 模式(重启后恢复)
sudo setenforce 0
# 永久修改(需要重启生效)
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
# 或直接编辑配置文件
sudo vi /etc/selinux/config
# 将 SELINUX=enforcing 改为:
# SELINUX=permissive  (警告模式)
# 或
# SELINUX=disabled    (完全禁用)

最后一步

浏览器访问虚拟机IP地址即可 自动跳转到setup.php 安装向导 完成后会生成配置文件在指定目录

在这里插入图片描述
语言不支持中文是我因为rockylinux默认没装中文包 装下

# 1. 查看当前已安装的locale
locale -a
# 通常只会看到英文locale,如 en_US.utf8
# 2. 安装中文语言包
sudo dnf install -y glibc-langpack-zh --nogpgcheck
# 3. 再次查看locale,确认中文已安装
locale -a | grep zh_CN
# 应该显示:zh_CN.utf8

刷新浏览器选择中文即可。
在这里插入图片描述
然后下一步下一步即可

在这里插入图片描述
中文乱码 有很多方框 需要修复下 下载字体 修改字体支持(自己研究下吧)