編譯安裝zabbix3.2

来源:http://www.cnblogs.com/meiling12/archive/2016/12/01/6120954.html
-Advertisement-
Play Games

1.1 環境準備 1.2 LAMP安裝 1.2.1 yum安裝httpd 1.2.2 編譯安裝mysql5.6 安裝編譯源碼所需的工具和庫 新增mysql用戶組: groupadd mysql 新增mysql用戶: useradd -g mysql mysql -s /sbin/nologin ch ...


1.1 環境準備

系統環境準備:
redhat 6.6 64位
mysql-5.6.34
php-5.6.28
zabbix-3.2.1

配置前先關閉iptables和SELINUX,避免安裝過程中報錯。
# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux

SELINUX=disabled
zabbix3.2.0對環境的要求 :
MySQL 5.1以上最好是 5.6或者更高的版本
PHP 5.4或者更高的版本

1.2 LAMP安裝

1.2.1 yum安裝httpd

安裝Apahce, PHP, MySQL以及php連接mysql庫組件。
#yum -y install httpd httpd-devel

 

 

1.2.2 編譯安裝mysql5.6

安裝編譯源碼所需的工具和庫

yum install \

make \

gcc \

gcc-c++ \

ncurses-devel \

cmake

 

新增mysql用戶組:

groupadd mysql  

新增mysql用戶:

useradd  -g mysql mysql  -s /sbin/nologin

chmod 755 /home/mysql/

新建MySQL所需要的目錄

新建mysql安裝目錄:

mkdir -p /usr/local/mysql  

新建mysql資料庫數據文件目錄:

mkdir -p /data/mysqldb 

 

編譯安裝:

cmake  \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/data/mysqldb/ \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=all \

-DWITH_SSL=system \

-DMYSQL_TCP_PORT=3306 \

--enable-proxy \

-DWITH_SSL=bundled

 

註:重新運行配置,需要刪除CMakeCache.txt文件

rm -f CMakeCache.txt 
make
make install
 
修改mysql安裝目錄
chown -R mysql:mysql /usr/local/mysql

修改mysql資料庫文件目錄

chown -R mysql:mysql /data/mysqldb
 

初始化配置

進入安裝路徑
# cd /usr/local/mysql
進入安裝路徑,執行初始化配置腳本,創建系統自帶的資料庫和表


# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysqldb --user=mysql

註:在啟動MySQL服務時,會按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會搜索"$basedir/my.cnf"


註意:若在/etc目錄下會存在一個my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會幹擾源碼安裝的MySQL的正確配置,造成無法啟動。


在使用"yum update"更新系統後,需要檢查下/etc目錄下是否會多出一個my.cnf,如果多出,將它重命名成別的。否則,MySQL將使用這個配置文件啟動,可能造成無法正常啟動等問題。

複製mysql服務啟動配置文件

# mv /etc/my.cnf /etc/my.cnf.bak

# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 

 

啟動MySQL

添加服務,拷貝服務腳本到init.d目錄,並設置開機啟動
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 

設置開機啟動
chkconfig mysqld on 
service mysqld start

配置用戶

MySQL啟動成功後,root預設沒有密碼,我們需要設置root密碼。

設置之前,我們需要先設置PATH,要不不能直接調用mysql

修改/etc/profile文件,在文件末尾添加

PATH=/usr/local/mysql/bin:$PATH

export PATH

讓配置立即生效

source /etc/profile

修改資料庫的root密碼:

mysql -uroot  

mysql> SET PASSWORD = PASSWORD('123abc');

或是
# mysqladmin -uroot -p password 123abc
Enter password:        這裡直接回車
Warning: Using a password on the command line interface can be insecure.

若要設置root用戶可以遠程訪問,執行

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;

紅色的password為遠程訪問時,root用戶的密碼,可以和本地不同。

 

配置防火牆


防火牆的3306埠預設沒有開啟,若要遠程訪問,需要開啟這個埠

打開/etc/sysconfig/iptables文件,在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:

-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT

然後保存,並關閉該文件,在終端內運行下麵的命令,刷新防火牆配置:

 service iptables restart 

OK,一切配置完畢,你可以訪問你的MySQL了~


1.2.3編譯安裝PHP5.6


添加依賴應用
yum install -y gcc \

gcc-c++ \

autoconf \

libjpeg \

libjpeg-devel \

libpng \

libpng-devel \

freetype \

freetype-devel \

libpng \

libpng-devel \

libxml2 \

libxml2-devel \

zlib \

zlib-devel \

glibc \

glibc-devel \

glib2 \

glib2-devel \

bzip2 \

bzip2-devel \

ncurses \

curl \

openssl-devel \

db4-devel \

libXpm-devel \

libX11-devel \

gmp-devel \

readline-devel \

libxslt-devel \

expat-devel \

xmlrpc-c \

libcurl \

libcurl-devel 

 

安裝加密擴展庫,先安裝Libmcrypt



1 tar zxvf libmcrypt-2.5.8.tar.gz 
2 
3 cd libmcrypt-2.5.8
4 
5 ./configure
6 
7 make
8 
9 make install

 


