admin 管理员组

文章数量: 1087135


2024年12月24日发(作者:二叉树递归算法理解)

LAMP攻略: LAMP环境搭建,Linux下Apache,MySQL,PHP安装与

配置

之前写过一个red hat 9下的LAMP环境的配置,不过由于版本比较

旧,很多不适用了。

所以决定写一个新的LAMP环境搭建与配置教程。本配置是在

CentOS-5.3 下

以上软件可以直接点击到下载页面下载。

这个配置也基本适用于相应的red hat as 5或fedora版本中的配置

/*********************************************

*

* 作 者: 我不是鱼

* LAMP中文网:

* PHP爱好者站:

* Email: deng5765@

* 博 客: /blog

*

*********************************************/

首先说明一下,这个需要会员,并且回复才可以完全查看。不同意就

不必再往下看了。

之前的一些配置教程中很多人都没有成功,发现大多问题都是出在本

身,虽然对着教程做,但也粗心大意。这个配置教程时我实践可行的,

如果不成功请重新认真检查自己的步骤。

一般情况下,Linux默认安装了Apache。如果已经安装Apache,那

我们就先把它协卸载掉。

怎么知道是否已经安装呢?安装系统是软件都是通过rpm包安装的,

所以可以通过命令

rpm -qa | grep httpd

-qa是指列出所以安装的软件,加上grep httpd,是只列出包含httpd

的所有软件。

如果大家还不熟悉这个命令的话可以记记,下面以及以后的配置都会

用到。

可以看到是已经安装了5_.3 那我们就

把它卸载掉

rpm -e 5_.3

如果出现这样的错误

error: Failed dependencies: httpd >= 2.2.0 is needed by

(installed) 5.i386

是有一定的依赖性。这里要先把5.i386

卸载掉,再卸载apache

rpm -e 5.i386

rpm -e 5_.3

好了,已经把Apache卸载掉了。MySQL和PHP也可以用这个方法检

查和卸载。这里就不再作说明

安装前提

GCC:我们编译源码时需要GCC编译器,所以安装前也先确认已经安

装上了。怎么确认呢?和刚才方法一样。

rpm -qa | grep ^gcc

可以看到我的机子已经安装上了。

libxml2:安装php5需要libxml2。没有装libxml2可能会出现这样

的错误:

configure: error: xml2-config not found. Please check your

libxml2 installation.

所以也要确认是否安装上了。

rpm -qa | grep libxml

可以看到我这台机已经都装上了。如果没有安装上的话,先安装了再

进行下面的操作。

安装Apache

安装所需要的软件包我已经下载到 /usr/local/src,查看里边的文

件有

ls /usr/local/src

好,我们先安装apache。进入软件包目录

cd /usr/local/src

解压apache

tar -zxvf

进入解压的目录

cd httpd-2.2.11

并配置安装

./configure

--enable-rewrite

--enable-mem-cache

这里大略地说一下configure指令。--prefix是按照目录。enable

后面模块选项。这里选择一些常用的模块,so是支持动态链接机制

--prefix=/usr/local/httpd

--enable-expires

--enable-so

--enable-cache

上加载DSO模块。后面装PHP时就会创建一个so的php模块。rewrite

就是常用到的重写。expires是控制HTTP的"Expires:"和

"Cache-Control:"头内容,PHP用header控制缓存时要用到。其他

的就不都说了,具有可以参考Apache

/manu/ap ... #module

然后执行

make

编译源码需要花一定时间,这个和机子的配置有很大关系,我新配还

好,几分钟搞掂。如果配置低的话可能要相当相当的时间,大家要够

耐心。

执行

make install

安装完成后我们启动apache

/usr/local/httpd/bin/apachectl -k start

另外说一下,也可以通过 stop 或者 restart 停止或重启apache

然后在浏览器打开 localhost

不出意外我们可以看到这个页面,表示安装成功了。

安装MySQL

接下来我们安装mysql

回到软件包目录

cd ../

MySQL都是rpm软件包。rpm安装要比源码快很得多。

首先安装mysql server。

rpm -ivh

再安装mysql 客户端

rpm -ivh

再安装mysql的一些库和头文件,这些头文件在安装php并关联mysql

中是需要的。

否则会出现这样的错误:

configure: error: Cannot find MySQL header files under ...

执行

rpm -ivh

安装客户端后我们就可以在命令行。这时的mysql密码是空

mysql -v

