rhel5.8-LAMP環境搭建

1、LAMP安裝前的準備  php

安裝環境:rhel5.8  zabbix-2.4.5  php-5.6.8   MySQL5.6.23 html

libpng-1.5.9 zlib-1.2.7mysql

(apr,apr-util,fping,iksemel,jpeg,libmcrypt,libmcrypt-devel,pcre 下載安裝)使用最新版本。  
linux

一、zlib  下載地址:http://zlib.net 算法

在php中使用到的gzip的壓縮和輸出功能就是用到了zlib庫。sql

二、libxml2   下載地址:ftp://xmlsoft.org/libxml2/shell

在php中使用到的DOM, libxml, SimpleXML, SOAP, WDDX, XSL, XSLT, XML, XMLReader, XMLRPC ,XMLWriter的擴展到要使用到此庫。數據庫

三、libcrypt   下載地址:http://mcrypt.sourceforge.netapache

Mcrypt是PHP的一個擴展,完成了經常使用加密算法的封裝。其實該擴展是對mcrypt標準類庫的封裝,mcrypt完成了至關多的經常使用加密算法,如DES, TripleDES, Blowfish (def ault), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 和 GOST加密算法,而且提供了CBC、OFB、CFB 和 ECB 四種塊加密的模型。服務器

四、libpng (1.5.18) 下載地址: http://sourceforge.net/projects/libpng/

是一套免費的、公開源代碼的程序庫,支持對 PNG 圖形文件的建立、讀寫等操做。使用 zlib 程序庫做爲壓縮引擎,zlib 也是著名的 gzip (GNU zip) 所採用的壓縮引擎。

五、jpeg8 下載地址:http://www.ijg.org/files/

是一套免費的、公開源代碼的程序庫,支持對 jpg/jpeg 圖形文件的建立、讀寫等操做。

六、freetype  下載地址:http://www.freetype.org/download.html

FreeType庫是一個徹底免費(開源)的、高質量的且可移植的字體引擎,它提供統一的接口來訪問多種字體格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。

七、autoconf  下載地址:http://ftp.gnu.org/gnu/autoconf/?C=M;O=D

Autoconf是一個用於生成能夠自動地配置軟件源代碼包以適應多種Unix類系統的 shell腳本的工具。GD2用到它

八、GD2 (2.1.0) 下載地址:http://libgd.bitbucket.org/

GD庫,是php處理圖形的擴展庫,GD庫提供了一系列用來處理圖片的API,使用GD庫能夠處理圖片,或者生成圖片。

8.二、libxpm (最好安裝一下,否則安裝PHP時,會報相應的錯)

讓你的程序具備讀取xpm格式圖像的功能

九、apr    下載地址:http://apr.apache.org/download.cgi

十、apr-util  下載地址:http://apr.apache.org/download.cgi

十一、pcre 下載地址:http://www.pcre.org/

PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正規表達式庫。

十二、apache httpd  下載地址:http://httpd.apache.org/download.cgi

1三、mysql 下載地址:http://dev.mysql.com/downloads/mysql/
1四、php 下載地址:http://www.php.net/
說明:若是安裝環境是rhel6.3,則上述依賴包及mysql、apache、php可直接使用鏡像裏自帶的rpm文件安裝。
#yum install mysql-server httpd php  -y  ---可配置yum源,使用yum命令安裝

安裝依賴包 
#yum install gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml mysql-devel -y

2、源碼包安裝依賴包

一、安裝zlib

  1. 解壓:tar xvf zlib-1.2.8.tar.gz  
  2. 生成Makefile:./configure --prefix=/usr/local/zlib/  
  3. 編譯:make  
  4. 安裝:make install  

PHP5源代碼的配置時,會經過在configure命令的選項中加上"--with-zlib-dir=/usr/local/zlib"選 項,用於指定安裝zlib庫文件的位置

二、安裝libxml2

  1. 解壓:tar xvf libxml2-2.9.0.tar.gz  
  2. 生成Makefile:./configure --prefix=/usr/local/libxml2 --with-zlib=/usr/local/zlib/  
  3. 編譯:make  
  4. 安裝:make install  

PHP5源代碼的配置時,會經過在configure命令的選項中加上"--with-libxml-dir=/usr/local/libxml2"選 項,用於指定安裝libxml2庫文件的位置

三、安裝libmcrypt

  1. 解壓:tar xvf libmcrypt-2.5.8.tar.gz  
  2. 生成Makefile:./configure --prefix=/usr/local/libxml2 --with-zlib=/usr/local/libmcrypt/  
  3. 編譯:make  
  4. 安裝:make install  

PHP5源代碼的配置時,會經過在configure命令的選項中加上"--with-mcrypt-dir=/usr/local/libmcrypt"選 項,用於指定安裝libmcrypt庫文件的位置

