Zabbix6.4服务端搭建(CentOS8)
操作系统:Linux CentOS 8.1
软件版本:zabbix6.4
数据库选择:MySQL8.0.39
1、修改系统配置
查看操作系统版本
cat /etc/redhat-release
设置防火墙和SELINUX
# 暂时关闭防火墙,关闭SELINUX
systemctl stop firewalld.service
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
# 确认防火墙和SELINUX状态
systemctl status firewalld
systemctl status selinux-autorelabel
更新yum源
# 进入yum源路径
cd /etc/yum.repos.d/
# 备份文件
mkdir bak
mv C* ./bak/
# 重新下载yum源文件
wget -O /etc/yum.repos.d/CentOS-Linux-BaseOS.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
# 清除yum缓存
yum clean all
# 创建新的yum缓存
yum makecache
2、安装MySQl数据库
(1)下载Mysql安装包
在MySQl官网找到对应的下载项,选择下载后取出下载链接(注意提供的安装包的压缩方式)
# 官网地址
https://dev.mysql.com/downloads/mysql/
(2)下载并解压安装文件
# 通过下载链接下载安装包
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz
# 解压安装包(-x表示提取文件;-J表示文件是通过xz压缩的;-v表示详细模式,显示正在处理的文件名;-f表示后面跟着的是文件名)
tar -xJvf mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz
# 移动解压后的安装文件到指定位置并重命名
mv mysql-8.0.39-linux-glibc2.28-x86_64 /usr/local/mysql
# 进入安装文件路径
cd /usr/local/mysql
(3)配置环境变量
vim /etc/profile
# 在文件末尾添加配置项,保存退出
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:MYSQL_HOME/bin;
# 重新加载环境变量配置
source /etc/profile
(4)创建配置文件
vim my.cnf
插入基础配置项
[mysqld]
# 跳过密码验证
# skip-grant-tables
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=100
# 服务端使用的字符集默认为UTF8MB4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置mysql的socket文件位置
socket=/tmp/mysql.sock
# 设置mysql服务的pid文件位置
pid-file=/usr/local/mysql/data/mysql.pid
# 设置时区
default-time-zone='+08:00'
# 设置最大允许包
max_allowed_packet=16M
# 设置二进制日志
log_bin=mysql-bin
[client]
# 设置客户端默认字符集
default-character-set=utf8mb4
# 设置mysql客户端默认连接端口
port=3306
socket=/tmp/mysql.sock
(5)初始化数据库
./bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
正常情况下执行初始化命令会有回显,回显内容的最后是初始密码,如果没有回显也没关系,如果生成了data文件夹,则说明初始化基本上已经成功了,如果初始化密码不好用(有的时候怎么输都不对),可以在配置文件上设置跳过密码验证,然后登录数据库修改密码,再将密码验证配置去掉,再重启数据库。
(6)启动mysql服务
./bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf --user=root &
(7)修改数据库访问配置
登录数据库(由于配置文件已经设置了跳过密码,输密码时直接Enter即可)
mysql -uroot -p
修改数据库用户配置项
# 修改root账号密码
alter user 'root'@'localhost' identified by '123456';
# 进入mysql的数据库
use mysql
# 修改允许root账号远程访问
update user set host = '%' where user = 'root';
# 刷新权限后退出
flush privileges;
quit
如果修改密码时报错ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
则刷新一下配置,再修改密码即可。
flush privileges;
(8)修改配置文件取消跳过验证,后重启数据库,连接测试
3、安装前端服务
(1)安装httpd服务
# 安装php服务
yum install httpd -y
# 启动服务
systemctl start httpd
# 查看服务状态
systemctl status httpd
# 设置未开机启动
systemctl enable httpd
(2)安装PHP服务
# 安装PHP及其开发包
yum install php php-devel -y
# 查看PHP版本(需要7.4以上)
php -v
# 如果版本较低,则需要升级PHP版本到7.4.0以上,否则访问时页面会提示“Minimum required PHP version is 7.4.0.”
# 重置当前启用的模块流到默认状态
dnf module reset php -y
# 启用 PHP 7.4 的模块流
dnf module enable php:remi-7.4
# 如果提示“缺少的组或模块 : php:remi-7.4”,则需要安装安装 EPEL 仓库;
dnf install epel-release -y
# 然后安装Remi仓库
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
# 更新dnf缓存
dnf clean all && dnf makecache
# 启用 PHP 7.4 的模块流
dnf module enable php:7.4 -y
# 安装或更新PHP及其扩展
dnf install php php-fpm php-mysqlnd -y
dnf update php php-fpm php-mysqlnd -y
4、安装zabbix服务
(1)安装zabbix服务
# 安装zabbix软件包
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
# 更新dnf缓存
dnf clean all && dnf makecache
# 安装zabbix-server-mysql、zabbix-web-mysql、zabbix-apache-conf、zabbix-sql-scripts、zabbix-selinux-policy、zabbix-agent服务
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent -y
(2)创建数据库和账号
mysql -uroot -p
-- 创建zabbix账号
create database zabbix character set utf8mb4 collate utf8mb4_bin;
-- 创建zabbix密码
create user zabbix@localhost identified by '123456';
-- 将 zabbix数据库的所有权限授予用户zabbix,允许该用户从任何主机连接到MySQL服务器并访问zabbix数据库
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
# 刷新权限后退出
flush privileges;
quit;
(3)导入初始化数据
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
(4)修改zabbix配置文件
# 编辑配置文件
vim /etc/zabbix/zabbix_server.conf
# 修改配置项
DBPassword=123456
# 修改socket文件与mysql配置一致
DBSocket=/tmp/mysql.sock
(5)启动服务端和客户端服务
# 启动服务
systemctl restart zabbix-server zabbix-agent httpd php-fpm
# 设置为开机自启
systemctl enable zabbix-server zabbix-agent httpd php-fpm
5、初始化WEB配置
通过浏览器打开网页地址进程初始化设置,初始化账号Admin密码zabbix。
http://IP地址/zabbi
注意:进入首页后,需确认“系统消息”模块中显示的“Zabbix服务器状态”是“运行中”。值是“是”或“YES”,否则服务状态是有问题的,需要去服务端检查服务状态
systemctl start zabbix-server
Best regards, yunxi p deng 2024.10.07