(搬运)Centos7安装Zabbix4.0步骤
原文作者:CARLOS_CHIANG(感谢分享)
原文出处:http://www.cnblogs.com/yaoyaojcy/
原文版权归作者和博客园共有
官方搭建zabbix4.0的环境要求:



1. 环境搭建LAMP
前提Centos系统安装完成: 确认一下:
| 1 2 | cat /etc/redhat-release # 查看CentOS版本 cat /proc/version #查看存放与内核相关的文件 |

1.1 搭建之前的操作
1.1.1 升级系统组件到最新的版本

1.1.2 关闭selinux
| 1 | vi /etc/selinux/config #将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效 |

| 1 | getenforce #检测selinux是否关闭,Disabled 为关闭 |

1.1.3 关闭防火墙
| 1 | firewall-cmd --state #查看默认防火墙状态,关闭后显示not running,开启后显示running |

| 1 2 | systemctl stop firewalld.service #临时关闭firewall systemctl disable firewalld.service #禁止firewall开机启动 |

1.2 搭建LAMP环境
1.2.1 安装所需所有软体仓库
Zabbix是建立在LAMP或者LNMP环境之上,在此为了方便就使用yum安装LAMP环境。
| 1 | yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash |
| 1 | rpm -qa httpd php mariadb #安装完成后检查应用版本 |





1.2.2 编辑httpd
| 1 | vi /etc/httpd/conf/httpd.conf |
| 1 2 | ServerName www.zabbixyk.com #修改为主机名 DirectoryIndex index.html index.php # 添加首页支持格式 |

1.2.3 编辑配置php,配置中国时区
| 1 | date.timezone = PRC # 配置时区 |

1.2.4 启动httpd,mysqld
| 1 2 3 4 | systemctl start httpd #启动并加入开机自启动httpd systemctl enable httpd systemctl start mariadb #启动并加入开机自启动mysqld systemctl enable mariadb |
| 1 2 | ss -anplt | grep httpd #查看httpd启动情况,80端口监控表示httpd已启动 ss -naplt | grep mysqld #查看mysqld启动情况,3306端口监控表示mysqld已启动 |



1.2.5 创建一个测试页,测试LAMP是否搭建成功
| 1 | vi /var/www/html/index.php #创建一个测试页,并编辑 |


本地测试:
| 1 | curl http://127.0.0.1 -I #本地测试 |

1.2.6 初始化mysql数据库,并配置root用户密码
| 1 | mysqladmin -u root password ykadmin123 #设置数据库root密码 |

| 1 2 3 4 5 | mysql -u root -p #root用户登陆数据库 CREATE DATABASE zabbix character set utf8 collate utf8_bin; #创建zabbix数据库(中文编码格式) GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'ykadmin123'; #授予zabbix用户zabbix数据库的所有权限,密码ykadmin123 flush privileges; #刷新权限 quit #退出数据库 |

| 1 | vi /var/www/html/index.php #修改测试页内容,测试zabbix用户是否能够登陆数据库,这个环节很重要 |
| 1 2 3 4 5 6 | <?php $link=mysql_connect('172.18.20.224','zabbix','ykadmin123'); if($link) echo "<h1>Success!!</h1>"; #显示Success表示连接数据库成功 else echo "Fail!!"; mysql_close(); ?> |


出现上图则PHP连通数据库完成。
为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下:
| 1 2 3 | mysql -u root -p #使用root账户登录数据库; select user,host from mysql.user; #有空用户名称占用导致本地无法登录远程可登录 drop user ''@localhost; #删除空用户 |

2. 安装zabbix
2.1 安装依赖包 + 组件
| 1 | yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch javacc-javadoc.noarch javacc-maven-plugin.noarch javacc* |


| 1 2 3 4 5 6 7 | yum install php-bcmath php-mbstring -y #安装php支持zabbix组件 rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm #会自动生成yum源文件,保证系统可以上网 yum install zabbix-server-mysql zabbix-web-mysql -y #安装zabbix组件 zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p -h 172.18.20.224 zabbix #导入数据到数据库zabbix中(最后一个zabbix是数据库zabbix),且因为用户zabbix是%(任意主机),所以登录时需要加上当前主机ip(-h 172.18.20.224),密码是用户zabbix登陆密码ykadmin123 |




如果此时忘记了数据库的密码,按如下操作:
| 1 2 | vi /etc/zabbix/zabbix_server.conf #配置数据库用户及密码 grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf #确认数据库用户及密码 |

配置时区,并设置加入开机自启动zabbix-server
| 1 | vi /etc/httpd/conf.d/zabbix.conf //修改时区 |
| 1 | 将# php_value date.timezone Europe/Riga 变更成php_value date.timezone Asia/Shanghai |
| 1 2 | systemctl enable zabbix-server # #启动并加入开机自启动zabbix-server systemctl start zabbix-server |


| 1 | netstat -anpt | grep zabbix //监听在10051端口上,如果没监听成功,可重启zabbix-server服务试试 |

建议重启服务器,再继续。
2.2 web界面安装zabbix
如果以上步骤无误,现在可以使用web打开
| 1 | http://172.18.20.224/zabbix //注意这里IE浏览器打不开,本次测试使用chrome浏览器 |








