LAMP環境搭建zabbix2.2.0-源碼編譯

-單臺服務器是實現php

轉載請寫明原創自: http://www.cnblogs.com/xiaoxiaoguixia/p/4032355.html html

安裝zabbix可使用兩種方式前端

1 rpm 定製版本的mysql

2 源碼編譯linux

zabbix須要php的支持,和爲了支持GUI界面,因此須要web前端服務器,zabbix的數據有後端數據庫服務器進行存儲,全部搭建zabbix有兩種方案,可使用rpm全自動化安裝,和lamp源碼編譯在結合zabbix的源碼編譯進行!web

 

這裏介紹新版本的mysql5.6和新版本的php5.5和新版本的httpd(apache)進行搭建,過程之中可老本的的使用是不太相同的,第一php支持mysql5.6使用的是mysqli函數,第二apache2.4 和以前版本在配置上也有區別,可是在僅支持zabbix的共鞥效果配置上區別是微觀的!

sql

LAMP的實現數據庫

1 準備數據庫mysql5.6apache

第一採用二進制版本進行安裝,下載能夠到官網www.mysql.com 進行下載vim

這裏採用以下版本:

mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz

安裝步驟:

建立mysql用戶和解壓包,及初始化數據庫
groupadd mysql
useradd -r -g mysql mysql
tar -zxvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
ln -s src/mysql-5.6.21-linux-glibc2.5-x86_64 mysql
cd mysql/
mkdir /data/mysql  #建立數據目錄
chown -R mysql.mysql /data/mysql/
scripts/mysql_install_db --user=mysql --datadir=/data/mysql
cp support-files/mysql.server /etc/init.d/mysqld
 修改啓動配置文件:
修改/etc/init.d/mysqld 中datadir=/data/mysql
basedir 能夠不指定 默認爲/usr/loca/mysql 安裝文件路徑
 
加入系統自啓動
chmod 755 /etc/init.d/mysqld 
chkconfig --add mysqld
chkconfig mysqld on
 
加入環境變量
vim /etc/profile.d/mysql.sh
#!/bin/bash 
PATH=$PATH:/usr/local/mysql/bin
 
修改密碼
mysqladmin -uroot password 'c110123'

 #一下內容是筆者對於myslq的簡易和優化的習慣操做和lamp無關:

#############################################

省略輸入密碼的複雜性
[ root@andy ~]# cat ~/.my.cnf 
[client] 
user=root 
password=c110123 
host='localhost' 
 
若是啓動不了mysql,配置文件無誤,注意是否受系統以前安裝過mysql的影響,以前的mysql命令  路徑可能不一致,由於以前多是rpm包安裝的,卸載事沒有卸載乾淨
 
 
刪除多餘的帳戶
select Host,Password,User from user;
mysql> delete from user where Host='localhost';
 
###########################################
 
#如下內容是筆者對5.6版本mysql的第一認識與LAMP搭建無關#

############################################

mysql> show engines;
可得5.6 默認的引擎是 innodb
 
默認已是一張表一個  表空間(和以前版本默認使用的全部表一個表空間不同)
mysql> show global variables like '%innodb%';

打開應該一些相關的日誌功能:

mysql> show global variables '%log%';  查看日誌相關開啓的狀況

bin-log   記錄任何能改變mysql數據操做的日誌,用於隨時恢復數據庫
slow-query-log  慢查詢日誌
 
實現兩個日誌的開啓,作以下配置,寫入my.cnf 或則直接修改全局變量,筆者建議修改配置文件而後重啓生效
 log_bin =/data/mysql/bin-logs/mysql-bin
binlog_format = mixed 
 
socket = /tmp/mysql.sock
slow_query_log =1
slow_query_log_file=/data/mysql/andy-slow.log
log_bin=/data/mysql/bin-logs/mysql-bin
 
查看慢查詢時間標準:

mysql> show global variables like '%long_query%';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)

注意:慢查詢的標準是(時間依據)  long_query_time | 10.000000         10秒鐘
 
######################################################
 

2 準備httpd(apache)做爲web

版本2.4

下載地址

httpd.apache.com

包:httpd-2.4.10.tar.gz

 

步驟:

cd /usr/local/src

tar -xzvf httpd-2.4.10.tar.gz

cd httpd-2.4.10

./configure --prefix=/usr/local/apache2 --with-included-apr  --with-pcre --enable-mods-shared=most --enable-ssl 
預編譯失敗

缺乏:

 

缺失 APR APR-util

 

configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

 

解決辦法:

 

解決辦法:
將APR和APR-util源碼下載,解壓放到httpd-2.4.3/srclib裏面,並去除版本號

 

 

 

cd/usr/local/src; wget http://mirror.bit.edu.cn/apache//apr/apr-1.5.1.tar.gz

 

wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.4.tar.gz

 

解壓 

 

cp -rf apr-1.5.1 /usr/local/src/httpd-2.4.10/srclib/apr

 

