源码安装 mysql+ apache+php

 

在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,不同的最终用户经过编译就可以正确运行.

 

 

安装总体步骤

1. $ tar zxvf XXXX.tar.gz (or tar jxvf XXXX.tar.bz2)

2. $ cd XXXX

3. $ ./configure

4. $ make

5. # make install

复制代码

1. $ make clean

复制代码

安装完成后用来清理临时文件

1. # make uninstall

复制代码

用来卸载软件

解压:
最常见源码包的就两种(XXXX.tar.gz or XXXX.tar.bz2),其实这些源码包都是由2个工具压缩而成的,tar.gz结尾的文件用到的工具是tar和gunzip,而tar.bz2结尾的文件所使用的工具是tar和bzip2,之所以这样做是因为,tar仅仅能够打包多个文件但是没有压缩的功能,而gz和bz2却刚好相反,仅能够压缩单个文件,这样我们常见的源码包实际上是通过tar先将不同的源文件打包,然后再通过gunzip或者bzip2压缩后发布的,当然这两个步骤可以通过一条命令实现:

1. $ tar zcvf XXXX.tar.gz XXXX(or tar jcvf XXXX.tar.bz2 XXXX)

复制代码

解压的相关命令如下:

1. $ tar zxvf XXXX.tar.gz

2. $ tar jxvf XXXX.tar.bz2

复制代码


./configure:
解压完成就正式开始安装了(补充一点,开始configure之前,如有必要,请使用patch工具为源码打上相应的补丁),首先跳转到源码的解压目录,众所周知,开始configure前还是应该仔细阅读源码目录下的README或者INSTALL文件,好多安装中的注意事项在这里都有所罗列,configure实际上是一个脚本文件,在当前目录中键入"./configure",shell就会运行当前目录下的configure脚本,有一点必须说明,在整个configure过程,其实编译尚未进行,configure仅仅是做编译相关的准备工作,它主要对您当前的工作平台做一些依赖性检查,比如编译器是否安装,连接器是否存在,如果在检测的过程没有任何错误,你很幸运,configure脚本会在当前目录下生成下一步编译链接所要用到的另一个文件Makefile,当然configure支持及其丰富的命令行参数,可以键入"./configre --help"获取具体的信息,最常用的恐怕就是:

$ ./configure --prefix=/opt/XXX 复制代码

它用来设置软件的安装目录. 

make:
如果configure过程正确完成,那么在源码目录,会生成相应的Makefile文件,Makefile文件简单来说包括的是一组文件依赖关系以及编译链接的相关步骤,事实上真正的编译链接工作也不是make所做的,make只是一个通用的工具,一般情况下,make会根据Makefile中的规则调用合适的编译器编译所有与当前软件相依赖的源码,生成所有相关的目标文件,最后再使用链接器生成最终的可执行程序:

make 复制代码


make install:
当上面两个步骤正确完成,代表着编译链接过程已经完全结束,最后要做的就是将可执行程序安装到正确的位置,在这个步骤,普通用户可能没有相关目录的操作权限,临时切换到root是一个不错的选择,"install"只是Makefile文件中的一个标号,"make install"代表着make工具执行Makefile文件中"install"标号下的所有相关操作,如果在configure阶段没有使用"--prefix=/opt/XXX"指定应用程序的安装目录,那么应用程序一般会被默认安装到/usr/local/bin,如果/usr/local/bin已经存在于您的PATH中,那么安装已经基本结束:

#make install 复制代码

光盘挂载 mount /dev/cdrom /mnt/cdrom

编辑yum服务器

[root@host ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo

clip_image002

 

 

1  Mysql

[root@host yuanma]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/ 安装包拆解

 

clip_image004

 

建立mysql链接

 

[root@host ~]# cd /usr/local

[root@host local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql

[root@host local]# cd mysql

[root@host mysql]# ll

总计 76

drwxr-xr-x 2 root root 4096 08-29 09:33 bin

-rw-r--r-- 1 7161 wheel 17987 2011-07-14 COPYING

drwxr-xr-x 4 root root 4096 08-29 09:33 data

drwxr-xr-x 2 root root 4096 08-29 09:33 docs

drwxr-xr-x 3 root root 4096 08-29 09:33 include

-rw-r--r-- 1 7161 wheel 7604 2011-07-14 INSTALL-BINARY

drwxr-xr-x 3 root root 4096 08-29 09:33 lib

drwxr-xr-x 4 root root 4096 08-29 09:26 man

drwxr-xr-x 10 root root 4096 08-29 09:33 mysql-test

-rw-r--r-- 1 7161 wheel 2552 2011-07-14 README

drwxr-xr-x 2 root root 4096 08-29 09:33 scripts

drwxr-xr-x 27 root root 4096 08-29 09:33 share

drwxr-xr-x 4 root root 4096 08-29 09:33 sql-bench

drwxr-xr-x 2 root root 4096 08-29 09:33 support-files

[root@host mysql]#

执行INSTALL- BINARY下的安装步骤

 

clip_image006

 

改变所有组和所有者权限

 

clip_image008

 

scripts/mysql_install_db --user=mysql 以mysql的身份执行脚本

 

clip_image010

 

在把权限改回来

 

clip_image012

 

设置开机启动

 

clip_image014

查看开机脚本

 

clip_image016

编辑

vim /etc/ld.so.conf.d/mysql.conf

添加 /usr/local/mysql/lib

 

clip_image018

 

Mysql可以正常启动

 

2   apache

[root@host include]# ln -s /usr/local/mysql/include mysql 建立链接头文件

Apache的源码安装

拆解http安装

tar -jxvf httpd-2.2 -C /usr/local/src/

clip_image020

查看

 

clip_image022

执行./config 命令

在 /usr/local/ src/httpd-2..2.19 目录下执行

1 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl enable-track-vars --with-z (确保安装了zlib 以及 zlib-devel)

2 make

3 make install

 

clip_image024

clip_image026

 

cd /usr/local/apache/ 进入apache文件

 

clip_image028

 

vim /etc/rc.local 添加

/usr/local/apache/bin/apachect1 start

 

clip_image030

加入开机脚本

cd /etc/ld.so.conf.d/

vim httpd.conf /usr/local/apache/lib

 

clip_image032

加载ldconfig -v

ldconfig -pv |grep apr

 

clip_image034

库文件

cd /etc/ld.so.conf.d/

 

clip_image036

 

头文件

cd /usr/include

ln -s /usr/local/apache/include apache

ll apache

clip_image038

 

3  Php

拆解安装包

tar -jxvf php-5.3 -C /usr/local/src/

clip_image040

 

执行./config

./configure --prefix=/usr/local/php

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

--with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all

 

 

解释

./configure --prefix=/usr/local/php

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

将php编译成apache的模块,允许apache的apxx调用该模块

--with-mysql=/usr/local/mysql 指明mysql的安装位置

--with-mysqli=/usr/local/mysql/bin/mysql_config调用myql接口

-enable-mbstring=all 支持字符集

2 make

3 make install

 

 

clip_image042

make install后不需要启动,因为被编译成apache的模块了,检查相应的模块是否被拷贝过去了

clip_image044

 

启动apache

 

clip_image046

 

clip_image048