rhel5.8-LAMP环境搭建
一、LAMP安装前的准备
安装环境:rhel5.8 zabbix-2.4.5 php-5.6.8 MySQL5.6.23
libpng-1.5.9 zlib-1.2.7
(apr,apr-util,fping,iksemel,jpeg,libmcrypt,libmcrypt-devel,pcre 下载安装)使用最新版本。
1、zlib 下载地址:http://zlib.net
在php中使用到的gzip的压缩和输出功能就是用到了zlib库。
2、libxml2 下载地址:ftp://xmlsoft.org/libxml2/
在php中使用到的DOM, libxml, SimpleXML, SOAP, WDDX, XSL, XSLT, XML, XMLReader, XMLRPC ,XMLWriter的扩展到要使用到此库。
3、libcrypt 下载地址:http://mcrypt.sourceforge.net
Mcrypt是PHP的一个扩展,完成了常用加密算法的封装。其实该扩展是对mcrypt标准类库的封装,mcrypt完成了相当多的常用加密算法,如DES, TripleDES, Blowfish (def ault), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 和 GOST加密算法,并且提供了CBC、OFB、CFB 和 ECB 四种块加密的模型。
4、libpng (1.5.18) 下载地址: http://sourceforge.net/projects/libpng/
是一套免费的、公开源代码的程序库,支持对 PNG 图形文件的创建、读写等操作。使用 zlib 程序库作为压缩引擎,zlib 也是著名的 gzip (GNU zip) 所采用的压缩引擎。
5、jpeg8 下载地址:http://www.ijg.org/files/
是一套免费的、公开源代码的程序库,支持对 jpg/jpeg 图形文件的创建、读写等操作。
6、freetype 下载地址:http://www.freetype.org/download.html
FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。
7、autoconf 下载地址:http://ftp.gnu.org/gnu/autoconf/?C=M;O=D
Autoconf是一个用于生成可以自动地配置软件源代码包以适应多种Unix类系统的 shell脚本的工具。GD2用到它
8、GD2 (2.1.0) 下载地址:http://libgd.bitbucket.org/
GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。
8.2、libxpm (最好安装一下,不然安装PHP时,会报相应的错)
让你的程序具有读取xpm格式图像的功能
9、apr 下载地址:http://apr.apache.org/download.cgi
10、apr-util 下载地址:http://apr.apache.org/download.cgi
11、pcre 下载地址:http://www.pcre.org/
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正规表达式库。
12、apache httpd 下载地址:http://httpd.apache.org/download.cgi
13、mysql 下载地址:http://dev.mysql.com/downloads/mysql/
14、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
二、源码包安装依赖包
1、安装zlib
- 解压:tar xvf zlib-1.2.8.tar.gz
- 生成Makefile:./configure --prefix=/usr/local/zlib/
- 编译:make
- 安装:make install
PHP5源代码的配置时,会通过在configure命令的选项中加上"--with-zlib-dir=/usr/local/zlib"选
项,用于指定安装zlib库文件的位置
2、安装libxml2
- 解压:tar xvf libxml2-2.9.0.tar.gz
- 生成Makefile:./configure --prefix=/usr/local/libxml2 --with-zlib=/usr/local/zlib/
- 编译:make
- 安装:make install
PHP5源代码的配置时,会通过在configure命令的选项中加上"--with-libxml-dir=/usr/local/libxml2"选 项,用于指定安装libxml2库文件的位置
3、安装libmcrypt
- 解压:tar xvf libmcrypt-2.5.8.tar.gz
- 生成Makefile:./configure --prefix=/usr/local/libxml2 --with-zlib=/usr/local/libmcrypt/
- 编译:make
- 安装:make install
PHP5源代码的配置时,会通过在configure命令的选项中加上"--with-mcrypt-dir=/usr/local/libmcrypt"选 项,用于指定安装libmcrypt库文件的位置
安装完成libmcrypt库以后,不同的linux系统版本有可能还要安装一下libltdl库。安装方法和前面的步骤相同,可以进入到解压缩的 目录/usr/local/src/libmcrypt-2.5.8下,找到libltdl库源代码所在的目录libltdl,进入这个目录按照下面几个 命令配置、编译、安装就可以了。
4、安装libpng
- 解压:tar xvJf libpng-1.5.18.tar.xz
- 生成Makefile:./configure --prefix=/usr/local/libpng/
- 编译:make
- 安装:make install
PHP5源代码的配置时,会通过在configure命令的选项中加上"--with-libpng-dir=/usr/local/libpng"选
项,用于指定安装libpng库文件的位置
注:libpng与zlib之间有版本兼容性问题,如果版本不合适的会make的时候会报如下的错误
- /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
- 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
- contrib/tools/pngfix.o: In function `zlib_reset':
- /home/fred/root/lamp/libpng-1.6.10/contrib/tools/pngfix.c:2179: <span style="color:#ff0000;">undefined reference to `inflateReset2</span>'
- collect2: ld returned 1 exit status
- make[1]: *** [pngfix] Error 1
- make[1]: Leaving directory `/home/fred/root/lamp/libpng-1.6.10'
- 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
5、安装jpeg8
- 解压:tar xvf jpegsrc.v8d.tar.gz
- 生成Makefile:./configure --prefix=/usr/local/jpeg8/
- 编译:make
- 安装:make install
在安装GD2库配置时,可以在configure命令的选项中加上“--with-jpeg=/usr/local/jpeg8”选项,指定jpeg8库文件的位置。安装PHP时也要指定该库文件的位置。
6、安装freetype
- 解压: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库文件 位置。
三、源码安装mysql、apache、php、zabbix
1、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
2、安装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
3、安装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
4、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安装
- 拷贝 zabbix文件夹到 d:\zabbix 下面
- 进入zabbix目录,进行安装 zabbix_agentd.exe -c d:\zabbix\zabbix_agentd.win.conf –i
启动 zabbix_agentd.exe -c d:\zabbix\zabbix_agentd.win.conf -s
rhel5.8-LAMP环境搭建的更多相关文章
- lamp环境搭建(ubuntu)
系统:Ubuntu14.04 方法一.最简单的在线安装 (参考网址:http://os.51cto.com/art/201307/405333.htm) 具体过程: [1]打开终端,执行命令 # su ...
- LAMP环境搭建教程(原创)
学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我介绍一下LAMP环境的搭建,即Linux.Apache.MySQL.PHP环境. 一. ...
- LAMP环境搭建教程
原文:LAMP环境搭建教程 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我介绍一下LAMP环境的搭建,即Linux.Apache.M ...
- 转载自php100中文网 centos下lamp 环境搭建
学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我介绍一下LAMP环境的搭建,即Linux.Apache.MySQL.PHP环境. 一. ...
- LAMP 环境搭建之源码包编译安装
mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46 Apache版本2.4.7 PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...
- Lamp环境搭建Linux CentOS6.5编译安装mysql5.6
经典web开发组合Lamp环境搭建之mysql安装详解 安装前准备 通过rpm命令检查centos上是否已经安装mysql,然后卸载已经存在的mysql版本 [root@localhost src]# ...
- ubuntu上lamp环境搭建
首先,介绍个彻底删除linux已经安装的软件的方法. sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-5. ...
- linux的基本操作(LAMP环境搭建)
LAMP 环境搭建 经过前部分章节的学习,你已经掌握了linux的基础知识了.但是想成为一名系统管理员恐怕还有点难度,因为好多单位招聘这个职位的时候都要求有一定的工作经验.然而真正的经验一天两天是学不 ...
- lamp环境搭建(centos6.9+apache2.4+mysql5.7+php7.1)
lamp环境搭建(centos6.9+apache2.4+mysql5.7+php7.1) 安装前准备:CentOS 6.9 64位 最小化安装 yum install -y make gcc gcc ...
- LAMP环境搭建问题
//////////////////////////LAMP环境搭建问题///////////////////////////////////////LAMP常见的问题A.安装相关问题(1)MySQL ...
随机推荐
- Linux基础知识(二)
1. 请回答,32位和64位有什么区别呢?什么时候安装32位的,又什么时候安装64位操作系统呢?如何查看系统是32位的还是64位的? 所谓的32位.64位指的是CPU的GPRs(General-Pur ...
- My way on Linux - [Shell基础] - Bash Shell中判断文件、目录是否存在或者判断其是否具有某类属性(权限)的常用方法
Conditional Logic on Files # 判断文件是否存在及文件类型 -a file exists. #文件存在 -b file exists and is a block speci ...
- compass模块----Helpers
Color Stops:在使用CSS3渐变属性生成图片的时候,有时候为了打造更丰富的渐变效果除了声明渐变线上的起始点和终止点的色值,还有声明一些中间点的色值,这些点我们就称之为Color Stops. ...
- JavaScript基础学习
什么是变量! 什么是变量?从字面上看,变量是可变的量;从编程角度讲,变量是用于储存某种/某些数值的存储器.我们可以把变量看做一个盒子, 为了区分盒子,可以用BOX1,BOX2等名称代表不同盒子,BOX ...
- Key lock 的秘密
研究死锁,或者观察sp_lock,有时候最恼人的莫过于你看到下面研究成果的key lock,但是却不知道究竟是哪个page 哪个row被lock住了: Exec sp_lock: 就说上面的key ...
- 不指定order by时Sql的排序
在sql中不指定Order by,排序是按照主键吗?答案是不一定.举个例子: 查询AttendanceEmpRank表,主键是AttendanceEmployeeRankId,而且是聚集索引 ...
- Invalid content was found starting with element 'taglib'”
今天在使用struts-menu制作菜单,在web.xml中写入 <taglib> <taglib-uri>/WEB-INF/struts-menu.tld</ ...
- 简单描述一下XIB与Storyboards,简述它们的优缺点。
参考答案: 我倾向于纯代码开发,因此所提供的参考答案可能具有一定的个人感情,不过还是给大家说说自己的想法. 优点: XIB:在编译前就提供了可视化界面,可以直接拖控件,也可以直接给控件添加约束,更直观 ...
- Python学习笔记整理(四)Python中的字符串..
字符串是一个有序的字符集合,用于存储和表现基于文本的信息. 常见的字符串常量和表达式 T1=‘’ 空字符串 T2="diege's" 双引号 T3=""&quo ...
- OSharp 学习(一)
OSharp3.0 由郭明峰组织开发,已经相对比较完整,从底层代码开始阅读难度比较大. 故采用自上而下的方式,使用到的时候再完善相关功能.希望通过此教程能够找到志同道合的人. 注:请勿抄袭 请参看OS ...