没有办法用 rpm查询一个源代码包是否安装 因为 并不是用rpm安装的
可以先吧 selinux 给禁用掉  iptables -F 把防火墙规则全部删除
首先确保 gcc  gcc-c++   make是否安装
一般 make是安装了的  但是 gcc 和gcc-c++是没安装
首先先载入CentOS的光盘 然后进入 CentOS目录
rpm -ivh gcc-4.1.2-48.el5.i386.rpm   安装GCC  但是会有依赖关系  无法安装


我们可以用 yum  install gcc
然后安装 yum install gcc-c++   


好了 基本环节我们都准备好了 

所有的代码包地址
http://pan.baidu.com/share/link?shareid=3759158395&uk=4160875019


./configure选项
--enable-shared指编译后会链接成共享对象(.so文件,或者按照windows的说法称之为动态链接库(dll)
--enable-static:生成静态链接库
--enable-shared:生成动态链接库

--prefix:指定安装路径   DEMO: --prefix=/usr/local/ibxml2/



如果不想卸载apache 可以先停止掉
serivce httpd status 停止apache

卸载apache
yum remove httpd
卸载mysql
yum remove mysql

1、解包
先把所有的tar包放在lamp 目录里面  
然后写个脚本批量解压
#! /bin/sh
# tar
ls *.tar.gz > ls.list
for tar in `cat ls.list` 
do 
        tar -zxf $tar
done





如果编译错了 要重新编辑 首先把安装目录删除掉  然后把tar解压缩好的目录也删除掉 最后 重新解压
如果是apache 先把进程给kill掉 然后删除文件

编译基本流程============================
2、配置config
./configure  配置

3.make  编译过程 

4.make install  安装 拷贝   
====================================

正式编译

先编译配置 php需要用的 libxml2-2.6.30.tar.gz  
进入目录 执行安装目录   ./configure --prefix=/usr/local/libxml2/
然后 make  编译 
然后 make install  就好了 


编译  libmcrypt-2.5.8
进入 
libmcrypt-2.5.8目录
./configure --prefix=/usr/local/libmcrypt/
make  编译    甚至 可以  make  ; make install   直接执行 2个命令    或者  make && make install  make执行成功了 就install
make  install  

编译  libmcrypt-2.5.8/libltdl
cd /lamp/libmcrypt-2.5.8/libltdl
./configure --enable-ltdl-install
make
make install


编译  zlib  不指定安装路径 不然容易出错
cd /lamp/zlib-1.2.3
./configure
make
make install 



编译 php的图片库文件  libpng
cd /lamp/libpng-1.2.31
./configure --prefix=/usr/local/libpng/
make
make install


编译 jpeg-6b  要自己创建目录

mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
cd /lamp/jpeg-6b
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make
make install



编译安装 freetype
cd /lamp/freetype-2.3.5
./configure --prefix=/usr/local/freetype/
make
make install


编译安装 autoconf    不指定安装目录
cd /lamp/autoconf-2.61
./configure
make 
make install


编译安装 GD库  需要用到前面库文件指定的安装路径
cd /lamp/gd-2.0.35
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/
make
make install


安装apache
cd /lamp/httpd-2.2.9
./configure --prefix=/usr/local/apache2/ --sysconfdir=/etc/httpd/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
make
make install


启动apache
/usr/local/apache2/bin/apachectl start
设置apache开机自启动
echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.sysinit



继续编译
这个是mysql的编译工具 必须先安装一下
cd /lamp/ncurses-5.6
./configure --with-shared --without-debug --without-ada --enable-overwrite
make 
make install


安装mysql  
首先添加mysql的用户和组
groupadd mysql
useradd -g mysql mysql

然后安装mysql
cd /lamp/mysql-5.0.41
指定安装目录 指定支持所有字符集
./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all
make
make install


生成一下mysql的配置文件
cp support-files/my-medium.cnf /etc/my.cnf

创建mysql数据库的授权表
/usr/local/mysql/bin/mysql_install_db --user=mysql

改变mysql目录的所有者和所属组
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql


启动mysql
/usr/local/mysql/bin/mysqld_safe  --user=mysql &

把mysql自启动脚本拷贝到 自启动脚本目录
cp /lamp/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
chown root.root /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
chkconfig --levels 245 mysqld off


安装php
cd /lamp/php-5.2.6
./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=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets 
make
make install



新建phpini文件
cp php.ini-dist /usr/local/php/etc/php.ini
让apache支持php
echo "Addtype application/x-httpd-php .php .phtml" >> /etc/httpd/httpd.conf
重启apache
/usr/local/apache2/bin/apachectl restart



大功告成







源代码编译lamp环境的更多相关文章

  1. centos7.0 手动编译 lamp环境

    首先新建用户 lamper,并添加 sodu权限 两种方法:is not in the sudoers file 解决(转) xx is not in the sudoers file 问题解决[转载 ...

  2. 编译安装lamp环境

    httpd 2.4.9 + mysql-5.5.33 + php-5.4.29编译安装过程: 准备好以下安装包: mysql-5.5.33-linux2.6-x86_64.tar.gz apr-uti ...

  3. CentOS6.5下搭建LAMP环境(源码编译方式)

    CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL) 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP等.这里我介 ...

  4. CentOS下编译搭建LAMP环境

    搭建LAMP环境须知 搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按照Apache->MySQL->PHP的顺序安装.但是在安装PHP之前,应先安装PHP5需要的最新 ...

  5. 年终福利,PHP7+Apache2.4+MySQL5.6 源码编译安装,环境配置,搭建你自己的LAMP环境

    PHP7 都出来了,你还在玩PHP5吗? MySQL5.6 早都出来了,你还在玩MySql5.2吗? Apache2.4 早都出来了,你还在玩Apache2.2吗? 笔者不才,愿意亲自搭建环境,供搭建 ...

  6. lamp环境编译(apache2.4.7 php5.4.25 mysql 5.5.23)

    环境要求 gcc.gcc-c++.cmake.bison(可能)支持 1.yum install gcc gcc-c++ cmake bison 2.修改yum配置,达到搜索本地设置 移走或改名/et ...

  7. lamp环境编译(实际通过)

    CentOS:5.5Apache:2.2.9PHP:5.2.6MySQL:5.0.41 条件: yum install gccyum install gcc-c++ vi/etc/yum.repos. ...

  8. LAMP 环境搭建之源码包编译安装

    mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46    Apache版本2.4.7  PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...

  9. Lamp环境搭建Linux CentOS6.5编译安装mysql5.6

    经典web开发组合Lamp环境搭建之mysql安装详解 安装前准备 通过rpm命令检查centos上是否已经安装mysql,然后卸载已经存在的mysql版本 [root@localhost src]# ...

随机推荐

  1. django cookie

    设置:auth.login(request, user)                response = HttpResponseRedirect(reverse("index" ...

  2. 如何在.Net中使用Redis

    Redis是一个key-value存储系统.和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表).sets( ...

  3. Flask web开发 处理Session

    本文我们在上篇文章<Flask web开发  处理POST请求(登录案例)>的基础上,来讲述Flask对session的支持. 在上面案例上,我们需要修改和新增如下功能 1.登录成功后的 ...

  4. JAVA平台上的网络爬虫脚本语言 CrawlScript

    JAVA平台上的网络爬虫脚本语言 CrawlScript 网络爬虫即自动获取网页信息的一种程序,有很多JAVA.C++的网络爬虫类库,但是在这些类库的基础上开发十分繁琐,需要大量的代码才可以完成一 个 ...

  5. [置顶] 深入ResourceBundle

    ResourceBundle是java开发中非常实用的一个类,主要用来处理应用程序多语言这样的国际化问题. 如果你的应用程序如果有国际化的需求,可以考虑使用ResourceBundle, 你要做的就是 ...

  6. 放开chrome,微度新标签页 删除

    来自VIc_:http://blog.csdn.net/Vic___ 本人只是提供方法建议,没有任何商业欲望. 欢迎转载 有一天,突然,我的标签栏,被改变了,这是怎么了,我的书签栏 我是一个镇定的人, ...

  7. Android:创建可穿戴应用 - 安装和依赖管理

    安装可穿戴应用 在开发时,你能够像一般移动应用一样直接把应用安装到可穿戴设备中. 使用adb install或者 Android Studio上的Play button. 当你准备好要公布时,你须要把 ...

  8. 安装基于XenServer的DevStack

    Openstack默认的hypervisior是基于KVM的,可以修改nova-compute.conf的libvirt_type改成使用其他,网上可以搜到个别文章 但是Openstack官方文档却说 ...

  9. Axis2(9):编写Axis2模块(Module)

    Axis2可以通过模块(Module)进行扩展.Axis2模块至少需要有两个类,这两个类分别实现了Module和Handler接口.开发和使用一个Axis2模块的步骤如下: 1. 编写实现Module ...

  10. Fragment使用

    当我们需要动态的多界面切换的时候,就需要将UI元素和Activity融合成一个模块.在2.3中我们一般通过各种Activity中进行跳转来实现多界面的跳转和单个界面动态改变.在4.0或以上系统中就可以 ...