之前写过一个red hat 9下的LAMP环境的配置,不过由于版本比较旧,很多不适用了。 
 所以决定写一个新的LAMP环境搭建与配置教程。本配置是在 
CentOS-5.3 下 
httpd-2.2.11.tar.gz 
MySQL-client-community-5.1.33-0.rhel5.i386.rpm 
MySQL-devel-community-5.1.33-0.rhel5.i386.rpm 
MySQL-server-community-5.1.33-0.rhel5.i386.rpm 
php-5.2.9.tar.gz 
 以上软件可以直接点击到下载页面下载。 
 这个配置也基本适用于相应的red hat as 5或fedora版本中的配置 
 /********************************************* 
 * 
 * 作 者: 我不是鱼 
 * LAMP中文网: http://www.lampchina.net 
 * PHP爱好者站: http://www.phpfans.net 
 * Email: deng5765@163.com 
 * 博 客:  http://www.lampchina.net/blog 
 * 
 *********************************************/ 
 之前的一些配置教程中很多人都没有成功,发现大多问题都是出在本身,虽然对着教程做,但也粗心大意。这个配置教程时我实践可行的,如果不成功请重新认真检查自己的步骤。 
 一般情况下,Linux默认安装了Apache。如果已经安装Apache,那我们就先把它协卸载掉。 
 怎么知道是否已经安装呢?安装系统是软件都是通过rpm包安装的,所以可以通过命令 
 rpm -qa | grep httpd 
 -qa是指列出所以安装的软件,加上grep httpd,是只列出包含httpd的所有软件。 
 如果大家还不熟悉这个命令的话可以记记,下面以及以后的配置都会用到。 
 可以看到是已经安装了httpd-2.2.3-11.el5_1.centos.3 那我们就把它卸载掉 
 rpm -e httpd-2.2.3-11.el5_1.centos.3 
 如果出现这样的错误 
 error: Failed dependencies: httpd >= 2.2.0 is needed by (installed) gnome-user-share-0.10-6.el5.i386 
 是有一定的依赖性。这里要先把gnome-user-share-0.10-6.el5.i386卸载掉,再卸载apache 
 rpm -e gnome-user-share-0.10-6.el5.i386 
 rpm -e httpd-2.2.3-11.el5_1.centos.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 httpd-2.2.11.tar.gz 
 进入解压的目录 
 cd httpd-2.2.11 
 并配置安装 
 ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-expires --enable-cache --enable-mem-cache 
 这里大略地说一下configure指令。--prefix是按照目录。enable后面模块选项。这里选择一些常用的模块,so是支持动态链接机制上加载DSO模块。后面装PHP时就会创建一个so的php模块。rewrite就是常用到的重写。expires是控制HTTP的"Expires:"和"Cache-Control:"头内容,PHP用header控制缓存时要用到。其他的就不都说了,具有可以参考Apache 
http://www.lampchina.net/manu/ap ... nfigure.html#module 
 然后执行 
 make
如果编译出错,可参考这篇文章 http://shenlan.blog.51cto.com/55742/458852
 编译源码需要花一定时间,这个和机子的配置有很大关系,我新配还好,几分钟搞掂。如果配置低的话可能要相当相当的时间,大家要够耐心。 
 执行 
 make install 
 安装完成后我们启动apache 
 /usr/local/httpd/bin/apachectl -k start 
 另外说一下,也可以通过 stop 或者 restart 停止或重启apache 
 然后在浏览器打开 http://localhost 
 不出意外我们可以看到这个页面,表示安装成功了。 
安装MySQL 
 接下来我们安装mysql 
 回到软件包目录 
 cd ../ 
 MySQL都是rpm软件包。rpm安装要比源码快很得多。 
 首先安装mysql server。 
 rpm -ivh MySQL-server-community-5.1.32-0.rhel5.i386.rpm 
 再安装mysql 客户端 
 rpm -ivh MySQL-client-community-5.1.32-0.rhel5.i386.rpm 
 再安装mysql的一些库和头文件,这些头文件在安装php并关联mysql中是需要的。 
 否则会出现这样的错误: 
 configure: error: Cannot find MySQL header files under ... 
 执行 
 rpm -ivh MySQL-devel-community-5.1.32-0.rhel5.i386.rpm 
 安装客户端后我们就可以在命令行。这时的mysql密码是空 
 mysql -v 
 查看版本。可以看到的确是我们安装的5.1.32。 
 先退出mysql命令行,去安装php。 
 quit 