編譯安裝

./configure \

--prefix=/usr/local/php \

--with-config-file-path=/etc \

--with-apxs2=/usr/sbin/apxs \

--with-mysql=/usr/local/mysql \

--with-mysqli=/usr/local/mysql/bin/mysql_config \

--enable-inline-optimization \

--enable-fpm \

--enable-soap \

--with-libxml-dir \

--with-xmlrpc \

--with-openssl \

--with-mcrypt \

--with-mhash \

--with-pcre-regex \

--with-sqlite3 \

--with-zlib \

--enable-bcmath \

--with-iconv \

--with-bz2 \

--enable-calendar \

--with-curl \

--with-cdb \

--enable-dom \

--enable-exif \

--enable-fileinfo \

--enable-filter \

--with-pcre-dir \

--enable-ftp \

--with-gd \

--with-openssl-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib-dir  \

--with-freetype-dir \

--enable-gd-native-ttf \

--with-gettext \

--with-gmp \

--with-mhash \

--enable-json \

--enable-mbstring \

--disable-mbregex \

--disable-mbregex-backtrack \

--with-libmbfl \

--with-onig \

--enable-pdo \

--with-pdo-mysql \

--with-zlib-dir \

--with-pdo-sqlite \

--with-readline \

--enable-session \

--enable-shmop \

--enable-simplexml \

--enable-sockets \

--enable-sysvmsg \

--enable-sysvsem \

--enable-sysvshm \

--enable-wddx \

--with-libxml-dir  \

--with-xsl \

--enable-zip \

--enable-mysqlnd-compression-support \

--with-pear
其中--with-apxs2是用來生成Apache的PHP模塊libphp5.so的,不需要可以去掉.

make
make install

php配置

php.ini是php運行核心配置文件
php-fpm.conf是php-fpm進程服務的配置文件
1 # cd php-5.6.28
2 
3 # cp php.ini-production /etc/php.ini
4 
5 # cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
6 
7 # cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
8 
9 # chmod +x /etc/init.d/php-fpm

 

 


fpm測試php配置

# /usr/local/php/sbin/php-fpm -t

[23-May-2016 20:03:52] NOTICE: 

configuration file /usr/local/php/etc/php-fpm.conf test is successful

 

 

添加到server里管理啟動:

# chkconfig --add php-fpm

# chkconfig php-fpm on

# service php-fpm start
Starting php-fpm  done

netstat –anpt
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      705/php-fpm

 


修改PHP預設埠:

vi /usr/local/php/etc/php-fpm.conf

listen = 127.0.0.1:8000
 

1.3配置apache訪問PHP


配置 httpd.conf 讓apache支持PHP



# vi /usr/local/apache/conf/httpd.conf

找到 AddType application/x-gzip .gz .tgz (369)在其下添加如下內

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

DirectoryIndex index.php index.html   //調整首頁文件設置

LoadModule php5_module        /usr/lib64/httpd/modules/libphp5.so  這個模塊會在編譯的自動生成加入進去

 

 


測試頁面:



vi /var/www/html/test.php 

<?php
phpinfo();
?>

 

2.1 下載zabbix源碼包


官網:http://www.zabbix.com/download.php
下載zabbix-3.2.1.tar.gz


安裝zabbix所需的組件(server,agent)

yum -y install curl libcurl-devel net-snmp net-snmp-devel perl-DBI libdbi-dbd-mysql mysql-devel gcc gcc++ make libxml2 libxml2-devel  
 

server: (172.28.3.103)服務端


創建zabbix用戶組與用戶:

# groupadd zabbix
# useradd -g zabbix -s /sbin/nologin zabbix
# tar xzvf zabbix-3.2.1.tar.gz 

編譯安裝:

# cd zabbix-3.2.1
# ./configure --prefix=/usr/local/zabbix-server --enable-server --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-agent --enable-ipv6

make && make install 

 


創建資料庫和授權用戶


說明:數據文件導入的順序不能變,也可以在命令行使用mysql命令導入數據文件

[root@test ~]# service mysqld start

mysql> create database zabbix character set utf8;

mysql> grant all on zabbix.* to zabbix@'localhost' identified by '123456';

mysql> flush privileges;

 

 

導入資料庫sql腳本:

# cd zabbix-3.2.1
在解壓的zabbix目錄下,將database/mysql目錄下三個sql文件導入到zabbix資料庫里。(下麵用的是zabbix用戶來導入文件,這個用戶在資料庫是預設存在的)
# mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql

# mysql -uzabbix -p123456 zabbix < database/mysql/images.sql

# mysql -uzabbix -p123456 zabbix < database/mysql/data.sql
或是
# mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql

# mysql -uzabbix -p123456 zabbix < database/mysql/images.sql

# mysql -uzabbix -p123456 zabbix < database/mysql/data.sql

修改配置文件並啟動

mkdir -p /var/www/zabbix

cp -R frontends/php /var/www/zabbix

chmod 777 /var/www/zabbix/php/conf
 
