完整的Centos 5 (64位) LAMP搭建:

 

 

 
  
 
 

 

1、安装apache

下载地址:

# tar zxvf zlib-1.2.3.tar.gz                

# cd zlib-1.2.3
# CFLAGS="-O3 -fPIC"  ./configure              (O为大写字母)(默认为/usr/local下)
# make && make install
                                 
 
# tar zxvf httpd-2.2.22.tar.gz                 
# cd httpd-2.2.22                          
#./configure  --prefix=/usr/local/apache --with-z=/usr/local --enable-so --enable-deflate=shared

--enable-expires=shared --enable-rewrite=shared --enable-static-support --enable-mods-shared=all

--enable-suexec --with-suexec-caller=daemon                 

注:
 --sysconfdir=/usr/local/apache                //指定Apache服务器的配置文件存放位置
 --with-z=/usr/local/zlib/                      //指定zlib库文件的位置
--with-included-apr                         //使用捆绑APR/APR-Util的副本
 --disable-userdir                            //请求的映象到用户特定目录
 --enable-so                                  //以动态共享对象(DSO)编译
 --enable-deflate=shared                     //缩小传输编码的支持
 --enable-expires=shared                      //期满头控制
 --enable-rewrite=shared                      //基于规则的URL操控
 --enable-static-support                     //建立一个静态链接版本的支持
 

# make && make install

# cd /usr/local/apache/conf
# ls
# cp httpd.conf httpd.conf.bak
# grep -v "#" httpd.conf.bak   | grep -v "^$" > httpd.conf
# cd /usr/local/apache/htdocs
# vi /usr/local/apache/conf/httpd.conf            (在最后编写)

NameVirtualHost  192.168.1.2

<VirtualHost 192.168.1.2>
        DocumentRoot         /usr/local/apache/htdocs
        ServerName          
        ErrorLog             logs/www.benet.com.error.log
        CustomLog            logs/www.benet.com.access.log     common
</VirtualHost>

:wq

启动apache

# /usr/local/apache/bin/apachectl start

 

关闭apache

# /usr/local/apache/bin/apachectl stop

 

重启apache

# /usr/local/apache/bin/apachectl restart

 

访问:

 

apache 开机自启动

 
# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
# vi /etc/init.d/httpd  (在#!/bin/sh下加入)
   # chkconfig: 345 85 15
   # description: start and stop the apache http server
:wq
 
# chmod +x /etc/init.d/httpd
# chkconfig --add httpd
# chkconfig --level 35 httpd on

 

2、安装mysql

 

   

        (64位)

# tar zxf mysql-5.1.60-linux-x86_64-glibc23.tar.gz  

# mv mysql-5.1.60-linux-x86_64-glibc23   /usr/local/mysql

# cd /usr/local/mysql

# useradd -M -s /sbin/nologin mysql

# chown mysql:mysql /usr/local/mysql

# ./script/mysql_install_db  --user=mysql

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

# cp support-files/my-medium.cnf /etc/my.cnf

# chkconfig --add mysqld

# chkconfig --level 35 mysqld on

# /usr/local/mysql/bin/mysqld_safe --user=mysql &

# mv /tmp /tmp1

# vi /etc/my.cnf

socket      = /tmp1/mysql.sock

:wq

# mkdir /tmp

# ln -s /tmp1/mysql.sock  /tmp/mysql.sock

# ln -s /usr/local/mysql/bin/mysql /sbin/mysql

# ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin

# mysqladmin -u root password "123456"

# mysql -u root -p

 

 

3、安装php

下载地址:

# tar zxvf libxml2-2.6.30.tar.gz                

# cd libxml2-2.6.30                           
# ./configure --prefix=/usr/local/libxml2
# make && make install                              

# tar zxvf libmcrypt-2.5.8.tar.gz                 
# cd libmcrypt-2.5.8                           
# ./configure --prefix=/usr/local/libmcrypt
# make && make install                            
# cd /usr/src/libmcrypt-2.5.8/libltdl
# ./configure  --enable-ltdl-install   
# make && make install                                

