天天看點

Liunx筆記:zabbix編譯安裝

Liunx筆記:zabbix編譯安裝

前言

之前的yum安裝是友善。簡單。但是呢,不友善更新。此處來個編譯安裝。

1.基礎環境準備

[root@Aige ~]# cat /etc/redhat-release CentOS release 6.8 (Final)
[root@Aige ~]# uname -r2.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倉庫的定制

安裝依賴包

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 mcrptrpm -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.gztar 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-opensslmake make installln -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 # 表結構,首先導入

p_w_picpaths.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/p_w_picpaths.sql
[mysql]: source /root/zabbix-3.0.8/database/mysql/data.sql      

5.修改nginx配置檔案

源碼包裡的站點配置檔案。

mkdir -p /application/nginx/html/zabbixcp -a /root/zabbix-3.0.8cp -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.confcp /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 startStarting 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/extcd /root/php-5.5.32/ext/mysqli//application/php/bin/phpize./configure --with-php-config=/application/php/bin/php-configmake && make installecho "extension = mysqli.so" >> /application/php/lib/php.ini 
/application/php/bin/php -m| grep mysqlpkill php/application/php/sbin/php-fpm      
PHP gettext on      warning      
cd /root/php-5.5.32/extcd gettext/                 # 動态擴容,phpize必須到目錄下才能執行/application/php/bin/phpize./configure --with-php-config=/application/php/bin/php-config # 再次編譯make && make installecho "extension = gettext.so " >> /application/php/lib/php.inipkill php-fpm                     # 重新開機生效/application/php/sbin/php-fpm/application/php/bin/php -m  # 檢視編譯參數(子產品)      
[root@Aige ext]# cd gettext/[root@Aige gettext]# lsconfig.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:         20121113Zend Module Api No:      20121212Zend Extension Api No:   220121212