zabbix4.0离线快速编译安装(编译安装方法)
本博客已整理更新至第三版。更新于2019.5.28
其实这个主要是想试一下离线编译安装的具体步骤,记得要配置好本地yum云,因为我们需要使用yum,yum能帮我们自动解决很多依赖问题。发现最主要的问题是,当编译安装时,会提示没有对应包,所以有一个网站我们需要到上面去找依赖包,网址http://rpm.pbone.net/,当我们找不到某些要用到的包时,可以考虑到这个网址里下载。值得注意的是php缺少的某些扩展,可以通过yum安装,php会自动识别这些扩展的
一般来说,直接执行以下脚本也可以了。脚本统一放在root目录下
脚本1
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
setenforce
yum install httpd mariadb mariadb-server php php-mysql php-devel php-xml php-bcmath php-mbstring php-gd wget expect net-snmp gcc mysql-devel libxml2-devel net-snmp-devel libevent-devel curl-devel -y
wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.2.1/zabbix-4.2.1.tar.gz
systemctl start httpd
systemctl enable httpd
systemctl enable mariadb
systemctl start mariadb
chmod +x initmysqlpassword.sh
/root/initmysqlpassword.sh
tar -zxvf zabbix-4.2..tar.gz
cd zabbix-4.2.
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
cd database/mysql/
mysql -uroot -p123456 -e "create database zabbix character set utf8 collate utf8_bin;"
mysql -uroot -p123456 -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
mysql -uroot -p123456 -e "flush privileges;"
mysql -uzabbix -pzabbix -e "use zabbix;source schema.sql;source images.sql;source data.sql;"
cd ../..
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make install
sed -i s/'# DBPassword='/'DBPassword=zabbix'/g /usr/local/etc/zabbix_server.conf
cp -r frontends/php/ /var/www/html/zabbix
sed -i s/'^max_execution_time.*'/'max_execution_time = 300'/g /etc/php.ini
sed -i s/'^max_input_time.*'/'max_input_time = 300'/g /etc/php.ini
sed -i s/'^post_max_size.*'/'post_max_size = 16M'/g /etc/php.ini
sed -i s/'^;date.timezone.*'/'date.timezone = Asia\/Shanghai'/g /etc/php.ini
systemctl restart httpd
systemctl restart mariadb
zabbix_server
脚本2,无需手动自行,只需将该脚本命名为initmysqlpassword.sh
#!/usr/bin/expect
spawn mysql_secure_installation
expect "Enter current password for root (enter for none):"
send "\r"
expect "Set root password? "
send "Y\r"
expect "New password:"
send "123456\r"
expect "Re-enter new password:"
send "123456\r"
expect "Remove anonymous users? "
send "y\r"
expect "Disallow root login remotely? "
send "n\r"
expect "Remove test database and access to it? "
send "y\r"
expect "Reload privilege tables now? "
send "y\r"
expect eof
以下为具体分步骤
第一步
关闭selinux以及防火墙,被这两个东西坑过很多次了
第二步
部署lamp或者lnmp环境,这里以部署lamp环境做演示。另一篇博客有更加详细的教程https://www.cnblogs.com/biaopei/p/7730676.html
yum install httpd mariadb mariadb-server php php-mysql php-devel -y
接着启动对应服务和设置开机自启
systemctl start httpd
systemctl enable httpd
systemctl enable mariadb
systemctl start mariadb
mysql_secure_installation #在Set root password? [Y/n]后面输入 y,设置密码123456,在Disallow root login remotely? [Y/n] 后面输入n,允许root用户远程登录,其他选项直接回车默认就可以了
写一个页面测试php和mariadb是否已经在Apache里正常运行,以下内容是用来检测用php连接mariadb的,连接成功显示success,失败显示fail(说明哪里没配置正确,需要检查)
直接复制一下内容到终端中执行就可以了(注意,$link之类的变量前面必须加个斜杆转义,否则系统会把他当做一个变量,不能将这个变量名打印到文本中)
cat > /var/www/html/test.php <<EOF
<?php
\$link=mysql_connect('localhost','root','123456');
if(!\$link) echo "fail";
else echo "success";
mysql_close();
?>
EOF
访问服务器ip/test.php,如果返回success则说明可以了
第三步
编译安装zabbix
3.1 下载源码包就行,我下载的是4.0版本的

