一、准备环境
系统:CentOS 6.5
LNMP:1.7
zabbix:4.4
1.此次安装zabbix前先将LNMP环境安装好,使用一键安装的方式安装LNMP环境。
LNMP下载地址:
地址:http://soft.vpser.net/lnmp/lnmp1.7-full.tar.gz (直接复制链接粘贴迅雷或其他下载器即可下载)
文件大小:869MB
MD5:a1d5d3e9b5c0c8bbfb99c33fd10dc7f1
下载安装的LNMP1.7的离线版本,下载后上传至Linux服务器,并解压:
[root@local ~]# tar -xvf lnmp1.7-full.tar.gz
[root@local ~]# cd lnmp1.7-full因为是离线版本,所以安装时单独指定参数:
[root@local ~]# CheckMirror=n ./ lnmp执行命令后的大概操作可参考:https://lnmp.org/install.html
LNMP一键安装学习参考网址:https://lnmp.org/
注意:
在安装过程中会很容易因为系统环境差异导致最后只能安装成功NGINX,其他服务器如MySQL、PHP都会失败,可参考安装日志(位置:/root/lnmp-install.log)根据其中每个暗转阶段的错误原因进行单独处理,一般网上都有相关参考办法,大部分是因为缺少依赖包导致,可以自己配置yun源安装所需依赖包,如果是内网环境,可以配置本地yum源方式安装依赖包,配置本地yum方法可参考:
多次修改配置并多次执行安装命令时有时会出现MySQL数据库问题,本人安装后先是MySQL无法安装、PHP无法安装,在解决MySQL安装后,再次执行一键安装命令时由于MySQL已经安装过所以在安装MySQL过程中启动和停止命令会不成功,这并不影响PHP安装。但是会导致LNMP安装成功后我本地MySQL库root无法登录,我跳过用户验证登录MySQL后发现默认库mysql中user表(数据库系统存放数据库登录用户的表)与MySQL版本不匹配,不知道是不是个例,因为我安装的是MySQL5.7版本,user表中没有任何数据,而且user表段与MySQL5.7不同,因此我把MySQL存放数据的data执行的目录删除重新初始化后才正常。
2.从zabbix官方网站下载zabbix源码包,版本为4.4版本。
二、安装zabbix
1.创建zabbix用户:
[root@local ~]# groupadd zabbix -g 201
[root@local ~]# useradd -g zabbix -u 201 -m zabbix2.解压zabbix源码包,并进行编译,因为并不清楚在有LNMP环境下源码包还缺少什么,所以先进行编译,编译出现问题再逐个进行解决(编译出现问题大部分都是没有安装全所需依赖包导致):
[root@local ~]# tar zxf zabbix-4.4.tar.gz
[root@local ~]# cd zabbix-4.4
[root@local zabbix-4.4]# ./configure --prefix=/data/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-unixodbc --with-ssh2 --enable-java注意:执行参数–with-mysql时要加上具体的mysql安装路径下配置文件才行。后面执行的参数是尽量在内网环境下配置比较齐全的zabbix功能组件和参数。
安装:
[root@local zabbix-4.4]# make && make install准备zabbix使用的MySQL数据库环境:
注意:
如果在一键安装LNMP成功后没有单独处理一下MySQL数据库,在创建用户并授权时就会出现错误,错误原因就是发现user表时空的无法执行命令,也无法用root用户登录(我的环境是如此,不知道是不是个例,如果你安装没有没问题就直接执行如下命令就可以)
记录一些错误处理方法:
报错
checking for xmlReadMemory in -lxml2... yes
checking for odbc_config... no
checking for SQLAllocHandle in -lodbc... no
configure: error: unixODBC library not found
解决办法:
[root@zabbix-server zabbix-4.0.11]# yum install libssh2-devel
报错
checking for OPENIPMI support... no
configure: error: Invalid OPENIPMI directory - unable to find ipmiif.h
解决办法:
# yum install OpenIPMI-devel
报错
configure: error: Unable to find "javac" executable in path
解决办法
# yum -y install java-devel
# make
报错
odbc.c:24:17: fatal error: sql.h: No such file or directory
#include <sql.h>
解决办法
# yum install -y unixODBC*[root@local zabbix-4.4]# mysql -uroot -proot123
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 96
Server version: 5.7.30-log Source distribution
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.30 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>执行zabbix源码包中自带的数据库环境脚本,按照如下步骤导入数据库:
[root@local zabbix-4.4]# cd /data/zabbix-4.4/database/mysql/
[root@local mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@local mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@local mysql]# mysql -uzabbix -pzabbix zabbix < data.sql3.配置zabbix
创建zabbix日志目录,我将日志目录与zabbix安装目录放到一起:
[root@local ~]# cd /data/zabbix
[root@local zabbix]# mkdir log
[root@local zabbix]# chown zabbix:zabbix log复制并配置zabbix源码包里自带启动脚本:
[root@local ~]# cd /root/zabbix-4.4
[root@local zabbix-4.4]# cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
[root@local zabbix-4.4]# chmod 755 /etc/init.d/zabbix_*
[root@local zabbix-4.4]# vi /etc/init.d/zabbix_server
BASEDIR=/data/zabbix
[root@local zabbix-4.4]# vi /etc/init.d/zabbix_agentd
BASEDIR=/data/zabbix配置zabbix_server.conf服务器配置文件:
[root@local zabbix-4.4]# vi /data/zabbix/etc/zabbix_server.conf
LogFile=/data/zabbix/log/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
DBPort=3306
LogSlowQueries=1000复制zabbix网页文件到nginx目录,并重命名为zabbix:
[root@local ~]# cd /root/zabbix-4.4
[root@local zabbix-4.4]# cp -r frontends/php/ /home/wwwroot/zabbix
[root@local zabbix-2.4.5]# chown -R www:www /home/wwwroot/zabbix注意:NGINX是通过LNMP一键安装的,默认的网页访问路径是/home/wwwroot/default,将zabbix网页文件复制重命名zabbix后,需要修改nginx配置文件,将默认的访问路径更换为 /home/wwwroot/zabbix。配置文件位置:/usr/local/nginx/conf/nginx.conf ,修改server中指定的路径即可,然后重启NGINX服务。
[root@local ~]# vim /usr/local/nginx/conf/nginx.conf
......
server
{
listen 80 default_server reuseport;
#listen [::]:80 default_server ipv6only=on;
server_name _;
#index index.html index.htm index.php;
#root /home/wwwroot/default;
root /home/wwwroot/zabbix;
#error_page 404 /404.html;
[root@local ~]# /usr/local/nginx/sbin/nginx -s stop
[root@local ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf开启zabbix服务:
[root@local ~]# /etc/init.d/zabbix_server start直接访问 : http://ip
即可看到zabbix的初始化配置界面(由于内网无法截图,只能从网上找个截图参考 -_-):

按照提示一步一步点击即可,下一步如下,在这一步由于是通过一键安装LNMP方式安装的PHP环境,所以PHP参数有写会不符合要求,可以修改参数文件(/usr/local/php/etc/php.ini)中参数进行调整:
一下图中提示php参数不符合,所以需要调整php参数:



修改参数文件后保存然后重新加载php参数,本次使用lnmp reload命令:
[root@localhost sbin]# lnmp reload
+-------------------------------------------+
| Manager for LNMP, Written by Licess |
+-------------------------------------------+
| https://lnmp.org |
+-------------------------------------------+
Reload LNMP...
Reload nginx... nginx is not running, can't reload.
SUCCESS! Reloading service MySQL
Reload service php-fpm done刷新页面后,可以看到报错已经消失(警告可忽略):

在这一步配置MySQL数据库的zabbix用户(端口填写0后者数据库3306端口)

但是在配置好mysql数据库点击下一步时有可能出现以下错误(当然不出现更好了!):


如果出现以上错误,而且错误提示是Unsupported cahrset or collcation for tables这种无从下手的错误,多数是因为你在配置mysql数据库时create database出现错误,可以通过方法修复:
1.删除原有的数据库. drop database zabbix;
2.创建新的zabbix数据库,命令:create database zabbix character set utf8 collate utf8_bin;
3.重新打入zabbix的数据库表内容;
mysql -uroot -p123456 zabbix < schema.sql
mysql -uroot -p123456 zabbix < images.sql
mysql -uroot -p123456 zabbix < data.sql
然后刷新web界面就可以看到数据连接正常了。然后就可以配置下一步,填写zabbix server所在服务器IP地址与端口(可以默认),名称选项可以不填也可以自己定义:

点击后预览然后完成就会进入登录界面,如下,输入默认用户和密码 Admin/zabbix。就可以登陆主页面:

至此,Linux系统安装zabbix服务初步完成!
















