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