查看版本。可以看到的确是我们安装的5.1.32。

先退出mysql命令行,去安装php。

quit

安装PHP

接下来安装php

解压php

tar -zxvf

进入php解压目录

cd php-5.2.9

配置

./configure --prefix=/usr/local/php

--with-config-file-path=/usr/local/lib

--with-apxs2=/usr/local/httpd/bin/apxs

--with-zlib --enable-mbstring --enable-xml

这里也大略说一下configure。--prefix是安装目录。

--with-config-file-path是指定php配置文档所在的目录。

--with-mysql

--with-mysql,安装mysql扩展。--with-zlib安装zlib扩展,前

提是linux已经安装了zlib,未安装可以去掉这个选项。 安装

mbstring和xml扩展。这些都是常用的模块。

执行

make

执行

make install

将php配置文档复制到/usr/local/lib

cp -dist /usr/local/lib/

至此,PHP安装完成。

配置Apache

现在配置apache关联php,打开apache配置文档

vi /usr/local/httpd/conf/

这里是用vi编辑器打开。vi不熟练的话,也可以打开文

件夹中找到该文件,打开直接修改。

输入

/LoadModule

回车,/LoadModule是向下查找 LoadModule。而 ?LoadModule 则是

向上查找。

注意:查找下一个则是按 n 下面的一些查找会用到查找下一个的。

以下内容需要回复才能看到

可以看到 LoadModule php5_module modules/。

这是我们安装时设置好的,但也务必检查一下。如图

输入

/DocumentRoot

回车,查找网站根目录

可以看到我们的根目录是

DocumentRoot "/usr/local/httpd/htdocs"

大家要知道这个根目录,之后说的的根目录就是指这个目录。以后就

可以在这里创建php文件。然后浏览

当然也可以修改根目录的位置,这里我就修改。如果改也要把下面的

这里也改成相应的。

输入

/AddType

回车查找

点击 i 进入插入编辑模式,移动光标

在下面新增

AddType application/x-httpd-php .php

点击 Esc 退出插入编辑模式

输入 /DirectoryIndex

回车查找

在前面新增,如图

这样打开一个目录没有指明那个文件是就默认打开。更具

体可以参考这里

/blog/2/article/

点击 Esc 退出插入编辑模式

输入

:wq

回车。wq是保存退出的意思。

配置PHP

打开php配置文档

vi /usr/local/lib/

修改php时区。php5默认是格林威治时间,不修改的话与中国时间相

差8小时。

输入

/timezone

回车查找

改成 ne = PRC

其中PRC:People's Republic of China 中华人民共和国,

更详细解决方法请参考本论坛的

/bbs/?tid=60

显示notice敬告提示

php5默认关闭notice敬告提示,如果不是做服务器,是在本地调试,

建议打开notice敬告提示.

输入

/error_reporting

回车查找

改成

error_reporting = E_ALL

输入

:wq

回车,保存退出。

配置完成后我们重启apache

/usr/local/httpd/bin/apachectl -k restart

如果出现类似的这样的错误

httpd: Syntax error on line

Cannot

into

53 of

load

server:

/usr/local/httpd/conf/:

/usr/local/httpd/modules/

/usr/local/httpd/modules/: cannot restore segment

prot after reloc: Permission denied

这个应该是selinux限制的

可以关闭selinux或者执行

chcon–t texrel_shlib_t /usr/local/httpd/modules/

然后再重启apache

配置完成后,我们测试一下

在网站根目录创建一个

vi /usr/local/httpd/htdocs/

输入

phpinfo();

?>

保存退出

:wq

然后在浏览器打开 localhost/

不出意外可以看到以下页面。如果提示不能打开或下载框,并且之前

的配置上没有错误。再重启一次apache应该就能解决。

可以看到我们要安装的模块也已经安装上了。

另外,安装的Apache并不是随机器启动而启动的。我们可以将apache

的启动命令加到 /etc/rc.d/ 中,就可以随机启动了

vi /etc/rc.d/

点击 i 进入插入编辑模式。

在最后输入

/usr/local/httpd/bin/apachectl -k start

点击 Esc 退出插入编辑模式

输入

:wq

回车,就可以保存了,这样apache就可以随机启动了。如图

至此,LAMP基本配置已经完成。下一篇我们谈谈如果安装gd库:

LAMP攻略: 重新编译PHP安装扩展,GD库安装与配置


本文标签: 安装 配置 打开 需要