# tar zxvf libpng-1.2.31.tar.gz               
# cd libpng-1.2.31                          
# ./configure --prefix=/usr/local/libpng
# make && make install                      
                    
安装GD2库前所需的jpeg6库文件,需要自己手动地创建安装需要的目录,它们在安装时不能自动创建。

# mkdir /usr/local/jpeg7                      //建立jpeg6软件安装目录

# mkdir /usr/local/jpeg7/bin                  //建立存放命令的目录
# mkdir /usr/local/jpeg7/lib                  //创建jpeg6库文件所在目录
# mkdir /usr/local/jpeg7/include              //建立存放头文件目录
# mkdir -p /usr/local/jpeg7/man/man1          //建立存放手册的目录
# tar zxvf jpegsrc.v7.tar.gz                 
# cd jpeg-v7                              
# ./configure --prefix=/usr/local/jpeg7 --enable-shared --enable-static

注:
--enable-shared                                    //建立共享库使用的GNU的libtool
--enable-static                                    //建立静态库使用的GNU的libtool
 
# make && make install                                            
 

# tar zxvf freetype-2.3.5.tar.gz                          

# cd  freetype-2.3.5                                 
# ./configure --prefix=/usr/local/freetype                                 
# make clean
# make && make install

 

# tar zxvf autoconf-2.61.tar.gz                        

# cd autoconf-2.61                                 
# ./configure                             
# make && make install                                  

# tar zxvf libiconv-1.13.tar.gz
# cd libiconv-1.13/
# ./configure --prefix=/usr/local/libiconv
# make && make install

# tar xzf gettext-0.17.tar.gz
# cd gettext-0.17
# ./configure
# make && make install

# tar zxvf gd-2.0.35.tar.gz                    
# cd gd-2.0.35
# vi gd_png.c

  # include "/usr/local/libpng/include/png.h"

:wq                        
# ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local --with-jpeg=/usr/local/jpeg7 -

-with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --enable-m4_pattern_allow                     

# make && make install       

注:如果报错可执行下面2步,没有报错就不用了                            

# make clean

# make && make install

# vi /usr/local/apache/conf/httpd.conf

AddType  application/x-httpd-php  .php

DirectoryIndex    index.php    index.html  

:wq

 

# tar zxvf php-5.2.16.tar.gz                                  

# cd php-5.2.16                                            
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-

apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-

mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir=/usr/local/libxml2 --with-png-

dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg7 --with-freetype-dir=/usr/local/freetype -

-with-gd=/usr/local/gd2 --with-zlib-dir=/usr/local --with-mcrypt=/usr/local/libmcrypt --enable-

soap --enable-mbstring=all --enable-sockets          

#  make && make install                                          

# cp php.ini-dist /usr/local/php/etc/php.ini 
# cd /usr/local/php/etc
# cp php.ini php.ini.bak
# grep -v ";" php.ini.bak > php.ini   
# vi /usr/local/php/etc/php.ini

extension_dir="/usr/lib/php/modules"        (原为extension_dir="./" )

:wq

# cd /usr/src/php-5.2.16/ext/mcrypt
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mcrypt=/usr/local/libmcrypt
# make && make install
# cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/mcrypt.so
 /usr/lib/php/modules
# vi /usr/local/php/etc/php.ini

[mcrypt]

extension=mcrypt.so
:wq

# setenforce 0

# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so

# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/lib/php/modules/mcrypt.so

# setenforce 1

# service httpd restart   (一般需要执行2次)

测试:

# vi /usr/local/apache/htdocs/test.php

<?php

phpinfo();
?>

:wq

 

# /usr/local/apache/bin/apachectl restart

访问:

验证php与mysql的连接:

 

# vi /usr/local/apache/htdocs/php_mysql.php

<?php

$db=mysql_connect("localhost","root","123456") or die ("fail");

echo "connect ok!"

?>

访问: