Linux运维:zabbix编译安装

Liunx笔记:zabbix编译安装

Ago linux运维群: https://hankbook.cn 笔者QQ:578843228


前言

之前的yum安装是方便。简单。但是呢,不方便升级。此处来个编译安装。

1.基础环境准备

[root@Aige ~]# cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@Aige ~]# uname -r
2.6.32-642.el6.x86_64
[root@Aige ~]# /etc/init.d/iptables stop
[root@Aige ~]# /etc/init.d/iptables stop
[root@Aige ~]# chkconfig iptables off
[root@Aige ~]# getenforce 
Disabled
[root@Aige ~]# setenforce 0

2.快速搭建LNMP环境

需要自己定义rpm包,出门左拐就可以找到yum仓库的定制

安装LNMP依赖包

yum -y install pcre-devel openssl-devel ncurses-devel zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel libxslt-devel libmcrypt-devel mhash mhash-devel mcrpt

rpm -ivh --aid *.rpm

3.安装zabbix

1.下载依赖包

yum -y install fping net-snmp-devel unixODBC-devel openssl-devel OpenIPMI-devel java-devel

2.添加用户

useradd zabbix -s /sbin/nologin

3.下载解压zabbix,并安装

wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.8/zabbix-3.0.8.tar.gz
tar xf zabbix-3.0.8.tar.gz
./configure --prefix=/application/zabbix-3.0.8 --enable-server --enable-agent --enable-java --enable-ipv6 --with-mysql=/application/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --with-openssl
make 
make install
ln -s /application/zabbix-3.0.8 /application/zabbix

报错:configure: error: Not found mysqlclient library
原因:通过二进制包安装mysql
解决:指定配置文件库
--with-mysql=/application/mysql/bin/mysql_config
或者yum install mysql-devel -y

4.导入数据库

进入mysql创建库和用户

[mysql]:create database zabbix character set utf8 collate utf8_bin;
[mysql]:grant all on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
[mysql]:flush privileges;

导入数据,必须依次导入
schema.sql # 表结构,首先导入
images.sql # 图形,第二
data.sql # 数据,最后导入
三个文件在源码解压的database/mysql下面
cd /root/zabbix-3.0.8/database/mysql/

[mysql]: use zabbix
[mysql]: source /root/zabbix-3.0.8/database/mysql/schema.sql
[mysql]: source /root/zabbix-3.0.8/database/mysql/images.sql
[mysql]: source /root/zabbix-3.0.8/database/mysql/data.sql

5.修改nginx配置文件

源码包里的站点配置文件。

mkdir -p /application/nginx/html/zabbix
cp -a /root/zabbix-3.0.8
cp -a /root/zabbix-3.0.8/frontends/php/* /application/nginx/html/zabbix/  # 站点目录
chown -R www /application/nginx/html/zabbix/ # 授权用户

6.配置zabbix

6.1 php配置
sed -i 's#max_execution_time = 30#max_execution_time = 300#;s#max_input_time = 60#max_input_time = 300#;s#post_max_size = 8M#post_max_size = 16M#;910a date.timezone = Asia/Shanghai' /application/php/lib/php.ini
6.2zabbix服务配置
sed -i -e '77a DBHost=127.0.0.1' -e '111a DBPassword=zabbix'  # 修改mysql服务位置和mysql密码 /application/zabbix/etc/zabbix_server.conf
cp /root/zabbix-3.0.8/misc/init.d/fedora/core/zabbix_{server,agentd} /etc/init.d/  # 拷贝启动文件
sed -i 's#BASEDIR=/usr/local#BASEDIR=/application/zabbix#g' /etc/init.d/zabbix_{server,agentd}  # 修改启动目录
6.3启动脚本

启动报错

[root@Aige ~]# /etc/init.d/zabbix_server start
Starting zabbix_server:  /application/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
                                                           [FAILED]

解决

ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/

浏览器测试

http://10.0.0.110/zabbix

报错:需要进入源码包

界面只有一个,没有mysql

PHP databases support	SQLite3   OK

原因:二进制编译安装的PHP安装出现了问题,mysqli没有安装

cd /root/php-5.5.32/ext
cd /root/php-5.5.32/ext/mysqli/
/application/php/bin/phpize
./configure --with-php-config=/application/php/bin/php-config
make && make install
echo "extension = mysqli.so" >> /application/php/lib/php.ini 
/application/php/bin/php -m| grep mysql
pkill php
/application/php/sbin/php-fpm
PHP gettext	on		warning

原因:缺少一个模块:该模块支持中文模式
解决:到源码包里的

cd /root/php-5.5.32/ext
cd gettext/                 # 动态扩容,phpize必须到目录下才能执行
/application/php/bin/phpize
./configure --with-php-config=/application/php/bin/php-config # 再次编译
make && make install
echo "extension = gettext.so " >> /application/php/lib/php.ini
pkill php-fpm                     # 重启生效
/application/php/sbin/php-fpm
/application/php/bin/php -m  # 查看编译参数(模块)

解决过程

[root@Aige ext]# cd gettext/
[root@Aige gettext]# ls
config.m4  config.w32  CREDITS  gettext.c  gettext.dsp  gettext.lo  gettext.o  php_gettext.h  tests
[root@Aige gettext]# /application/php/bin/phpize 
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212
posted @ 2017-04-19 20:42  汉克书  阅读(660)  评论(0编辑  收藏  举报