3.2 解压
tar -zxvf zabbix-4.0.0.tar.gz
3.3 开始编译,执行sql文本时注意导入顺序
cd zabbix-4.0.0
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
cd database/mysql/
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;
quit
mysql -uzabbix -p
use zabbix
source schema.sql;
source images.sql;
source data.sql;
quit
yum install net-snmp gcc mysql-devel libxml2-devel net-snmp-devel libevent-devel curl-devel -y
cd ../..
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make install
接下来还需要修改zabbix的配置文件,我的默认是在/usr/local/etc/zabbix_server.conf。取消DBPassword的注释并将其值改为zabbix。这个不修改回导致zabbix_server起不来

现在可以启动zabbix_server了
zabbix_server
注意:zabbix_server默认日志文件位于/tmp/zabbix_server.log,有问题可以查看这个日志文件
[root@localhost zabbix-4.0.0]# cp -r frontends/php/ /var/www/html/zabbix #先返回到解压后的目录再执行这条命令,这个迁移的是zabbix前端文件
现在我们先来尝试访问zabbix ,访问地址服务器ip/zabbix

点击下一步

这个需要修改php配置文件和添加php扩展就可以了
我们先修改/etc/php.ini文件,将对应参数做如下修改
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
date.timezone =Asia/Shanghai
添加扩展
yum install php-gd -y
yum install php-xml
php-bcmath php-mbstring
找到这两个rpm包安装,注意一下版本,刚开始,我使用的是php-bcmath-5.4.16-45.el7.x86_64.rpm这个版本的,后面发现会有依赖问题,所以后面下了另一个版本的php-bcmath-5.4.16-42.el7.x86_64.rpm,安装方式rpm -ivh rpm包名
systemctl restart httpd 重启一下httpd,刷新页面就发现不会报错了

那个警告可以忽略,点击下一步。第二次安装时我遇到了另一个问题,那就是提示The frontend does not match Zabbix database. Current database version (mandatory/optional): 3050047/3050047. Required mandatory version: 4000000. Contact your system administrator.之类的问题,具体解决方法是
mysql> use zabbix;
mysql> update dbversion set mandatory=4000000; 将后面的4000000根据情况改为对应的值
mysql> flush privileges;

随便起个名

下一步

再下一步

按操作提示,下载配置文件,放到指定位置就可以了

点击下一步

点击完成,默认账号Admin密码zabbix

登录效果