修改過濾掉註釋的名字
cat /usr/local/zabbix-server/etc/zabbix_server.conf |grep -v "^#" |grep -v "^$" > /usr/local/zabbix-server/etc/zabbix_server.conf.back

我們只需要關註DBHost、DBName、DBUser、DBPassword幾項即可。這幾項是配置zabbix server連接mysql資料庫的參數。
vim /usr/local/zabbix-server/etc/zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456

創建日誌文件存放位置:
mkdir /var/log/zabbix
chown -R zabbix:zabbix /var/log/zabbix
啟動zabbix服務:
/usr/local/zabbix-server/sbin/zabbix_server
 

用server來管理啟動zabbix服務:

# cd zabbix-3.2.1

# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/

# chkconfig --add zabbix_server

# chkconfig zabbix_server on


創建軟鏈接:

ln -s /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/

啟動服務:

service zabbix_server start

agent:  (172.28.3.100)客戶端

創建zabbix用戶組與用戶:

# groupadd zabbix

# useradd -g zabbix -s /sbin/nologin zabbix 

編譯安裝:

# cd zabbix-3.2.1

# ./configure --prefix=/usr/local/zabbix-agent  --enable-agent

make && make install

 

# cd /usr/local/zabbix-agent

# vi etc/zabbix_agentd.conf

LogFile=/var/log/zabbix/zabbix_agentd.log

Server=172.28.3.103

ServerActive=172.28.3.103

Hostname=172.28.3.100

用server來管理啟動zabbix服務:

# cd zabbix-3.2.1

# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

# chkconfig --add zabbix_agentd

# chkconfig zabbix_agentd on

創建軟鏈接:

# ln -s /usr/local/zabbix/sbin/zabbix_agentd/usr/local/sbin/ 

啟動服務:

service zabbix_agentd start

註:若要伺服器端也安裝客戶端相關參數可以參考
http://meiling.blog.51cto.com/6220221/1339389


2.3 配置zabbix web頁面

vim /etc/httpd/conf.d/zabbix.conf

#

# Zabbix monitoring system php web frontend

# 

#Alias /zabbix/usr/share/zabbix

Alias /zabbix /var/www/zabbix/php 

<Directory "/var/www/zabbix/php">

    Options FollowSymLinks

       AllowOverride None

       Order allow,deny

       Allow from all

    #Require all granted

    <IfModule mod_php5.c>

        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 Europe/Riga

        php_value date.timezone Asia/Chongqing

    </IfModule>

</Directory>

其中php_value date.timezone Asia/Chongqing主要是定義php的時區。

 

最後重啟apache,zabbix服務,如下:

services  httpd restart

services zabbix_server restart

然後訪問http://172.28.3.103/zabbix/setup.php這個地址,如下進行安裝:

 

完成後即可登錄:zabbix預設的用戶名和密碼是Admin/zabbix

 

如果創建zabbix.conf.php文件這一步有報錯話,可以手動下載好那個文件在相應目錄創建zabbix.conf.php文件複製裡面的內容即可:

vi /var/www/zabbix/php/conf/zabbix.conf.php

<?php

// Zabbix GUI configuration file.

global $DB;

 

$DB['TYPE']     = 'MYSQL';

$DB['SERVER']   = '172.28.3.103';

$DB['PORT']     = '3306';

$DB['DATABASE'] = 'zabbix';

$DB['USER']     = 'zabbix';

$DB['PASSWORD'] = 'zabbix';

 

// Schema name. Used for IBM DB2 and PostgreSQL.

$DB['SCHEMA'] = '';

 

$ZBX_SERVER      = '172.28.3.103';

$ZBX_SERVER_PORT = '10051';

$ZBX_SERVER_NAME = '';

 

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.安裝FTP服務 滑鼠桌面右擊個性化-卸載程式-打開或關閉windows功能 2.在IIS控制面板里添加FTP站點 下一步 下一步 滑鼠右擊 下一步 下一步 3.配置ftp站點 4.測試站點是否正常工作 ftp://192.168.1.101 ...
  • 查詢是否安裝了apache rpm -qa |grep httpd yum install httpd 安裝 service httpd start 啟動 測試Apache伺服器 註意:防火牆的配置 這是預設的防火牆策略,應該從瀏覽器訪問能夠通過,可是還是被擋了,當我iptables -F清除所有規 ...
  • ...
  • Memcached 是一個高性能的分散式記憶體對象緩存系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中緩存數據和對象來減少讀取資料庫的次數,從而提高動態、資料庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語... ...
  • Hi,大家好!我是CrazyCatJack。最近在學習Linux內核的配置、編譯及Makefile文件。今天總結一下學習成果,分享給大家^_^ 1.解壓縮打補丁 首先是解壓縮你獲取到的Linux內核。這裡我用到的是linux.2.22.6版本的內核。在Linux下命令行通過tar xjf linux ...
  • 實驗環境: 操作系統為 Centos 7.2 IP hostName 192.168.190.132 node132 192.168.190.139 node139 192.168.190.140 n... ...
  • ...
  • #ifndef lxx_hss_dbg_hss #define lxx_hss_dbg_hss /**************************************************************************************************\ *... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...