[转]快速在CentOS下搭建LAMP,Apache、MySQL、PHP环境

原文见:http://www.iteye.com/topic/1122585

LAMP(Linux、Apache、MySQL、PHP)是一套用于提供php架构网站服务的完美组合的简称,LAMP组合有着极高的性能,完善的支持 体系,灵活的配置方法,但是Lamp架构其本身也越来越臃肿,在Lamp安装完成后最好进行针对硬件的优化,以获得更好的性能。

LAMP可以在很多平台(Linux、Windows、Unix、MacOS X)中搭建,本文以CentOS系统安装LAMP套件进行举例。

搭建需要有一台安装有CentOS的服务器,并且最好是纯净安装:即仅仅安装最少的系统组件。

1. 安装Apache2

一条命令即可:

yum install httpd 

回车后,yum会提示当前已经安装的httpd版本,并自动更新;如果没有安装,则会自动安装。注意在yum安装过程中输入“Y”以确认安装。

Apache安装完成后,手动启动Apache2:

/etc/init.d/httpd start 

这时,直接在浏览器中输入服务器的IP地址,即可看到Apache2的默认页面。此时的Apache仅仅能提供HTTP服务,不能执行php、也不能连接MySQL数据库。

2. 安装MySQL

由于CentOS中已经包含了MySQL,因此也仅需要yum即可:

yum install mysql mysql-server 

完成后,使用如下命令启动MySQL服务:

/etc/init.d/mysqld start 

3. 安装php5

使用如下命令安装php5:

yum install php 

安装完php5后,必须要重新启动Apache以使php生效:

/etc/init.d/httpd restart 

这时,Apache已经可以解析执行php脚本了。由于Apache的默认网站根目录位于:/var/www/html/,因此在此目录建立一个info.php用来测试Apache+PHP的正确安装与否:

echo "<?php phpinfo(); ?>" > /var/www/html/info.php 

然后在浏览器中访问IP/info.php,出现了PHPINFO的输出信息,表示PHP与Apache已经正确安装了。如果输出信息仅为 echo "<?php phpinfo(); ?>" ,或出现了下载php文件的现象,则说明php文件没有被正确的解析。需对httpd.conf文件进行配置。具体如下:

  • 查看Apache的配置文件httpd.conf是否含有此句:LoadModule php5_module modules/libphp5.so 如果php安装成功的话,libphp5.so会出现在Apache的安装目录/modules 目录里面。如果没有请find一下,然后给出正确的路径。
  • 对PHP页面没有正确解析。请查看配置文件httpd.conf,并向其中加入以下语句:AddType application/x-httpd-php .php

不过我在操作的时候,发现即使按以上两点修改了httpd.conf文件,也不能正确在解释.php文件。用使用service httpd restart的时候还出现了错误——Starting httpd: httpd: Syntax error on line 202 of /etc/httpd/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: undefined symbol: ap_log_rerror_。在网上查找原因,发现了这个网页。http://fangzi2048.blog.163.com/blog/static/195265391201211593933866/。我出现问题的原因跟网页上说的原因一样,使用了Centos 6.4,自己新安装了一个较新的httpd,也就是系统上有两个apache。使用/usr/local/apache2/bin/httpd -k start/stop/restart可启动这个新装上的apache,在进行了配置后,php文件可以被正常地解析了。此apache默认的文件夹为:/usr/local/apache2/htdocs,默认文件路径为/usr/local/apache2/conf/httpd.conf。注意,如果先进入/usr/local/apache2/bin,再使用httpd -k start来启动apache,可能还是会启动系统默认的那个apache上。所以,使用./httpd -k start来确保启动的是新安装的这个apache。

4. 安装其他模块

接下来安装MySQL数据库与其它模块(如GD图形库、mbstring库等):

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc 

安装过程可能比较慢,请耐心等待。完成后再次重启Apache:

/etc/init.d/httpd restart 

重新在浏览器中打开IP/info.php页面,应该能找到MySQL、GD、mbstring等模块。

此时LAMP运行环境已经初步安装完毕。最后还需要将LAMP组件设置为自动启动:

chkconfig --levels 2345 httpd on 
chkconfig --levels 2345 mysqld on 

5. 相关配置与环境

Apache主配置文件:/etc/httpd/conf/httpd.conf

Apache主配置目录,可以将不同类型的配置分门别类放入这个目录中:/etc/httpd/conf.d/

Apache网站根目录:/var/www/html/

Apache日志文件目录:/var/log/httpd

MySQL的my.cnf配置文件:/etc/my.cnf

MySQL数据库文件位置:/usr/lib/mysql

安装完成后,一是留意防火墙,打开相关端口,而是必须要对MySQL、Apache进行安全设置,避免安全漏洞。