(转)CentOS6环境下编译部署LAMP平台

道北吴彦祖 2012-02-02

本文描述在Linux环境下搭建LAMP平台,所用软件均为最新版,CentOS6.0+Apache2.2.21+MySQL5.5.17+PHP5.3.8。

L部分就不用说了吧,下面按照AMP的顺序挨个操作。

0、准备工作

检查依赖包是否安装:

#rpm-qazlib-devellibxml2-devellibjpeg-develfreetype-devellibpng-devel

关闭防火墙

#serviceiptablesstop;

关闭selinux

#vi/etc/selinux/config

修改

SELINUX=enforcing

为:

SELINUX=disabled

安装libiconv

#wgethttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.10.tar.gz

#tarxvfzlibiconv-1.10.tar.gz

#cdlibiconv-1.10

#./configure--prefix=/usr/local/webserver/libiconv

#make&&makeinstall

安装cronolog日志轮循

#wgethttp://cronolog.org/download/cronolog-1.6.2.tar.gz

#tarxvfzcronolog-1.6.2.tar.gz

#cdcronolog-1.6.2

#./configure--prefix=/usr/local/webserver/cronolog

#make&&makeinstall

1、安装apache

apache官网:http://httpd.apache.org/download.cgi

安装步骤如下:

#wgethttp://mirror.bjtu.edu.cn/apache//httpd/httpd-2.2.21.tar.gz

#tarxvfzhttpd-2.2.21.tar.gz

#cdhttpd-2.2.21

#./configure\

--prefix=/usr/local/webserver/apache2.2.21\

--enable-deflate\

--enable-headers\

--enable-modules=so\

--enable-so\

--with-mpm=worker\

--enable-rewrite\

--enable-cgi

#make

#makeinstall

2、安装mysql

MySQL官网:http://dev.mysql.com/downloads/

注,本步非必须,如果php需要连接mysql数据库,那么就必须在该server端安装mysql客户端(当然直接装mysql服务端也是可以的),为了简便起见,这里直接选择rpm方式安装mysql的client,源码编译方式可以参考三思笔记:源码编译方式安装MySQL5.5

#rpm-ivhMySQL-client-5.5.17-1.linux2.6.x86_64.rpm

3、安装php

PHP官网:http://www.php.net/downloads.php

安装步骤如下:

#wgethttp://cn2.php.net/get/php-5.3.8.tar.gz/from/this/mirror

#tarxvfzphp-5.3.8.tar.gz

#cdphp-5.3.8

./configure\

--prefix=/usr/local/webserver/php\

--with-apxs2=/usr/local/webserver/apache2.2.21/bin/apxs\

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

--with-freetype-dir\

--with-gd\

--with-zlib\

--with-jpeg-dir\

--with-png-dir\

--with-iconv=/usr/local/webserver/libiconv\

--enable-short-tags\

--enable-sockets\

--enable-zend-multibyte\

--enable-soap\

--with-openssl\

--enable-mbstring\

--enable-static\

--enable-gd-native-ttf\

--with-curl\

--with-xsl\

--enable-ftp\

--with-libxml-dir

#make

#makeinstall

#cpphp.ini-production/usr/local/webserver/php/lib/php.ini

提示:编译过程中可能会提示:

configure:error:libjpeg.(a|so)notfound.

configure:error:libpng.(a|so)notfound.

configure:error:libXpn.(a|so)notfound.

这类错误,如果确认系统安装了这些包(可以通过rpm-qa查询),那么一般是由于相应的链接文件未被正确找到导致的,对于这种情况,有两种解决方案:

1、重新源码编译安装这些包,而后在configure时通过相应参数指定具体的目录

2、可以手动通过rpm-ql查看这些包的安装路径,而后将相应的so文件复制(rpm安装可能会存在于/usr/lib64下)到/usr/lib中,然后再重新执行configure即可。

如果编译过程中遇到下列信息:

PEARpackagePHP_Archivenotinstalled:generatedpharwillrequirePHP'spharextensionbeenabled.

这说明没有安装PEAR,解决方案有两种:

1、./configure时附加--without-pear

2、从http://pear.php.net/go-pear下列未打包的pear安装包并执行,步骤如下:

#wgethttp://pear.php.net/go-pear.phar

#/usr/local/webserver/php/bin/phpgo-pear.phar

4、安装php扩展

本步非必须,安装memcache客户端是为了使PHP能够连接Memcache,如果没有这项需求,可以不安装。

官网:http://pecl.php.net/package/memcache

安装步骤如下:

#wgethttp://pecl.php.net/get/memcache-2.2.6.tgz

#tarxvfzmemcache-2.2.6.tgz

#cdmemcache-2.2.6

#/usr/local/webserver/php/bin/phpize

#./configure--with-php-config=/usr/local/webserver/php/bin/php-config

#make

#makeinstall

5、配置apache

Apache的定制性比较强,以下所做改动仅做演示,实际上即使不做任何改动,apache也是可以直接启动的。

进入目录:

#cd/usr/local/webserver/apache2.2.21/conf/

#vihttpd.conf

配置监听端口,默认为80,一般在第40行:

Listen80

修改apache进程所属用户,一般在65行:

Userapache

Groupapache

修改机器名,对于网站可以写成域名的形式,一般在第98行

ServerName127.0.0.1:80

设置访问目录时的默认文件名,一般在165行:

<IfModuledir_module>

DirectoryIndexindex.htmlindex.php

</IfModule>

启用虚拟主机:

Includeconf/extra/httpd-vhosts.conf

而后可以编辑conf/extra/httpd-vhosts.conf文件,对网站服务的解析做进一步的设置:

#viextra/httpd-vhosts.conf

增加下列内容:

<VirtualHost*:80>

[email protected]

DocumentRoot"/data/webserver"

ServerNamewww.5ienet.com

ErrorLog"logs/dummy_error_log"

CustomLog"|/usr/local/sbin/cronolog/app/logs/%Y/%m/access_%Y%m%d.log"combinedenv=!IMAG

CustomLog"|/usr/local/sbin/cronolog/app/logs/%Y/%m/%d/access_%Y%m%d%H.log"combined

</VirtualHost>

注,此处可配置性极强,包括日志输出,查询重写等均可在此定义。

配置完成后,可以通过apachectl-t检查配置文件格式是否有误:

#/usr/local/webserver/apache2.2.21/bin/apachectl-t

SyntaxOK

如无问题,启动apache服务:

#/usr/local/webserver/apache2.2.21/bin/apachectlstart

相关推荐