浏览器输入地址: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 -pHuawei@123(注意,MySQL8.0的密码必须有大写字母)
create database zabbix character set utf8;
create user 'zabbix'@'%' identified by 'Huawei@123';
执行授权报错,如下:
原因是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 -pHuawei@123
启动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 'Huawei@123';
flush privileges
只改了root,zabbix也要改
alter user 'zabbix'@'%' identified with mysql_native_password by 'Huawei@123';
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 -pHuawei@123
重新启动MySQL和相关服务:
[root@ctuphisprh00119 zabbix_rpm]# systemctl restart mysqld httpd zabbix-server zabbix-agent rh-php72-php-fpm.service
OK,刷新页面:
真麻烦,哭了哭了。。。
点击finish登陆,账号Admin,密码zabbix
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)