安裝完成libmcrypt庫之後,不一樣的linux系統版本有可能還要安裝一下libltdl庫。安裝方法和前面的步驟相同,能夠進入到解壓縮的 目錄/usr/local/src/libmcrypt-2.5.8下,找到libltdl庫源代碼所在的目錄libltdl,進入這個目錄按照下面幾個 命令配置、編譯、安裝就能夠了。

四、安裝libpng

  1. 解壓:tar xvJf libpng-1.5.18.tar.xz  
  2. 生成Makefile:./configure --prefix=/usr/local/libpng/  
  3. 編譯:make  
  4. 安裝:make install  

PHP5源代碼的配置時,會經過在configure命令的選項中加上"--with-libpng-dir=/usr/local/libpng"選 項,用於指定安裝libpng庫文件的位置

注:libpng與zlib之間有版本兼容性問題,若是版本不合適的會make的時候會報以下的錯誤

  1. /bin/sh ./libtool  --tag=CC   --mode=link gcc  -g -O2   -o pngfix contrib/tools/pngfix.o libpng16.la -lm -lz -lm /usr/lib64/libz.so  
  2. libtool: link: gcc -g -O2 -o .libs/pngfix contrib/tools/pngfix.o /usr/lib64/libz.so  ./.libs/libpng16.so -lz -lm -Wl,-rpath -Wl,/usr/local/lib  
  3. contrib/tools/pngfix.o: In function `zlib_reset':  
  4. /home/fred/root/lamp/libpng-1.6.10/contrib/tools/pngfix.c:2179: <span style="color:#ff0000;">undefined reference to `inflateReset2</span>'  
  5. collect2: ld returned 1 exit status  
  6. make[1]: *** [pngfix] Error 1  
  7. make[1]: Leaving directory `/home/fred/root/lamp/libpng-1.6.10'  
  8. make: *** [all] Error 2  

已知 zlib-1.2.8和libpng-1.6.10之間就存在這種問題, zlib-1.2.8和libpng-1.5.18能夠正常安裝,有篇文章對此問題進行了一些描述

http://stackoverflow.com/questions/19738464/pngfix-c2151-undefined-reference-to-inflateres

五、安裝jpeg8

  1. 解壓:tar xvf jpegsrc.v8d.tar.gz  
  2. 生成Makefile:./configure --prefix=/usr/local/jpeg8/  
  3. 編譯:make  
  4. 安裝:make install  

在安裝GD2庫配置時,能夠在configure命令的選項中加上「--with-jpeg=/usr/local/jpeg8」選項,指定jpeg8庫文件的位置。安裝PHP時也要指定該庫文件的位置。

六、安裝freetype

  1. 解壓:tar xvf freetype-2.5.2.tar.gz  

  2.設置環境變量:  

  export LIBPNG_CFLAGS="-I/usr/local/libpng/include"  

  export LIBPNG_LDFLAGS="-L/usr/local/libpng/lib"  

  3.生成Makefile:./configure --prefix=/usr/local/freetype/  

  編譯:make  

  安裝:make install  

若是安裝成功將會在/usr/local/freetype目錄下存在bin,include,lib和share四個目錄。並在安裝GD2庫時, 經過configure命令選項中加上「--with-freetype=/usr/local/freetype/」選項,指定freetype庫文件 位置。

3、源碼安裝mysql、apache、php、zabbix

一、mysql使用最新版本的rpm包安裝。

安裝完mysql數據庫後,建立用戶、受權及導入zabbix腳本

建立zabbix用戶及組

# groupadd zabbix 

# useradd –g zabbix zabbix

service mysql start  --啓動mysql

建立zabbix數據庫及受權
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to 'zabbix'@'%';

或:mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

導入zabbix相關的sql腳本:
[root@rusky /]# cd /usr/share/doc/zabbix-server-mysql-2.4.4/create/
[root@rusky /]# ls 
data.sql  images.sql  schema.sql

# mysql -uroot -p zabbix < schema.sql
# mysql -uroot -p zabbix < images.sql
# mysql -uroot -p zabbix < data.sql

二、安裝apache

Apache部署
1. 解壓縮tar包
# tar zxvf httpd-2.2.19.tar
2. 編譯apache
# ./configure --prefix=/data/apache2 --enable-so --enable-mods-shared=most --with-mpm=worker
3. 安裝
# make && make install
4. 創建apche用戶和apache組
# groupadd apache
# useradd –g apache apache
5. 啓動apache
# /usr/local/apache2/bin/apachectl start
6. 加入開機啓動
# echo "/usr/local/apache2/bin/apachectl start"  >> /etc/rc.local

三、安裝php

3.1 Yum安裝依賴

# yum install –y libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetpyp-devel flex gd curl-devel

3.2 解壓tar包

tar zxvf php-5.3.6.tar

3.3 編譯PHP

# ./configure --prefix=/data/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-gd --with-freetype-dir --with-jpeg-dir --with-png-dir --with-mysql=/usr/local/mysql --with-zlib --with-config-file-path=/etc --bindir=/usr/bin --sbindir=/usr/sbin --with-curl --with-exec-dir=/usr/bin --enable-xml --with-xmlrpc=shared --enable-magic-quotes --enable-sockets --enable-mbstring=all --with-pdo-mysql=/usr/local/mysql --with-gettext

3.4 安裝

# make && make install

3.5 整合PHP到Apache

在apache的配置文件 httpd.conf中加入php的配置

AddType application/x-httpd-php .php

DirectoryIndex後的 index.html修改或添加index.php

3.6 添加bcmath擴展模塊

# cd php-5.3.6.tar/ext/bcmath/

# phpize

# ./configure --with-bcmath --with-php-config=/usr/bin/php-config

# make && make install

3.7 根據安裝完成後指定的目錄在php.ini中配置bcmath模塊

php.ini文件的配置:

加入擴展文件的路徑:extension_dir=extension_dir="/opt/data/php5/lib/php/extensions/no-debug-zts-20131226/"   填寫實際路徑

加入extension=bcmath.so  --加入bcmath模塊。根據須要,也可加入其它模塊。

3.8 重啓Apache

# /usr/local/apache2/bin/apachectl restart

提示:編譯安裝完成後,沒有php.ini配置文件

須要手動把php源安裝文件目錄下的php.ini-production複製到/etc/目錄下,並重命名爲php.ini

四、zabbix-server部屬

4.1 創建zabbix 用戶 zabbix 組  --在部屬mysql用戶時已建立zabbix用戶及組,這裏不用建立

# groupadd zabbix

# useradd –g zabbix zabbix

4.2 yum安裝依賴包

# yum install –y yum net-snmp-devel

4.3 解壓tar包

# tar zxvf zabbix-2.0.6.tar.gz

4.4 編譯zabbix

# ./configure --prefix=/data/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl

4.5 修改zabbix的配置文件

修改zabbix的配置文件 /usr/local/zabbix/etc/zabbix_server.conf

修改DBName=zabbix

DBUser= zabbix

DBPassword=實際密碼

 4.6 拷貝zabbix的php頁面到apache的頁面目錄下並更名爲zabbix

# cp -r /data/ww/zabbix/zabbix-2.0.6/frontends/php /data/apache2/htdocs/zabbix    

若是apache是rpm安裝的,則應該複製到/var/www/...目錄下

4.7 拷貝zabbix的啓動腳本到 /etc/init.d 下

# cp /data/ww/zabbix/zabbix-2.0.6/misc/init.d/fedora/core/ zabbix_* /etc/init.d/

4.8 添加zabbix的服務端口

zabbix-agent   10050/tcp               # Zabbix Agent

zabbix-agent   10050/udp              # Zabbix Agent

zabbix-trapper  10051/tcp               # Zabbix Trapper

zabbix-trapper  10051/udp               # Zabbix Trappe

4.9 修改php.ini

date.timezone = Asia/Shanghai

post_max_size = 16M

max_execution_time = 300

msx_input_time = 300

4.10 重啓apache

4.11 Web配置服務器

其它:

LAMP環境搭建若是是在rhel6.0以上版本,則很是容易,由於系統鏡像的rpm包裏自己就有所須要的apache-httpd,php,mysql及其它依賴包,配置本地yum源後,直接yum命令安裝便可。zabbix從官網下載rpm包安裝也很容易。

若是是rhel6.0如下,如本次安裝的環境爲rhel5.8,系統自帶的PHP的rpm包版本過低,致使安裝好後zabbix檢查環境不經過,而後下載最新版本的php源碼,編譯安裝,各類折騰,各類蛋爆的問題。

總之,在安裝過程當中注意安裝依賴包的順序、版本,還有最後安裝php擴展,每一步安裝過程當中注意不要出問題,忽略小的error及warnning都有可能致使最後zabbix在初始檢查安裝環境時失敗。

四 Agent端安裝

1.1   Linux-agent安裝(參考例)

      創建zabbix 用戶 zabbix 組

# groupadd zabbix

# useradd –g zabbix zabbix

     安裝配置zabbix

# tar zxvf zabbix-2.0.6.tar.gz  

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

# make install

# cp /data/ww/zabbix/zabbix-2.0.6/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

# vi /etc/init.d/zabbix_agentd   修改目錄

# vi /usr/local/zabbix/etc/zabbix_agentd.conf  修改監控主機ip

# chown -R zabbix:zabbix /usr/local/zabbix/

# /etc/init.d/zabbix_agentd start

# ps -ef | grep zabbix

     安裝配置agent端完成 

 查看 /tmp/zabbix_agentd.log 有沒有error

telnet zabbixServer IP   10050/10051通  -server端偵聽在10051端口,客戶端偵聽在10050端口

1.2   Windows-agent安裝

  1. 拷貝 zabbix文件夾到 d:\zabbix 下面
  2. 進入zabbix目錄,進行安裝 zabbix_agentd.exe -c d:\zabbix\zabbix_agentd.win.conf –i

啓動  zabbix_agentd.exe -c d:\zabbix\zabbix_agentd.win.conf -s

相關文章
相關標籤/搜索