小伙伴可能遇到了在公司内网环境下无法访问外网情况,无法访问外网yum源部署ZABBIX 对于rpm包依赖问题比较头疼。本文将会进行离线部署实战。
离线安装所需依赖的rpm包。这个包怎么下载呢?依赖的包很多我这边采用的办法是在
先在有外网CentOS虚拟机下载rpm依赖包,制作本地yum源,后通过文件传输或其他方式至无法访问外网的内外服务器进行安装
在虚拟机安装内网环境同版本CentOS并设置好国内yum源 下载rpm依赖包。
我内网服务器CentOS版本为7.7,所以虚拟机同样安装7.7版本。
CentOS历史版本下载: https://archive.kernel.org/centos-vault
通过yum --downloadonly命令只下载rpm包不安装进行缓存
按照官方安装步骤一套操作直接下载也可以…
国内镜像加速站下载也可以,得到如下包进行安装
zabbix-release-5.0-1.el7.noarch.rpm
并安装后修改zabbix.repo文件
# vim /etc/yum.repos.d/zabbix.repo
我修改了镜像源为清华大学开源镜像站进行加速下载
注意更改zabbix-frontend 下面的 enabled = 1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# yum clean all
使用yum --downloadonly 进行下载rpm包和相关依赖包
downloaddir参数可进行设置下载保存路径
下载 mysql数据库:
yum install mariadb-server.x86_64 --downloadonly --downloaddir=/tmp/offline_rpm
下载 zabbix主服务
yum install zabbix-server-mysql zabbix-agent --downloadonly --downloaddir=/tmp/offline_rpm
下载 Red Hat Software Collections:
yum install centos-release-scl --downloadonly --downloaddir=/tmp/offline_rpm
安装 Red Hat Software Collections:
yum install centos-release-scl
下载 Zabbix web服务:
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl --downloadonly --downloaddir=/tmp/offline_rpm
使用createrepo来创建repository仓库,如果系统里没有该命令的话需要先进行createrepo的安装 yum install createrepo
createrepo /tmp/offline_rpm
创建好的仓库目录会出现 repodata子目录
将 /tmp/offline_rpm/下面全目录 使用SSH等文件传输工具如WinSCP拷贝出来至内网CentOS服务器上面进行安装。
将 offline_rpm 文件夹传输至 内网主机 /tmp 下
/将etc/yum.repos.d 下面所有repo文件进行转移至bak文件夹下
新建一个repo文件
# vim /etc/yum.repos.d/new.repo
写入如下内容保存并退出
[New]
name=New
baseurl=file:///tmp/offline_rpm
gpgcheck=0
enabled=1
清理yum
# yum clean all
从这里向下,开始按照常规步骤安装即可 使用yum将会自动使用本地的yum仓库
# yum -y install zabbix-server-mysql zabbix-agent
#yum -y install mariadb-server.x86_64
Software collections是一个Linux软件多版本共存的解决方案。
# yum install centos-release-scl
# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
systemctl enable mariadb.service
systemctl start mariadb.service
--为root用户设置密码
--删除匿名账号
--取消root用户远程登录
--删除test库和对test库的访问权限
--刷新授权表使修改生效
mysql_secure_installation
# mysql -uroot -p123456
修改数据库字符集
mysql> create database zabbix character set utf8 collate utf8_bin;
创建数据库
mysql> create user zabbix@localhost identified by '123456';
用户授权
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
导入初始架构和数据
查看sql文件路径
查看sql文件路径
# rpm -ql zabbix-server-mysql
浏览到目录并解压缩
cd /usr/share/doc/zabbix-server-mysql-5.0.2/
gzip -d create.sql.gz
导入数据
mysql -uzabbix -pgoertek zabbix
编辑 zabbix_server.conf
# vim /etc/zabbix/zabbix_server.conf
找到对应项有注释则取消:
DBHost= localhost
DBName = zabbix
DBuser= zabbix
DBpassword = 123456
编辑php配置文件
# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
更改时区 取消下面配置项前面注释“;” 更改为Asis/Shanghai
php_value[date.timezone] = Asis/Shanghai
启动 zabbix服务和进程!
启动服务
# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
设置开机自启
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
查看zabbix服务器日志
# vim /var/log/zabbix_server.log
常见问题:
问题1:
cannot start preprocessing service: Cannot bind socket to
“/var/run/zabbix/zabbix_server_preprocessing.sock”: [13] Permission
denied. 解决: 关闭系统防火墙:systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
重启 zabbix 服务: systemctl start zabbix-server zabbix-agent httpd
问题2:
cannot start alert manager service: Cannot bind socket to
“/var/run/zabbix/zabbix_server_alerter.sock”: [13] Permission denied.
解决: 关闭selinux: 修改 etc/selinux/config 设置SELINUX=disabled 重启系统
setenforce 0(如果不想重启服务器可以运行此命令)。#使配置升效。 重启 zabbix 服务: systemctl start
zabbix-server zabbix-agent httpd
安装成功,至此CentOS7 离线安装 ZABBIX 5.0 结束!
by CN_PEAK_HAO & MH8888
2020/07/14