安装源码包

安装源码包,需要我们把源代码编译成可执行的二进制文件。源码包的编译用到了Linux系统里的编译器。常见的源码包一般都是用C语言开发的,因为C语言是Linux上最标准的程序语言。Linux上的C语言编译器称为gcc,利用它可以把C语言编译成可执行的二进制文件。所以,如果机器上没有安装gcc,就无法编译源码,可以使用命令yum install -y gcc来完成安装。

安装源码包通常需要以下3个步骤:

  • ./configure:这一步可以定制功能,加上相应的选项即可,具体有什么选项可以通过命令./configure –help来查看。这一步会自动检测你的Linux系统与相关的套件是否有编译该源码包时所需要的库,因为一旦缺少某个库,就不能完成编译。只有检测通过后,才回生成Makefile文件。
  • make:使用这个命令,会根据Makefile文件中预设的参数进行编译,这一步其实就是gcc在工作了
  • make install:这一步是安装步骤,用于创建相关软件的存放目录和配置文件。

对于以上3个步骤,并不是所有的源码包文件都一样,也就是说,源码包的安装并没有标准的安装步骤。这就需要拿到源码包后,进入目录,找到相关的帮助文档(通常,会以INSTALL或者READEME为文件名)。

把httpd的源码包下载到/usr/local/src目录下

cd /usr/local/src
wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.34.tar.gz

解压源码包

tar -zxvf httpd-2.2.34.tar.gz

进入到解压后的源码目录,在配置之前可以查看可用的配置参数

cd httpd-2.2.34
./configure --help

其中常用的配置选项有–prefix=PREFIX,它的意思是定义软件包的安装路径。这里想把Apache安装在/usr/local/apache2目录下,该选项的配置为–prefix=/usr/local/apache2

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

验证这一步是否成功的命令是($?是显示最后命令的退出状态,0表示没有错误,其他表示有错误)

echo $?
0

这里返回值是0,说明执行成功,否则就没有成功。此时就成功生成Makefile了。

进行编译

生成Makefile后,进行编译

make

编译后再使用echo $?验证是否编译成功。

安装

make install

执行完这一步,则会在/usr/local/apache2目录下增加很多目录。也可以使用echo $?验证是否安装成功。到此,Apache源码的安装就完成了。其实在日常的源码安装过程中,遇到错误不能完成安装的情况很多,这些错误通常都是因为缺少某一个库文件。这需要你仔细琢磨报错信息或者查看当前目录下的config.log以得到相关信息。