CentOS下编译安装LAMP环境

引子
CentOS下编译安装LAMP环境是博主Tony一段难忘的时光,谨以此文献给奋战在潜龙班的新人们。
 
说明
首先要感谢《完美应用红帽企业版Linux》一书,博主在参阅了此书之后,经过二十几次的严格实验和修改写下此文,希望广大网友尊重作者的劳动,转载请注明出处。
 
LAMP介绍
Linux+Apache+Mysql+PHP一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
 
准备源码包
curl-7.15.0.tar.gz
freetype-2.4.2.tar.gz
gd-2.0.35.tar.gz
httpd-2.2.16.tar.gz
jpegsrc.v8b.tar.gz
libiconv-1.13.tar.gz
libmcrypt-2.5.8.tar.gz
libpng-1.2.44.tar.gz
libxml2-2.6.30.tar.gz
mysql-5.1.60.tar.gz
php-5.3.10.tar.gz
phpMyAdmin-3.4.10.1-all-languages.tar.gz
zlib-1.2.5.tar.gz
一共有12个软件源码包,大家只要去百度一下这个包的名字,都有下载资源。如果不想下载,而且时间不急,可以发电子邮件给我,索要这一些包,我会发送给你们的。下载完这些源代码包之后,全部存放在系统(http://www.tonitech.com/?p=280 这篇文章讲述如何在虚拟机中安装CentOS)的/usr/local/src/目录下备用(用Filezilla将源码包上传到虚拟机的这个目录下)。
 
安装编译环境
在命令行中输入如下指令:
yum install gcc gcc-c++ gcc-g77 flex autoconfig automake bison zlib-devel bzip2-devel ncurses-devel libtool libtool-ltdl openssl openssl-devel pam-devel libtermcap-devel curl-devel libxml2-devel libevent libevent-devel gettext-devel
 
LAMP编译和安装
 
安装iconv库
具体操作如下:
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压libiconv-1.13.tar.gz文件到默认目录libiconv-1.13下:
tar zxvf libiconv-1.13.tar.gz
3.然后进入libiconv-1.13目录:
cd libiconv-1.13
4.配置、编译和安装libiconv库
./configure --prefix=/usr && make && make install
 
安装libxml2库
具体操作如下:
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压libxml2-2.6.30.tar.gz文件到默认目录libxml2-2.6.30下:
tar zxvf libxml2-2.6.30.tar.gz
3.然后进入libxml2-2.6.30目录:
cd libxml2-2.6.30
4.配置、编译和安装libxml库:
./configure --prefix=/usr && make && make install
 
安装curl库文件
具体操作如下:
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压curl-7.15.0.tar.gz文件到默认目录curl-7.15.0下:
tar zxvf curl-7.15.0.tar.gz
3.然后进入curl-7.15.0目录:
cd curl-7.15.0
4.配置、编译和安装curl库:
./configure --prefix=/usr && make && make install
 
安装libmcrypt库
具体操作如下:
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压libmcrypt-2.5.8.tar.gz文件到默认目录libmcrypt-2.5.8下:
tar zxvf libmcrypt-2.5.8.tar.gz
3.然后进入libmcrypt-2.5.8目录:
cd libmcrypt-2.5.8
4.配置、编译和安装libmcrypt库:
./configure --prefix=/usr && make && make install
 
安装zlib库文件
具体操作如下:
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压zlib-1.2.5.tar.gz文件到默认目录zlib-1.2.5下:
tar zxvf zlib-1.2.5.tar.gz
3.然后进入zlib-1.2.5目录:
cd zlib-1.2.5
4.配置、编译和安装zlib库:
./configure --prefix=/usr && make && make install
 
安装libpng库文件
具体操作如下:
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压libpng-1.2.44.tar.gz文件到默认目录libpng-1.2.44下:
tar zxvf libpng-1.2.44.tar.gz
3.然后进入libpng-1.2.44目录:
cd libpng-1.2.44
4.配置、编译和安装libpng库:
./configure --prefix=/usr && make && make install
 
安装JPEG库
具体操作如下:
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压jpegsrc.v8b.tar.gz文件到默认目录jpeg-8b下:
tar zxvf jpegsrc.v8b.tar.gz
3.然后进入jpeg-8b目录:
cd jpeg-8b
4.配置jpeg库:
./configure --prefix=/usr --enable-shared --enable-static
5.编译和安装jpeg库:
make && make install
 
安装freetype库文件
具体操作如下:
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压freetype-2.4.2.tar.gz文件到默认目录freetype-2.4.2下:
tar zxvf freetype-2.4.2.tar.gz
3.然后进入freetype-2.4.2目录
cd freetype-2.4.2
4.配置、编译和安装freetype库
./configure --prefix=/usr && make && make install
 
安装GD库文件
具体操作如下:
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压gd-2.0.35.tar.gz文件到默认目录gd-2.0.35下:
tar zxvf gd-2.0.35.tar.gz
3.然后进入gd-2.0.35目录:
cd gd-2.0.35
4.配置gd库:
./configure --prefix=/usr/local/gd2/ --with-jpeg --with-png --with-freetype
5.编译和安装gd库:
make && make install
 
安装Apache服务器
具体操作如下:
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压httpd-2.2.16.tar.gz文件到默认目录httpd-2.2.16下:
tar zxvf httpd-2.2.16.tar.gz
3.然后进入httpd-2.2.16目录:
cd httpd-2.2.16
4.配置Apache:
./configure \
--prefix=/usr/local/apache2/ \
--sysconfdir=/etc/httpd \
--with-z \
--with-included-apr \
--disable-userdir \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--enable-rewrite=shared \
--enable-static-support
5.编译和安装Apache:
make && make install
6.安装成功后,检查所有安装的文件,进入/usr/local/apache2/目录下:
cd /usr/local/apache2/
输入:
ls
确认是否有以下目录:
CentOS下编译安装LAMP环境_lamp
7.启动Apache服务器:
/usr/local/apache2/bin/apachectl start
8.查看80端口是否开启:
netstat -tnl|grep 80
确认是否显示如下:
CentOS下编译安装LAMP环境_lamp_02
9.最后在命令行中输入:
curl localhost
如果出现如下内容,说明Apache已经工作了:
CentOS下编译安装LAMP环境_lamp_03
 
安装MySQL数据库管理系统
具体操作如下:
1.首先要位mysqld增加一个登陆用户和用户组,用户名和组名都为“mysql”。指令如下:
groupadd mysql
useradd -g mysql mysql
2.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
3.解压mysql-5.1.60.tar.gz文件到默认目录mysql-5.1.60下:
tar zxvf mysql-5.1.60.tar.gz
4.然后进入mysql-5.1.60目录:
cd mysql-5.1.60
5.配置mysql:
./configure \
--prefix=/usr/local/mysql \
--with-extra-charsets=all \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
6.编译和安装mysql:
make && make install
7.创建MySQL数据库服务器的配置文件:
cp support-files/my-medium.cnf /etc/my.cnf
8.进入mysql的安装目录:
cd /usr/local/mysql
9.初始化MySQL数据库授权表:
bin/mysql_install_db --user=mysql
10.将程序二进制的所有权改为root用户,数据目录的所有权改为运行mysqld程序的mysql用户:
chown -R root .
chown -R mysql var
chgrp -R mysql .
11.使用service脚本管理MySQL服务并启动MySQL:
cp share/mysql/mysql.server /etc/init.d/mysql
cp share/mysql/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
12.查看3306端口是否开启:
netstat -anptu|grep :3306
确认是否显示如下:
CentOS下编译安装LAMP环境_lamp_04
13.设置MySQL管理员密码(我设置的是123456):
bin/mysqladmin -u root -p password '123456'
14.清空命令历史,防止密码泄露:
history -c
 
安装PHP
1.进入准备的源码包所在的目录/usr/local/src/下:
cd /usr/local/src/
2.解压php-5.3.10.tar.gz文件到默认目录php-5.3.10下:
tar zxvf php-5.3.10.tar.gz
3.然后进入php-5.3.10目录:
cd php-5.3.10
4.配置PHP:
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-libxml-dir --with-curl \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-gd=/usr/local/gd2 \
--with-zlib-dir \
--with-mcrypt \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-soap \
--enable-mbstring \
--enable-sockets
5.更新动态链接库缓存:
ldconfig
6.编译和安装PHP:
make && make install
7.建立PHP配置文件:
cp php.ini-development /usr/local/php/etc/php.ini
8.编辑apache配置文件:
vim /etc/httpd/httpd.conf
在编辑器中:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz  //在这一行下面添加
AddType application/x-httpd-php .php .phtml  //添加这一条
DirectoryIndex index.php  //添加php格式首页