一、环境装备

   Linux下需要编译安装的软件大部分来说多都是源码,其中以C语言编写的源码居多。这些由高级语言写成的源码必须经过编译成为机器所能识别的二进制程序,才能在我们的机器上跑起来,所以中间必不可少的就是编译过程。要对源码进行编译,那我们必须搭建编译环境。

   1、yum源的配置

   使用# yum repolist命令查看当前主机是否具有可用的yum源(yum:前端软件管理工具)。CentOS 下编译安装httpd_编译安装 yum httpd

若最后一行显示repolist说明有可用的yum源,若未能发现那用vim编辑器编辑 /etc/yum.repos.d/Centos-Base.repos文件,将baseurl那一栏换成可用的yum源地址了。

   2、开发环境安装

   当上面的执行成功了之后,也就是具备可用的yum源后,使用# yum grouplist命令查看当前主机上已安装的软件包组,看Installed Groups下是否有“Developmeng Tools”这个包组已经安装成功。CentOS 下编译安装httpd_编译安装 yum httpd_02        

   如果没有你需要使用# yum groupinstall "Development Tools" -y命令来安装这个包组,

这个包组是我们编译源码必须的,包括大名鼎鼎的gcc就在这个包组中。

   包组安装完成之后需要检验一下,看是否真的安装成功。

CentOS 下编译安装httpd_编译安装 yum httpd_03

   至此,编译所需要的软件环境搭设完毕,下一步就可以对下载到的源码进行编译了。

二、编译及安装

   源代码为了确保来源可靠性,以及包的完整性需要到官方网站进行下载。源码包通常用tar工具打包并压缩。使用wget工具下载到当前目录并使用tar进行解压。通常来说,软件源码并非纯粹到的源码,源码在打包之前,软件开发商就已经将源码进行过处理,然后生成configur脚本,这个脚本在执行的时候会检测我们当前主机的环境,以及软件的相依性,我们可以指定程序安装路径,以及需要的功能。这个脚本会生成一个makefile的配置文件,然后make编译的过程中会根据这个文件对源码进行编译及定制,生成二进制脚本。最后使用make install安装软件。

   1、下载需要编译的源代码

   切换目录至存放源码的目录,然后使用#wget URL的方式下载源码至本地并解压。

CentOS 下编译安装httpd_编译安装 yum httpd_04

其中比较重要的一些文件就是README,INSTALL了,安装之前需要看看有啥需要注意的事项没,比如说INSTALL中就说明了安装方式及启动方式。当然跟详细的信息就需要./configure --help了。

CentOS 下编译安装httpd_编译安装 yum httpd_05

   2、configure检查安装环境生成makefile配置文件

   使用#./configure --prefix=指定安装路径 --sysconfdir=指定配置文件路径 --enable=指定要开启的功能等。然后configure脚本就开始执行了。CentOS 下编译安装httpd_编译安装 yum httpd_06

   耐心等待执行完成,如果没有报错,那么恭喜可以直接make编译了,如果报错,那就要具体问题具体处理了,不过通常情况下都是所依赖的软件包未能安装所致,这时候就需要使用# rpm -q “包名”来查看是否安装了,或者#yum list 包名 来查看支包了,安装妥当之后再执行configure脚本了。

   3.使用make命令编译

   当上一步没有问题的时候就可以开始编译了,这一步主要就是调用gcc这个软件对源码进行处理,生成我们需要的二进制程序。

CentOS 下编译安装httpd_编译安装 yum httpd_07

   4.上一步完成之后就需要最后一步安装了,说白了就是把生成的二进制程序以及配置文件复制到指定的文件夹之中。#make install

CentOS 下编译安装httpd_编译安装 yum httpd_08

   等待执行完成至此编译安装过程就完成了。

三、环境变量设置

   设置PATH路径,以方便我们每次不用输入绝对路径来启动这个程序。

# vim /etc/profile.d/apache.sh
添加下面的路径到其中,并保存退出。
PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH
export PATH

    头文件输出给系统:

ln -sv /usr/local/apache/include /usr/include/httpd

    库文件输出给系统

vim /etc/ld.so.conf.d/httpd.conf
添加下面路径
 /usr/local/apache/lib

  然后使用# ldconfig 命令让系统重读配置文件。至此安装工作全部完成,可以启动下看是否启动成功了。启动命令为

apachectl start

   验证,使用# ifconfig查看本机IP然后在别的机子上浏览器中输入IP查看下是否有变化。CentOS 下编译安装httpd_编译安装 yum httpd_09

对 It works!那说明我们编译安装成功了。