cp -rf apr-util-1.5.4 /usr/local/src/httpd-2.4.10/srclib/apr-util

 

問題解決:注這個問題在http2.2版本中不會出現

make && make install  進行安裝

echo $?  返回0 表示安裝正確

 

啓動apache 
/usr/local/apache2/bin/httpd -k start
[-k start|restart|graceful|graceful-stop|stop]

 

此時能夠測試是否啓動正常(80端口是否 監聽,web頁面是否能夠訪問)

 

3 安裝php做爲http的模塊

包 5.5版本

源碼包:php-5.5.18.tar.bz2

下載地址:www.php.com

步驟:

cd /usr/local/src; tar jxvf php-5.5.18.tar.bz2;

cd php-5.5.18

./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir   --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6 --enable-bcmath --with-mysqli --with-gettext

 

具體須要哪些選項能夠參考zabbix官網: 筆者給出的 是能夠所有包含的

https://www.zabbix.com/documentation/2.2/manual/installation/requirements

注: 在支持zabbix上面有幾個選項是必需要的,否則在後面結合安裝php的GUI上面時候會提醒錯誤

 

cp php.ini-production /usr/local/php/etc/php.ini    #拷貝php配置文件,把樣板文件拷貝到php安裝路徑etc下

注:在編譯過程當中,可能會有不少庫缺失,請yum安裝-devel對應devel模塊,對於--with-mcrypt  相關的這個包,yum默認是不提供的,請百度解決,安裝額外的yum源後者源碼編譯此包,若是有須要請 留言!

4 修改apache配置支持解析php頁面

 vim /usr/local/apache2/conf/httpd.conf

加入在AddType字段處加入

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

加入php能夠做爲首頁

php.index

結果如:

5 測試LAMP的功能

到這裏基本的lamp已經完成,是能夠完成對php頁面的支持,測試php可否和mysql通訊

啓動mysql

啓動httpd

在頁面放置的位置編寫一個php可否鏈接mysql的測試頁

cd /usr/local/apache2/htdocs/ ;vim testmysql.php

<?php
    $conn=mysql_connect('localhost','root','c110123');
    if ($conn)
        echo "connect mysql Success......";
    else
        echo "Failusr.....";
?>
保存退出:
網頁訪問:http://ip/1.php
結果:
若是:結果是這個樣子,說明lamp已經完成
  注:並不能說明運行zabbix上的php能支持mysql,由於zabbix使用的是mysqli,而這個是測試mysql函數!若是編譯php的時候使用了 --with-mysqli 應該是沒問題的
若是:頁面結果顯示Failusr,那麼就有問題,請確保mysql是否啓動,web是否啓動,php可否在httpd上運行!
 
 

 6 安裝zabbix

 包:zabbix2.2 源碼包

zabbix-2.2.4.tar.gz

下載地址:www.zabbix.com 

安裝指導手冊:https://www.zabbix.com/documentation/2.2/manual/installation/install

步驟:

 

步驟1
tar -zxvf zabbix-2.2.0.tar.gz
 步驟2:建立zabbix用戶 
 
groupadd  zabbix
useradd -r -g zabbix zabbix
步驟3: 建立庫
create database zabbix character set utf8 collate utf8_bin;
mysql -u<username> -p<password> zabbix < database/mysql/schema.sql
mysql -u<username> -p<password> zabbix < database/mysql/images.sql
mysql -u<username> -p<password> zabbix < database/mysql/data.sql
 步驟4: 編譯源碼 
 
做爲server和agent 使用如下參數(官網給出)
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
被一下取代(適合本身的場景)
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

注:若是出錯請解決依賴環make && make install


第五步:提供web相關zabbix頁面文件

/usr/local/apache2/htdocs (default directory when installing Apache from source)
 
cd /usr/local/apache2/htdocs ;mkdir zabbix
cp -r /usr/local/src/zabbix-2.2.4/frontends/php/* /usr/local/apache2/htdocs/zabbix/
 
步驟六
 
安裝zabbix
web訪問  http://ip/zabbix
 
在GUI 上面有必要修改php參數vim /usr/local/php/etc/php.ini  根據GUI上面的提示修改max_input 和timezone的參數,在此再也不論述
 
在數據中建立zabbix用於而且密碼是zabbix而且給予相關權限
mysql> grant all privileges on zabbix.* to 'zabbix'@'%' indentified by 'zabbix';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' indentified by 'zabbix';
 
 
 
 
 
根據提示 手動下載保存相關路徑至(/usr/local/apache2/htdocs/zabbix/conf/zabbix.conf.php)
 
 
安裝結束
 
7 啓動zabbix-server 和agent
 
ip/zabbix
使用默認用戶名Admin/zabbix 登入發現zabbix server 未運行
啓動zabbix
 
啓動sever
zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf 
默認配置是 /usr/local/etc/zabbix_server/conf
 
啓動zabbix (做爲sever的服務器)上的agent
zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
 

 

相關文章
相關標籤/搜索