Rpm包方式安装zabbix5.0

浏览器输入地址:Zabbix Official Repository,将需要的rpm全下载到本地,随后上传到服务器/scripts/zabbix_rpm上。

1.yum -y install php

2.执行yum provides createrepo ,找到对应名字,yum -y install 找到的名字

在/data/zabbix 目录下,执行createrepo ./   ,会生成一个repodata 文件夹.

3. 在 /var/www/html 下面,建立一个软连接.:   ln -s   /scripts    zabbix_yum  


4.cd 到/etc/yum.repo.d/下,创建zabbix.repo

[zabbix]
name=zabbix
baseurl=http://10.29.155.203/zabbix_yum
gpgcheck=0
5.依次执行  yum clean all   yum list update  yum makecache   yum repolist  命令

当执行到yum list update时可能有如下报错:


原因是httpd服务没有启动

[root@ctuphisprh00119 zabbix_rpm]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@ctuphisprh00119 zabbix_rpm]# systemctl start httpd
6.执行yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y

提示有如下报错:


查找相关文档:发现是缺失mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm和fping

下载:



mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm下载后从本地上传到/scripts/zabbix_rpm
rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm

fping需要的操作如下:

访问Index of /pub/epel/7/x86_64/Packages/f,找到fping包下载下来上传到服务器,



7.再次执行yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y,安装成功 

8.mysql -uroot -p*******(注意,MySQL8.0的密码必须有大写字母)

create database zabbix character set utf8;

create user 'zabbix'@'%' identified by '********';

执行授权报错,如下: 

原因是8.0命令规则已修改,解决方法如下:

 

 


9.导入zabbix压缩包到库

vim /usr/share/doc/zabbix-server-mysql-5.0.9/create.sql.gz

在第一行加入如下,否则会报错

use zabbix;

之后执行 

zcat /usr/share/doc/zabbix-server-mysql-5.0.9/create.sql.gz | mysql -uzabbix -p*******

启动zabbix-server,agent,httpd发现报错:

查看zabbix默认日志

more /var/log/zabbix/zabbix_server.log

报错:[Z3001] connection to database 'zabbix' failed: [2059] Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

原因是:不支持Mysql8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式。

进入数据库(用root登陆)

use mysql;



alter user root@localhost identified with mysql_native_password by '********‘';

flush privileges


只改了root,zabbix也要改

alter user 'zabbix'@'%' identified with mysql_native_password by '********';

flush privileges

退出查看zabbix-server状态:

解决了!!!

10.页面访问

访问如下网址报错:


查看httpd服务是启动着的,查找相关文档发现,httpd下的conf.d里没有对应的zabbix.conf,判定为缺少相关rpm包,

访问http://mirrors.tools.huawei.com/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/,下载zabbix-apache-conf-scl-5.0.9-1.el7.noarch.rpm,之后将其上传到本地的yum里,即/scripts/zabbix_yum/

执行rpm -ivh zabbix-apache-conf-scl-5.0.9-1.el7.noarch.rpm报错:


重新执行命令:rpm -ivh zabbix-apache-conf-scl-5.0.9-1.el7.noarch.rpm --nodeps --force(不再分析包之间的依赖关系,直接安装),执行成功

11.修改配置文件

安装了上述rpm包之后,执行命令cd /etc/httpd/conf.d,就会发现目录下有zabbix.conf了。

vim /etc/http/conf/httpd.conf


保存重启httpd,访问网页提示禁止访问:。。我要疯了。。

 


网上找了一堆解决方法,但是对于我来说都不适用,先看一下日志信息:

好吧,问题出来/usr/share/zabbix上,我居然没有这个目录。。。第一次用rpm安装,没想到需要这么多包,去官方或者华为源下载以下三个包:


跟上面一样放到指定Yum源目录里,force ivh安装,之后发现/usr/share/zabbix有了,Ok.....

12.重启httpd,也页面访问,提示503,查看日志报错如下:


里面提到rh-php72,初步怀疑是php版本过低不兼容问题,好吧。。。开始找包下载,地址如下:

rh-php72-php-7.2.24-1.el7 | Build Info | CentOS Community Build Service

命令行执行:yum remove php* -y

然后将如下四个包下载并上传


rpm -ivh rh* --nodeps --force 

执行成功后启动php72

systemctl start rh-php72-php-fpm.service

systemctl enable rh-php72-php-fpm.servicez

之后重启Httpd,又报错了:

提示zabbix.conf的文件第七行,得,直接vim看看


发现是根据网上资料自己加的时区这一行,那没说的,直接注释干掉 

重启httpd,这下启动成功了。

13.激动的心,颤抖的手

14.点击next step

发现报错,提示time zone未设置

解决方法:

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

添加以下行:

php_value[date.timezone] = Asia/Shanghai
[root@ctuphisprh00119 zabbix_rpm]# systemctl restart rh-php72-php-fpm.service

[root@ctuphisprh00119 zabbix_rpm]# systemctl restart httpd zabbix-server

还有其他报错,如下:


看到提示大部分都是php相关的报错,可能是缺少依赖,那么还是访问rh-php72-php-7.2.24-1.el7 | Build Info | CentOS Community Build Service

下载相关依赖看下:


之后上传到本地,并加载

 ​​​​​​​​​​

重启所有相关服务

[root@ctuphisprh00119 zabbix_rpm]# systemctl restart rh-php72-php-fpm.service httpd zabbix-server zabbix-agent
再次访问页面,OK了!

15.继续点击next step

出现空白页面,什么都没有

查看httpd日志:


提示有个json_encode,可能还是缺少依赖包

下载rh-php72-php-json-7.2.24-1.el7.x86_64.rpm并上传,之后rpm -ivh rh-php72-php-json-7.2.24-1.el7.x86_64.rpm

[root@ctuphisprh00119 zabbix_rpm]# systemctl restart httpd zabbix-server rh-php72-php-fpm.service
再次访问解决:

16.设置数据库

user和库名都填之前设置好的zabbix,密码填zabbix用户的密码

点击next step,好吧,继续报错了,我把坑都踩完了。。。


出现此问题的原因是:创建zabbix数据库的时候没有指定字符集,默认的latin和导入的create.sql中的字符集不一致(create.sql里的charset是utf8)

删库重新创建吧:


重新导入数据: 

zcat /usr/share/doc/zabbix-server-mysql-5.0.9/create.sql.gz | mysql -uzabbix -p*******

重新启动MySQL和相关服务:

[root@ctuphisprh00119 zabbix_rpm]# systemctl restart mysqld httpd zabbix-server zabbix-agent rh-php72-php-fpm.service
OK,刷新页面:


真麻烦,哭了哭了。。。  

点击finish登陆,账号Admin,密码zabbix

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值