安装PHP 
 接下来安装php 
 解压php 
 tar -zxvf php-5.2.9.tar.gz 
 进入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-mysql --with-zlib --enable-mbstring --enable-xml 
 这里也大略说一下configure。--prefix是安装目录。--with-config-file-path是指定php配置文档php.ini所在的目录。--with-mysql,安装mysql扩展。--with-zlib安装zlib扩展,前提是linux已经安装了zlib,未安装可以去掉这个选项。 安装mbstring和xml扩展。这些都是常用的模块。 
 执行 
 make 
 执行 
 make install 
 将php配置文档复制到/usr/local/lib 
 cp php.ini-dist /usr/local/lib/php.ini 
 至此,PHP安装完成。 
配置Apache 
 现在配置apache关联php,打开apache配置文档 
 vi /usr/local/httpd/conf/httpd.conf 
 这里是用vi编辑器打开httpd.conf。vi不熟练的话,也可以打开文件夹中找到该文件,打开直接修改。 
 输入 
 /LoadModule 
 回车,/LoadModule是向下查找 LoadModule。而 ?LoadModule 则是向上查找。 
 注意:查找下一个则是按 n 下面的一些查找会用到查找下一个的。 
可以看到 LoadModule php5_module modules/libphp5.so。
 这是我们安装时设置好的,但也务必检查一下。如图
 输入
 /DocumentRoot 
 回车,查找网站根目录
 可以看到我们的根目录是
 DocumentRoot "/usr/local/httpd/htdocs"
 大家要知道这个根目录,之后说的的根目录就是指这个目录。以后就可以在这里创建php文件。然后浏览
 当然也可以修改根目录的位置,这里我就修改。如果改也要把下面的这里也改成相应的。
 <Directory "/usr/local/httpd/htdocs">
 输入
 /AddType
 回车查找
 点击 i 进入插入编辑模式,移动光标
 在下面新增
 AddType application/x-httpd-php .php
  
点击 Esc 退出插入编辑模式 
 输入 /DirectoryIndex 
 回车查找 
 在前面新增index.php,如图 
 这样打开一个目录没有指明那个文件是就默认打开index.php。更具体可以参考这里 
http://www.lampchina.net/blog/2/article/16.html 
 点击 Esc 退出插入编辑模式 
 输入 
 :wq 
 回车。wq是保存退出的意思。 
配置PHP 
 打开php配置文档 
 vi /usr/local/lib/php.ini 
 修改php时区。php5默认是格林威治时间,不修改的话与中国时间相差8小时。 
 输入 
 /timezone 
 回车查找 
 改成 date.timezone = PRC 
 其中PRC:People's Republic of China ×××, 
 更详细解决方法请参考本论坛的 
http://www.phpfans.net/bbs/viewthread.php?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 53 of /usr/local/httpd/conf/httpd.conf: Cannot load /usr/local/httpd/modules/libphp5.so into server: /usr/local/httpd/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied 
 这个应该是selinux限制的 
 可以关闭selinux或者执行 
 chcon–t texrel_shlib_t /usr/local/httpd/modules/libphp5.so 
 然后再重启apache 
 配置完成后,我们测试一下 
 在网站根目录创建一个phpinfo.php 
 vi /usr/local/httpd/htdocs/phpinfo.php 
 输入 
 <?php 
 phpinfo(); 
 ?> 
 保存退出 
 :wq 
 然后在浏览器打开 http://localhost/phpinfo.php 
 不出意外可以看到以下页面。如果提示不能打开或下载框,并且之前的配置上没有错误。再重启一次apache应该就能解决。 
 可以看到我们要安装的模块也已经安装上了。 
 另外,安装的Apache并不是随机器启动而启动的。我们可以将apache的启动命令加到 /etc/rc.d/rc.local 中,就可以随机启动了 
 vi /etc/rc.d/rc.local 
 点击 i 进入插入编辑模式。 
 在最后输入 
 /usr/local/httpd/bin/apachectl -k start 
 点击 Esc 退出插入编辑模式 
 输入 
 :wq 
 回车,就可以保存了,这样apache就可以随机启动了。如图 
 至此,LAMP基本配置已经完成。下一篇我们谈谈如果安装gd库:
转载于:https://blog.51cto.com/shenlan/319282