CentOS下编译安装LAMP环境(Tony大作)

引子

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-static-support

5.编译和安装Apache:

make && make install

6.安装成功后,检查所有安装的文件,进入/usr/local/apache2/目录下:

cd /usr/local/apache2/

输入:

ls

确认是否有以下目录:

7.启动Apache服务器:

/usr/local/apache2/bin/apachectl start

8.查看80端口是否开启:

netstat -tnl|grep 80

确认是否显示如下:

9.最后在命令行中输入:

curl localhost

如果出现如下内容,说明Apache已经工作了:

 

安装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

确认是否显示如下:

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格式首页

9.修改完成之后重新启动Apache服务器:

/usr/local/apache2/bin/apachectl stop

/usr/local/apache2/bin/apachectl start

10.在/usr/local/apache2/htdocs目录下建一个test.php文件:

vi test.php

在编辑器中:

<?php

phpinfo();

?>

11.在浏览器中输入localhost/test.php,看看是否有下面的页面:

安装phpMyAdmin

1.进入准备的源码包所在的目录/usr/local/src/下:

cd /usr/local/src/

2.解压phpMyAdmin-3.4.10.1-all-languages.tar.gz文件:

tar zxvf phpMyAdmin-3.4.10.1-all-languages.tar.gz

3.复制目录到/usr/local/apache2/htdocs/下的phpmyadmin目录中,可以再浏览器中输入localhost/phpmyadmin,输入MySQL的用户名和密码即可访问:

cp -a phpMyAdmin-3.4.10.1-all-languages /usr/local/apache2/htdocs/ phpmyadmin

 

让Apache和MySQL随系统启动

1.编辑rc.local启动脚本:

vim /etc/rc.d/rc.local

在编辑器中添加:/usr/local/apache2/bin/apachectl start

1. 开始学习Zend Framework(安装环境和下载工具)

    不管你的编程能力怎么样,现在博主Tony要和你一起进入Zend Framework(以后简写为ZF)的世界了。你可能是编程的菜鸟,也可能是经验丰富的开发人员。不管你的能力如何,你为什么想学习ZF,现在你在我的博客里,看着这个ZF的文章。现在你就要配置你电脑的环境并且和很多技术打交道,最终使用ZF驱动你的应用程序运行。

    你也许会问,为什么需要做这些事情?其实我刚刚开始学习PHP的时候,龚卫华老师就要我们配置环境,包括ApacheMySQLPHP,当时是弄得焦头烂额啊!回顾我的经历,我可以说,配置环境会让你马上学会一些东西。我们这样想想:如果我给你一箱工具,要求你要建一座房子,你究竟是怎么着手实现这个任务,如果你不知道如何使用在箱子里的每个工具是不是根本不知道如何下手?所以你也需要了解这些用来建造你的ZF应用程序的工具。

    需要的工具:

    如果你的电脑是Windows的,那么我建议你去下载集成环境WAMP服务器(Windows下的Apache+MySQL+PHP的简称吧应该),地址是http://www.wampserver.com/en/#download-wrapper,在这个炫酷的官方网站里面,你可以下载到最新版本的WAMP服务器,安装完成之后,在右下角变成绿色的图标之后就可以访问你的http://localhost了,里面有phpmyadmin可以查看和操作你的服务器,你也可以去下载Navicat for MySQL,这个工具跟phpmyadmin的区别就是它是软件,性能会比网页版的工具好一点并且还有生成E-R模型图等等的高级功能,它值得你拥有!Navicat的下载地址是:http://www.navicat.com/en/download/download.html

    完成了本地服务器的安装搭建之后,你现在需要去下载一个叫做Zend Studio的开发工具,百度百科说:“Zend StudioZend Technologies开发的PHP集成开发环境Integrated Development Environment IDE)。也支持HTMLjs标签,但只对PHP语言提供调试支持。因为是同一个公司的产品,所以提供的Zend Framework方面的支持比其他软件好。Zend Studio 5.5系列后,官方推出利用了Eclipse平台,基于PDTZend Studio for Eclipse 6.0,之后的版本也都构建于EclipseZend Studio是屡获大奖的专业PHP集成开发环境,具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排和代码复制功能,内置一个强大的PHP代码调试工具,支持本地和远程两种调试模式,支持多种高级调试功能。”没错,这个开发工具牛逼得不行,博主我也为之倾倒!我们安装它就是为了搭建一个Zend Framework的程序,因为都是Zend公司的东西嘛,所以比较配套!我建议去下载8.0.0或者8.0.1版本的Zend Studio,因为他们对ZF的支持比较好!

    创建第一个Zend Framework工程:

    打开Zend Studio,以英文版为例:点击File->New->Zend Frameword Project,在Contents中选择工程的路径,我建议将工程建立在wamp服务器下的www目录下你自己创建的一个文件夹下项目的名字自拟,然后选择Finish就行了。

    接下来,你得去Zend的官方网站下载最新的Zend Framework的类库,下载地址是http://framework.zend.com/download/latest,今天的版本是1.11,刚刚好喝上图的Zend Framework Version是一致的。然后将压缩包解压,将主目录下的library中的Zend这一个文件夹拷贝到你的项目目录的library文件夹下面,如下图:

zend-framework目录

这样之后,你就可以在你的浏览器中打开http://localhost/你的项目目录/public,就可以看到Zend Framework的欢迎页面了。这就当做是Zend Framework的第一个Hello World程序吧。