yum -y install wget vim

安装数据库

yum -y install mariadb-server

启动数据库并设置为开机启动,初始化数据库及创建Zabbix干系数据库实例

centosphp52应用源码包安装Zabbix52基于CentOS 7 Docker

systemctl start mariadb && systemctl enable mariadbmysql_secure_installation (数据库初始化,设置密码,过程略,可以参考本人视频)mysql -uroot -pxiaoyu123create database zabbix character set utf8 collate utf8_bin;create user zabbix@localhost identified by 'xiaoyu123';grant all privileges on zabbix. to zabbix@localhost;quit;

下载zabbix 5.2的源码包

wget https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.1.tar.gz

解压镜像

tar -zxvf zabbix-5.2.1.tar.gz(我的文件放在/tmp下)

创建zabbix用户,同时创建家目录

groupadd --system zabbixuseradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbixmkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbixchown zabbix:zabbix /usr/lib/zabbix

预编译环境

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

详细可参考官网,这里代表启用server、agent、数据库为mysql。

接下来开启排错折腾之旅[捂脸][捂脸]

这里由于没有C措辞环境,以是须要安装GCC

yum -y install gcc

这里提示为没有mysql的库文件,以是须要安装mysql-devel

yum -y install mysql-devel

这里短缺libxml2文件及其库文件,须要安装libxml2 libxml2-devel

yum -y install libxml2 libxml2-devel

如果之前没有跟上--with-net-snmp这里该当不会报错,浸染为SNMP功能,这里须要安装两个包,net-snmp,net-snmp-devel

yum -y installnet-snmp net-snmp-devel

这里是短缺libevent及其库文件

yum -y install libevent libevent-devel

短缺curl的库文件

yum -y install curl-devel

看到这里预编译已经完成,安装路径一定要记得,我这里为/usr/local,输入make install正式编译安装。

make install

代码刷完后即进入下一个阶段,这里我们开始前真个支配

前端

首先,导入数据库架构文件至数据库

mysql -u zabbix -pxiaoyu123 -h localhost zabbix < schema.sqlmysql -u zabbix -pxiaoyu123 -h localhost zabbix < images.sqlmysql -u zabbix -pxiaoyu123 -h localhost zabbix < data.sql

安装http做事和php做事,由于CentOS 7默认php版本为5.6,以是须要安装额外yum源

zabbix 5.2最低哀求为7.2

yum -y install epel-release yum-utilsrpm -ivh https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpmyum-config-manager --enable remi-php72yum -y install httpd php php-fpm php-json

移动Zabbix前端文件到http根目录下

cp /tmp/zabbix-5.2.1/ui/ /var/www/html/ -R

授予文件夹的权限

chown apache:apache /var/www/html/ -R

开启干系做事

systemctl start httpd php-fpm && systemctl enable httpd php-fpm

访问前端,此时无需跟后缀名称,输入IP地址即可

熟习的界面

办理前端环境问题,下图我们可以看出,分为两类问题,一类为包没装,另一类为配置文件不符合。

yum -y install php-gd php-bcmath php-mbstring php-xmlwriter php-xmlreader php-mysqli

报错信息

包依赖问题办理

修正配置文件

规复正常

前端部分搞定

Server部分

修正配置文件,如果不知道配置文件在哪个目录,可以输入find / -name zabbix_server.conf,将里面的数据库密码更换为你的数据库密码

修正密码

创建启动文件,也可以直接进目录实行相对应的文件

Server部分

vim /usr/lib/systemd/system/zabbix-server.service[Unit]Description=Zabbix ServerAfter=syslog.targetAfter=network.targetAfter=mysql.serviceAfter=mysqld.serviceAfter=mariadb.serviceAfter=postgresql.serviceAfter=pgbouncer.serviceAfter=postgresql-9.4.serviceAfter=postgresql-9.5.serviceAfter=postgresql-9.6.serviceAfter=postgresql-10.serviceAfter=postgresql-11.serviceAfter=postgresql-12.service[Service]Environment="CONFFILE=/usr/local/etc/zabbix_server.conf"Type=forkingRestart=on-failurePIDFile=/tmp/zabbix_server.pidKillMode=control-groupExecStart=/usr/local/sbin/zabbix_server -c $CONFFILEExecStop=/bin/kill -SIGTERM $MAINPIDRestartSec=10sTimeoutSec=0[Install]WantedBy=multi-user.target

agent部分

vim /usr/lib/systemd/system/zabbix-agent.service[Unit]Description=Zabbix AgentAfter=syslog.targetAfter=network.target[Service]Environment="CONFFILE=/usr/local/etc/zabbix_agentd.conf"Type=forkingRestart=on-failurePIDFile=/tmp/zabbix_agentd.pidKillMode=control-groupExecStart=/usr/local/sbin/zabbix_agentd -c $CONFFILEExecStop=/bin/kill -SIGTERM $MAINPIDRestartSec=10sUser=zabbixGroup=zabbix[Install]WantedBy=multi-user.target

启动server及agent

systemctl start zabbix-server zabbix-agent &&systemctl enable zabbix-server zabbix-agent

大功告成

写在末了

源码安装的办法适宜你对该软件的理解,实际上如果仅仅是利用推举采取yum包安装办法,更加便捷,排错起来更加方便,当你达到一定的理解时候再考试测验该种办法。