zabbix4.0离线快速编译安装(编译安装方法)的更多相关文章
- Zabbix4.0 Web管理界面中文乱码解决方法(转)
Zabbix安装好之后,监控图形页面出现字符集乱码 解决方法:1.复制本地电脑C:\Windows\Fonts\simkai.ttf(楷体)上传到zabbix服务器网站目录的fonts目录下 2.za ...
- centos7.6下编译安装zabbix4.0.10长期支持版
一.安装数据库,这里使用的是percona-server5..24版本 配置如下 [root@zabbix4_clone:~]# cat /etc/my.cnf # Example MySQL con ...
- zabbix4.0下zabbix-agentd安装
转:http://www.safecdn.cn/monitor/2018/12/zabbix4-0-zabbix-agentd-install/316.html 一 安装源和Zabbix的依赖包: 1 ...
- 基于LNMP的Zabbix4.0.1部署
转:http://www.safecdn.cn/monitor/2018/12/lnmp-zabbix4-0-1-install/306.htmlZabbix4.0.1部署 一 安装源和Zabb ...
- CentOS7.x编译安装zabbix4.0
编译安装zabbix Zabbix简介 Zabbix 是一个企业级的分布式开源监控方案. Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件.Zabbix使用灵活的通知机制,允许用户 ...
- 一文吃透zabbix4.0的编译安装,最全最详细的安装。
什么是zabbix? zabbix作为一款企业级,开源的,分布式的监控套件,解决了以往监控软件的短板,可以说是现在流行的监控解决方案之一. 监控系统的理想化模样 1.监控数据收集及可视化. 2.数据要 ...
- Centos7编译安装zabbix-4.0.1
架构组合:nginx1.9.10+php7.0.32+mysql5.7.22+zabbix4.0.1 nginx1.9.10 先装依赖 openssl-1.1.0f tar zxvf openssl- ...
- Centos 7.5源码编译安装zabbix4.0报fatal error: mysql.h: No such file or directory
系统环境:CentOS 7.5是最小化安装的 编译信息 编译选项: root@Server01 zabbix-]# ./configure --prefix=/usr/share/applicatio ...
- centos7.6环境zabbix3.2源码编译安装版升级到zabbix4.0长期支持版
zabbix3.2源码编译安装版升级到zabbix4.0长期支持版 项目需求: .2版本不再支持,想升级成4.0的长期支持版 环境介绍: zabbix服务端是编译安装的,数据库和web在一台机器上 整 ...
随机推荐
- C# 鼠标点击移动窗体代码,可以实现无边框窗体的拖动
private static bool IsDrag = false; private int enterX; private int enterY; private void setForm_Mou ...
- L1-063 吃鱼还是吃肉
国家给出了 8 岁男宝宝的标准身高为 130 厘米.标准体重为 27 公斤:8 岁女宝宝的标准身高为 129 厘米.标准体重为 25 公斤. 现在你要根据小宝宝的身高体重,给出补充营养的建议. 输 ...
- FPGA设计中的复位
(1)异步复位与同步复位的写法 1.异步复位与同步复位的区别? 同步复位:若复位信号在时钟有效边沿到来时刻为有效,则执行一次复位操作. 优点: 1)同步复位是离散的,所以非常有利于仿真器的仿真: 2) ...
- .net webService保存全局变量中
遇到坑,然后找到解决方案,我就习惯做个记录. 情景:通过webservice调用一个第三方的库,在初始化第三方库的时候需要花费较长时间 目的:希望通过初始化一次,缓存下来,下次直接调用,而不必每次初始 ...
- URL路由系统-命名空间
命名空间 1.工程Django下的urs.py from django.conf.urls import url,include from django.urls import path,re_pat ...
- 安装oracle11g client 【INS-30131】执行安装程序验证所需的初始设置失败的解决方法
今天在服务器(操作系统windows server 2008R2)上安装Oracle11g 客户端,弹出“执行安装程序验证所需的初始设置失败”,如上图.网上找了一些方法,简单整理如下,仅供参考. 问题 ...
- mysql 5.7安装图解 mysql 5.7图文安装完整教程
今天给搭建分享一个教程,mysql 5.7的安装操作,这里呢我叫大家怎么用二进制去安装mysql,其实在大多数的生产环境中使用二进制预编译的安装方式是最多了,下面大家跟着我的步骤去尝试着安装下吧. 先 ...
- TCPIP学习笔记
TCP的连接 状态变化 各个状态的意义如下: LISTEN - 侦听来自远方TCP端口的连接请求: SYN-SENT -在发送连接请求后等待匹配的连接请求: SYN-RECEIVED - 在收到和发送 ...
- VBA在WORD应用中如何将格式应用于选定内容
下列示例使用 Selection 属性将字符和段落格式应用于选定文本.使用 Font 属性获得字体格式的属性和方法,使用 ParagraphFormat 属性获得段落格式的属性和方法. Sub For ...
- mysql5.5.28在Linux下的安装
1. 下载mysql 在http://dev.mysql.com/downloads/mysql/ 官网上下载mysql-5.5.28-linux2.6-i686.tar.gz. 2. ...