注:此操作是在centos 5.4_x86_64的linux系统下进行的;

一、安装apache

1.下载apache

  cd /usr/local/src
wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.2.27.tar.bz

2.解压

tar jxvf httpd-2.2.27.tar.bz2  #若是解压不了,请安装bzip2的包,我的系统是最小化安装的所以这些都需要安装;
  cd httpd-2.2.27

3.配置编译参数

 在配置参数前,需要先安装 pcre、pcre-devel、apr、apr-devel、zlib-devel这些包,要不然会报错,(我的配置编译参数的时候,把所有的包都安装上了,可以还是报错,什么原因呢,找了半天忽然想起了,最小化系统是不带gcc支持的,所以需要安装gcc gcc-c++这两个包)

yum install -y pcre pcre-devel apr apr-devel zlib-devel
    cd httpd-2.2.24
    ./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre

4.编译和安装

 make  #我的系统里连make也没有,所以需要安装yum install -y make;
 make install

以上两个步骤都可以使用 echo$? 来检查是否正确执行,否则需要根据错误提示去解决问题。

二、安装mysql

1.下载

http://dev.mysql.com/downloads/mysql/ 这个是mysql的官网里的一些下载地址,可以根据自己的系统下载相应的包,x86_64表示64位, i386表示32位,而且这些包名中都带有linux_glibc,这说明这些名都是需要编译安装的,解压后可直接使用,下载后可以使用md5sum 文件名,会现在一串数字,用这串数字和官网的比对,或是相当刚可以放心使用了。

2.解压

  我下载的是 mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 这个包,所以后面都会使用这个版本

    cd /usr/local/src          #先进到存放包的目录
    tar zxvf mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

3.把解压后的包移动到/usr/local/mysql

mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql

4.创建mysql用户

     useradd -s /sbin/nologin mysql  //-s /sbin/nologin    #不允许mysql登陆linux;

5.初始化数据库

     cd /usr/local/mysql
     mkdir -p /data/mysql
     chown -R mysql:mysql /data/mysql
     ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql   #执行这一步后,在显示的内容若是看到两个 OK 则说明正确,反之则安装提示的错误信息修改;

6.复制配置文件

cp support-files/my-large.cnf /etc/my.cnf

7.复制启动脚本

 cp support-files/mysql.server /etc/init.d/mysqld
     vim /etc/init.d/mysql

 在打开的mysql启动脚本中找到“datadir=”修改成“datadir=/data/mysql”;

8.启动mysql    

chkconfig -add mysqld          #把mysql添加到系统服务中;
      chkconfig mysqld on       #开机启动mysql,若是不想则可以忽略此步;
      service mysqld start

9.设置mysql

     echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile    #设置变量
     source /etc/profile                           #使变量生效
     mysqladmin -uroot password '密码'        #设置mysql的root密码

三、安装php

1.下载

      cd /usr/local/src
      wget http://am1.php.net/distributions/php-5.3.27.tar.gz

2.解压

      tar zxvf php-5.3.27.tar.gz

3.配置编译参数

  cd php-5.3.27
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/php/etc  \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6

在配置编译参数前,需要安装yum install -y libxml2-devel gd gd-devel oppenssl openssl-devel bzip2-devel 其中libmcrypt-devel需要安装扩展源后才能用yum安装(扩展源地址

http://www.lishiming.net/data/p_w_upload/forum/month_1211/epel-release-6-7.noarch.rpm)

配置参数配置完成后,可以用echo $?检测是否为0,若为0则配置正常,否则根据提示修改;

4.编译

   make    #php编译大概需要10分钟左右,完成后使用 echo $? 检测;

5.安装

 make install   #完成后使用 echo $? 检测;

6.复制配置文件

cp php.ini-production /usr/local/php/etc/php.ini

四、apache结合php

修改apache的配置文件httpd.conf

     vim /usr/local/apache2/conf/httpd.conf

    #在httpd.conf中找到: “AddType application/x-gzip .gz .tgz” 在该行下面添加 
    “AddType application/x-httpd-php .php”
   #再找继续找到:“DirectoryIndex index.html”,把此行修改成
    “DirectoryIndex index.html index.htm index.php”
   # 再找到: “#ServerName www.example.com:80”把此行修改成
    “ServerName localhost:80” 保存后退出。

五、测试解析是否正常

    /usr/local/apache2/bin/apachectl start    //启动apache
    ps aux |grep httpd       #查看ahache是否启动
    netstat -lnp |grep 80    #查看80端口是否被httpd所占用
curl localhost   #执行这操作后必须出现下行红色字体和格式一样的字段才说明正确(若是没有curl这条命令,需要安装yum install -y curl);

It works!

[root@LAMP php-5.3.27]#

测试是否能正常解析php文件:

   vim /usr/local/apache2/htdocs/1.php   //在些目录下创建一个.php文件;

 写入如下内容:


保存后,使用curl测试

   curl localhost/1.php   //执行这操作后必须出现下行红色字体和格式一样的字段才说明正确;

解析正常[root@LAMP php-5.3.27]#     //若是不一样,则需要重新修改配置文件;


  至些 LAMP 环境就搭建好了!!!