道北吴彦祖 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>
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