CentOS65下搭建LAMP环境源码编译方式.docx
- 文档编号:5308806
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:22
- 大小:204.11KB
CentOS65下搭建LAMP环境源码编译方式.docx
《CentOS65下搭建LAMP环境源码编译方式.docx》由会员分享,可在线阅读,更多相关《CentOS65下搭建LAMP环境源码编译方式.docx(22页珍藏版)》请在冰豆网上搜索。
CentOS65下搭建LAMP环境源码编译方式
CentOS6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP,WAMP,MAMP等。
这里我介绍一下LAMP环境的搭建,即Linux、Apache、MySQL、PHP环境。
一、首先安装操作系统
操作系统:
centos6.5
操作系统安装步骤,此处不再详述。
备注:
服务器系统采用最小化安装,安装一下GCC编译工具和一个桌面即可。
如下图所示:
由于安装系统的时候我是最小化安装,只安装了一个桌面,GCC编译工具也是系统装完之后安装的,所以没有默认的LAMP环境,如下图示:
如果安装的时候有选择默认全部安装,就已经安装了LAMP环境,但是相对版本较低,而且安装的路径等可能不是我们想要的结果。
所以这里顺便介绍一下,如果存在默认的LAMP环境,进行卸载的方法,以apache为例:
#rpm-qa|grep-ihttd//查询系统中已安装的Apache相关软件包
#servicehttpdstop//如果apache已开启,停止运行apache服务器
#rpm-ehttpd-xxx--nodeps//卸载apache服务器
php、mysql卸载方法同上。
【搭建LAMP环境须知】
搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按照Apache->MySQL->PHP的顺序安装。
但是在安装PHP之前,应先安装PHP5需要的最新版本库文件,例如libxml2、libmcrypt,以及GD2库等文件。
安装GD2库是为了让PHP5支持GIF、PNG和JPEG图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype和jpegsrc等库文件。
而且中间还会穿插安装一些软件。
二、LAMP安装前的准备
1、获取软件包
httpd-2.4.9.tar.gzhttp:
//httpd.apache.org/
mysql-5.7.4.tar.gz
php-5.5.14.tar.gz
phpMyAdmin-4.2.5-all-languages.tar.gz
libxml2-2.9.0.tar.gzftp:
//xmlsoft.org/libxml2/
libmcrypt-2.5.8.tar.gzftp:
//mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/
libgd-2.1.0.tar.gzhttps:
//bitbucket.org/libgd/gd-libgd/downloads
zlib-1.2.8.tar.gz
autoconf-2.69.tar.gzhttp:
//ftp.gnu.org/gnu/autoconf/
freetype-2.5.3.tar.gzhttp:
//download.savannah.gnu.org/releases/freetype/
libpng-1.6.12.tar.gzftp:
//ftp.simplesystems.org/pub/libpng/png/src/
jpegsrc.v9a.tar.gzhttp:
//www.ijg.org/files/
ZendGuard-5_5_0.tar.gz
apr-1.5.1.tar.gzhttp:
//apr.apache.org/download.cgi
apr-util-1.5.3.tar.gzhttp:
//apr.apache.org/download.cgi
pcre-8.35.zip
把上面下载的16个源代码包放到linux系统下的/usr/local/src/LAMP目录中
2、编译工具安装
如果安装系统的时候已经安装了GCC编译工具,则显示上图中的信息,如果没有安装,可以使用下面的方法进行安装:
检查是否安装:
[root@centos6~]#rpm-qmakegccgcc-c++ zlib-devel libaio
备注:
安装libpng时候需要zlib-devel 安装mysql时候需要libaio
如果没安装则yum安装:
[root@centos6~]#yum-yinstallmakegccgcc-c++ zlib-devellibaio
3、配置防火墙,开启80端口、3306端口
编辑/etc/sysconfig/iptables文件,配置防火墙
[root@centos6~]#vi/etc/sysconfig/iptables
添加下面两句,开启相应端口:
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT#允许80端口通过防火墙
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT#允许3306端口通过防火墙
备注:
很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面如下所示:
########################添加好之后防火墙规则如下所示########################
#Firewallconfigurationwrittenbysystem-config-firewall
#Manualcustomizationofthisfileisnotrecommended.
*filter
:
INPUTACCEPT[0:
0]
:
FORWARDACCEPT[0:
0]
:
OUTPUTACCEPT[0:
0]
-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
-AINPUT-picmp-jACCEPT
-AINPUT-ilo-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT
-AINPUT-jREJECT--reject-withicmp-host-prohibited
-AFORWARD-jREJECT--reject-withicmp-host-prohibited
COMMIT
########################添加好之后防火墙规则如上所示########################
最后重启防火墙使配置生效
[root@centos6~]#/etc/init.d/iptablesrestart
4、关闭SELINUX
编辑/etc/selinux/config文件
[root@centos6~]#vi/etc/selinux/config
详细修改如下所示:
#SELINUX=enforcing#注释掉
#SELINUXTYPE=targeted#注释掉
SELINUX=disabled#增加
:
wq#保存,关闭
[root@centos6~]#shutdown-rnow#重启系统
三、开始搭建LAMP环境
安装时的主要步骤:
(1)解压tar.gz为后缀的压缩包软件
LAMP环境搭建所需要的每个软件的源代码文件,都是以.tar.gz提供给我们的打包压缩文件,所以我们必须将其解压再解包。
可通过命令#tarzxvftarfile.tar.gz达到目的。
(2)在linux系统中源代码包安装过程
进行解压后的目录,LAMP环境搭建所需要的软件都使用C语言开发的,所以安装源代码文件最少需要配置(configure)、编译(make)、安装(makeinstall)三个步骤。
1、确认搭建LAMP所需要的环境是否已经安装
此步骤前面已经完成。
2、编译安装libxml2
注:
libxml2是一个xml的c语言版的解析器,不仅支持c语言,还支持c++、php、Pascal、Ruby、Tcl等语言的绑定
[root@centos6LAMP]#pwd
/usr/local/src/LAMP
[root@centos6LAMP]#tar-zxvflibxml2-2.7.8.tar.gz
[root@centos6LAMP]#cd./libxml2-2.7.8
[root@centos6libxml2-2.7.8]#./configure --prefix=/usr/local/libxml2/
[root@centos6libxml2-2.7.8]#make
[root@centos6libxml2-2.7.8]#makeinstall
注:
选项--prefix=/usr/local/libxml2作用是将软件安装到/usr/local/libxml2目录下。
如果安装成功以后,在/usr/local/libxml2/目录下将生成bin,include,lib,share四个目录。
在后面安装PHP5源代码的配置时,会通过在configure命令的选项中加上"--with-libxml-dir=/usr/local/libxml2"选项,用于指定安装libxml2库文件的位置。
3、编译安装libmcrypt
注:
libmcrypt是加密算法扩展库。
支持DES,3DES,RIJNDAEL,Twofish,IDEA,GOST,CAST-256,ARCFOUR,SERPENT,SAFER+等算法。
[root@centos6LAMP]#pwd
/usr/local/src/LAMP
[root@centos6LAMP]#tar-zxvflibmcrypt-2.5.8.tar.gz
[root@centos6LAMP]#cd./libmcrypt-2.5.8
[root@centos6libmcrypt-2.5.8]#./configure --prefix=/usr/local/libmcrypt/
[root@centos6libmcrypt-2.5.8]#make;makeinstall
如果安装成功就会在/usr/local/libmcrypt/目录下生成bin,include,lib,man,share五个目录。
然后在安装PHP5源代码包的配置时,就可以通过configure命令加上“--with-mcrypt-dir=/usr/local/libmcrypt”选项,指定这个libmcrypt库文件的位置。
如./configure时报错:
configure:
error:
C++compilercannotcreateexecutables。
解决方案:
运行下面命令,然后重新configure(配置)
yuminstallgccgcc-c++gcc-g77
安装完成libmcrypt库以后,不同的linux系统版本有可能还要安装一下libltdl库。
安装方法和前面的步骤相同,可以进入到解压缩的目录/usr/local/src/libmcrypt-2.5.8下,找到libltdl库源代码所在的目录libltdl,进入这个目录按照下面几个命令配置、编译、安装就可以了。
[root@localhostlibltdl]#pwd
/usr/local/src/libmcrypt-2.5.8/libltdl//进入软件源代码目录
[root@localhostlibltdl]#./configure–enable-ltdl-install//配置ltdl库的安装
[root@localhostlibltdl]#make//编译
[root@localhostlibltdl]#makeinstall//安装
4、编译安装zlib
注:
zlib是提供数据压缩用的函式库
[root@centos6LAMP]#pwd
/usr/local/src/LAMP
[root@centos6LAMP]#tar-zxvfzlib-1.2.5.tar.gz
[root@centos6LAMP]#cd./zlib-1.2.5
[root@centos6zlib-1.2.5]#./configure --prefix=/usr/local/zlib/
[root@centos6zlib-1.2.5]#make;makeinstall
如果安装成功将会在/usr/local/zlib目录下生成include,lib,share三个目录。
在安装PHP5配置时,在configure命令的选项中加上“--with-zlib-dir=/usr/local/libmcrypt”选项,用于指定zlib库文件位置。
5、编译安装libpng
[root@centos6LAMP]#pwd
/usr/local/src/LAMP
[root@centos6LAMP]#tar-zxvflibpng-1.5.4.tar.gz
[root@centos6LAMP]#cd./libpng-1.5.4
[root@centos6libpng-1.5.4]#
./configure--prefix=/usr/local/libpng/ --enable-shared
[root@centos6libpng-1.5.4]#make;makeinstall
在./configure--prefix=/usr/local/libpng这步最后会提示:
configure:
error:
ZLibnotinstalled
解决方法如下:
1)进入zlib的源文件目录,执行命令makeclean,清除zlib;
2)重新配置./configure,后面不要接--prefix参数;
3)make&&makeinstall;
4)进入libpng目录,执行命令./configure--prefix=/usr/local/libpng;
5)make&&makeinstall;
6)安装成功.
如果安装成功将会在/usr/local/libpng目录下生成bin,include,lib和share四个目录。
在安装GD2库配置时,通过在configure命令选项中加上“--with-png=/usr/local/libpng”选项,指定libpng库文件的位置。
6、编译安装jpeg
注:
安装GD2库前所需的jpeg8库文件,需要自己手动创建安装需要的目录,它们在安装时不能自动创建。
[root@centos6LAMP]#pwd
/usr/local/src/LAMP
[root@centos6LAMP]#tar-zxvfjpegsrc.v8c.tar.gz
[root@centos6LAMP]#cd./jpeg-8c/
[root@centos6jpeg-8c]#mkdir/usr/local/jpeg/(创建jpeg软件的安装目录)
[root@centos6jpeg-8c]#mkdir/usr/local/jpeg/bin/(创建存放命令的目录)
[root@centos6jpeg-8c]#mkdir/usr/local/jpeg/lib/(创建jpeg库文件所在目录)
[root@centos6jpeg-8c]#mkdir/usr/local/jpeg/include/(创建存放头文件目录)
[root@centos6jpeg-8c]#mkdir-p/usr/local/jpeg/man/man1(建立存放手册的目录)
[root@centos6jpeg-8c]# ./configure--prefix=/usr/local/jpeg/\
>--enable-shared\
>--enable-static(建立共享库使用的GNU的libtool和静态库使用的GNU的libtool)
[root@centos6jpeg-8c]#make;makeinstall
在安装GD2库配置时,可以在configure命令的选项中加上“--with-jpeg=/usr/local/jpeg8”选项,指定jpeg8库文件的位置。
安装PHP时也要指定该库文件的位置。
7、编译安装freetype
[root@centos6LAMP]#pwd
/usr/local/src/LAMP
[root@centos6LAMP]#tar-zxvffreetype-2.4.6.tar.gz
[root@centos6LAMP]#cd./freetype-2.4.6
[root@centos6freetype-2.4.6]#
./configure--prefix=/usr/local/freetype/--enable-shared
[root@centos6freetype-2.4.6]#make;makeinstall
如果安装成功将会在/usr/local/freetype目录下存在bin,include,lib和share四个目录。
并在安装GD2库时,通过configure命令选项中加上“--with-freetype=/usr/local/freetype/”选项,指定freetype库文件位置。
8、编译安装autoconf
唯一注意的地方是configure时,不用指定路径。
[root@centos6LAMP]#pwd
/usr/local/src/LAMP
[root@centos6LAMP]#tar-zxvfautoconf-2.68.tar.gz
[root@centos6LAMP]#cd./autoconf-2.68
[root@centos6autoconf-2.68]#./configure
[root@centos6autoconf-2.68]#make;makeinstall
9、 编译安装GD
[root@centos6LAMP]#pwd
/usr/local/src/LAMP
[root@centos6LAMP]#tar-zxvfgd-2.0.35.tar.gz
[root@centos6LAMP]#cd./gd-2.0.35
[root@centos6gd-2.0.35]#./configure\ //配置命令
>--prefix=/usr/local/gd\ //指定安装软件的位置
>--with-jpeg=/usr/local/jpeg/\ //指定去哪找jpeg库文件
>--with-png=/usr/local/libpng/\ //指定去哪找png库文件
>--with-zlib=/usr/local/zlib///指定去哪找zlib库文件
>--with-freetype=/usr/local/freetype/ //指定去哪找freetype2.x字体库的位置
[root@centos6gd-2.0.35]#make;makeinstall
如果安装成功会在/usr/local/gd/目录下存在bin、include和lib这三个目录。
在安装PHP5时,通过在configure命令选项中加上“--with-gd=/usr/local/gd”选项,指定GD库文件的位置。
如果报错:
gd_png.c中gdMalloc函数的问题
make[2]:
***[gd_png.lo]Error1
make[2]:
Leavingdirectory`/tmp/gd-2.0.35'
make[1]:
***[all-recursive]Error1
make[1]:
Leavingdirectory`/tmp/gd-2.0.35'
make:
***[all]Error2
解决方案:
vigd_png.c
找到#include"png.h"改成#include"/usr/local/libpng/include/png.h"
如果报错:
unrecognizedoption–with-zlib
那就重新安装一次zlib,注意,需要把原先解压出来的源码删掉,重新解压进行安装。
10、 安装apache
卸载apr、apr-util
[root@centos6LAMP]#yumremoveaprapr-util
编译安装apr-1.5.1.tar.gz
[root@centos6LAMP]#tarzxvfapr-1.5.1.tar.gz
[root@centos6LAMP]#cdapr-1.5.1
[root@centos6apr-1.5.1]#./configure--prefix=/usr/local/apr-httpd/&&make&&makeinstall
编译安装apr-util-1.5.3.tar.gz
[root@centos6LAMP]#tarzxvfapr-util-1.5.3.tar.gz
[root@centos6LAMP]#cdapr-util-1.5.1
[root@centos6apr-util-1.5.3]#./configure--prefix=/usr/local/apr-util-httpd/--with-apr=/usr/local/apr-httpd/&&make&&makeinstall
编译安装pcre-8.35.zip
[root@centos6LAMP]#unzip-opcre-8.35.zip
[root@centos6LAMP]#cdpcre-8.35
[root@centos6pcre-8.35]#./configure--prefix=/usr/local/pcre
[root@centos6pcr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CentOS65 搭建 LAMP 环境 源码 编译 方式