没有办法用 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
大功告成
- 为什么国内的网盘公司都在 TB 的级别上竞争,成本会不会太高?(还有好多其它回复)
作者:杜鑫链接:http://www.zhihu.com/question/21591490/answer/18762821来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处 ...
- uva 10271 Chopsticks(dp)
题目连接:10271 - Chopsticks 题目大意:给出m和n, 然后给出n根筷子从小到大给出, 现在要从这n根筷子中选出m + 8组筷子, 每组筷子包括三根, 现在要求所有m + 8组每组筷子 ...
- javascript 动态推断html元素
在javascript中为了针对不同的元素运行不同的操作,须要在javascript中对触发事件的元素进行推断,然后运行不同的操作. 样例: html <input type='button' ...
- Android GsonUtils工具类
有那么一个开源jar包,叫gson 可以很方便的将java中的对象和字符串相互转化,数据传输和处理的时候,用到的可能性很大 https://github.com/google/gson http:// ...
- android 小结
1.layout中的布局文件xml中不能有大写字母. 2.时刻要想着空指针,尤其是安卓5.0后,不报异常,直接ANR.
- Jquery学习笔记:事件处理基础介绍
一.引子 给html的元素添加一个响应事件,最简单的办法是直接在元素标签内填写事件属性,先看一个最简单的例子 <!DOCTYPE html> <html lang="zh- ...
- keepalive的 nopreempt 非抢占
通常如果master服务死掉后backup会变成master,但是当master服务又好了的时候 master此时会抢占VIP,这样就会发生两次切换对业务繁忙的网站来说是不好的.所以我们要在配置文件加 ...
- 基于visual Studio2013解决算法导论之011快排改良
题目 快排改良 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #in ...
- 《C语言深度解剖》面试题整理
请在40分钟内完成以下20道C语言基础题.在没有任何提示的情况下,如果能得满分,那么你可以扔掉本书了,你的水平已经大大超过了作者:如果能的80分以上,说明你的C语言基础还不错,学习本书可能会比较轻松: ...
- SharePoint 2013的100个新功能之搜索(二)
一:名称建议 人员搜索中新的“名称建议”功能,微软引入了一种简单.直观的方式来根据名称找到用户.输入一个或多个字符,查看全部以其开头的名称,在所有的用户描述数据库都可用,在人员索引中也因此一样可用.该 ...