Zabbix3的離線安裝

背景與環境

因爲實際狀況需求,zabbix在局域網中進行部署,遇到許多問題,在此記錄。php

  • 操做系統:CentOS 6.9(使用的最小安裝)
  • zabbix版本:zabbix-3.0.13(LTS)
  • php版本:php-5.6.32(必需要使用5.4及以上的版本
  • 關閉iptables和selinux
  • 須要本地的yum源
  • 調整本機的硬件和系統時鐘,與現實狀況一致
  • 還有一些須要下載的,後面再說明

1、Mysql安裝與配置

// (1)安裝
# yum install -y mysql-server mysql-devel

// (2)開啓
# service mysqld start

// (3)修改密碼爲root
# /usr/bin/mysqladmin -u root password 'root'

// (4)設置root用戶的遠程登陸
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
mysql> flush privileges;

設置UTF8

(1)修改/etc/my.cnfhtml

# 在[mysqld]下添加utf8
[mysqld]
...
default-character-set=utf8

(2)重啓mysql服務mysql

# service mysqld restart

(3)修改其餘字符集linux

# mysql -uroot -p
// 查看字符集,除了database其他都是 latin1
mysql> show variables like "% character %";
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary|
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | latin1 |
| character_sets_dir | /usr/share/mysql/charsets/ |

// 修改這些字符集。
//注:filesystem不用修改
mysql> set character_set_client=utf8;
mysql> set character_set_connection=utf8;
...
// 修改完查看一下,便可
mysql> show variables like "% character %";
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary|
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |

2、基礎軟件的安裝

基於搭建好本地yum源後方可以使用,否則是須要鏈接互聯網。c++

# yum install gcc gcc-c++ libxml2 libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-devel libcurl-devel libmcrypt-devel bzip2 bzip2-devel readline readline-devel   httpd httpd-devel -y

這些軟件中,大部分是用於php的編譯的,特別是最後一個,用於apache可以識別*.php文件,否則顯示的就是代碼web

3、PHP編譯與安裝

3.1 libmcrypt安裝

(1)下載地址:http://mcrypt.hellug.gr/lib/
(2)編譯安裝sql

# tar -zxvf libmcrypt-2.5.7.tar.gz
# cd libmcrypt-2.5.7
# ./configure --prefix=/usr/local/
# make
# make install

3.2 --enble-opchahe啓用

(1)若是不開啓這個功能,編譯時會遇到錯誤數據庫

configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

(2)在/etc/ld.so.conf的配置文件中添加下面這句apache

/usr/local/lib

效果以下所示vim

# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib

(3)執行命令,便可

# ldconfig

3.3 PHP的編譯安裝

# tar zxvf php-5.6.32.tar.gz 
# cd php-5.6.32
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline --with-apxs2=/usr/sbin/apxs
**(注:apxs2是須要安裝httpd-devel才能使用的)**
# make -j8
# make install

3.4 php-fpm服務配置

(接着上面的目錄)

# cp php.ini-development /usr/local/php/etc/php.ini
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm 

// 添加用戶
# groupadd www
# useradd -g www -s /sbin/nologin -M www

// 開啓php-fpm服務
# service php-fpm start

3.5 添加php命令

編輯 ~/.bash_profile

PATH=$PATH:$HOME/bin
改成
PATH=$PATH:$HOME/bin:/usr/local/php/bin

執行命令,使其生效

# . ~/.bash_profile
# php -v
PHP 5.6.32 (cli) (built: Jan 11 2018 14:53:21) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

3.6 添加php-gd

(1)安裝jpegsrc(下載地址:http://www.ijg.org/

# tar -zxvf jpegsrc.v9b.tar.gz
# cd jpeg-9b/
# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
# make && make install

(2)編譯安裝php-gd

# cd /opt/php-5.6.32/ext/gd/
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg/ --with-png-dir --with-freetype-dir
# make && make install

(3)編輯/usr/local/php/etc/php.ini

添加以下內容

extension=gd.so

(4)重啓php-fpm

# service php-fpm restart

3.7 修改httpd

vi /etc/httpd/conf/httpd.conf

# 添加以下內容
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php

# 查看一下內容是否存在
LoadModule php5_module modules/libphp5.so

3.8 驗證

(1)建立php頁面

# vi /var/www/html/test.php
<?php
phpinfo();
?>

(2)運行httpd

# service httpd start

(3)訪問頁面:localhost/test.php
圖片描述

4、Zabbix編譯與安裝

(1)編譯與安裝

# tar -zxvf zabbix-3.0.13.tar.gz 
# cd zabbix-3.0.13
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --enable-net-snmp --with-libcurl
# make
# make install

(2)修改server配置

# vi /usr/local/zabbix/etc/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=root
DBSocket=/var/lib/mysql/mysql.sock // 查看本地mysql.sock的位置

(3)添加zabbix用戶

# useradd zabbix

(4)添加開機腳本

cd /opt/zabbix-3.0.13

cp misc/init.d/fedora/core5/zabbix_server /etc/rc.d/init.d/zabbix_server
cp misc/init.d/fedora/core5/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd

chmod u+x /etc/rc.d/init.d/zabbix_server
chmod u+x /etc/rc.d/init.d/zabbix_agentd

chkconfig zabbix_server on 
chkconfig zabbix_agentd on

(5)更改腳本路徑

-----更改zabbix_server路徑
vim /etc/init.d/zabbix_server
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"

-----更改zabbix_agentd路徑
vim /etc/init.d/zabbix_agentd
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"

(6)啓動

service zabbix_server start
service zabbix_agented start

(7)驗證端口

# netstat -nltp |grep 10050

tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1193/zabbix_agentd

# netstat -nltp |grep 10051

tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1175/zabbix_server

5、Zabbix-web安裝

(1)拷貝zabbix-web工程到apache目錄

# cp -r /opt/zabbix-3.0.13/frontends/php/* /var/www/html/

(2)添加配置文件

# vi /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai

(3)導入數據庫

先建立一個數據庫,名稱爲zabbix
# mysql -uroot -proot zabbix </opt/zabbix-3.0.13/database/mysql/schema.sql
# mysql -uroot -proot zabbix </opt/zabbix-3.0.13/database/mysql/images.sql
# mysql -uroot -proot zabbix </opt/zabbix-3.0.13/database/mysql/data.sql

6、Zabbix-web嚮導

嚮導配置很簡單,填入數據庫信息便可(與zabbix_server.conf同樣),最後一步略有不一樣。
會顯示一個報錯提示,如圖所示
圖片描述

此時,只要按照英文提示,下載文件再重命名放到/var/www/html/conf/zabbix.conf.php便可。下載的這個文件zabbix.conf.php.example,必定不要從工程目錄中刪除,不然工程會跑不起來。

未完待續...

相關文章
相關標籤/搜索