程序包管理之编译安装apache

编译就是讲开发者提供的源代码,通过编译器,汇编器,连接器转换成可以直接在操作系统上运行的二进制指令的过程。C/C++源码的编译通常包括以下几个过程:

    预处理(Preprocessing)
    编译(Compilation)
    汇编(Assembly)
    链接(Linking)

gcc编译器的大体过程如下图所示:程序包管理之编译安装apache

Linux中源码编译前我们首先需要依赖环境的支持,即编译工具、以及各个被依赖的程序包的开发组件:

1.编译的工具包组有:

Development tools

Server Platform Development

Desktop Platform Development

Debug Tools

2.被依赖的程序包的开发组件:

(1)编译安装被依赖的程序;

(2)安装相关程序的名称中包含devel的子包;

由于源码包中的源码文件存放在多个文件中,彼此之间存在着依赖关系,所以我们需要项目管理工具,相对于C/C++我们通常使用的是GNU make。项目构建工具会根据配置文件(makefile)中定义的次序对源码文件进行编译。

编译安装的过程如下:

1.运行configure脚本

configure脚本的应用:

–prefix:指定默认安装路径

–sysconfdir:指定配置文件安装路径

–with-CAPABLILITY:依赖的程序包

–without-CAPABILITY:不依赖的程序包

–enable-FEATURE:启用某个特性

–disable:禁用某个特性

2.运行make命令,完成项目构建

3.运行makeinstall命令,完成安装

我们以Apache为例进行演示:

程序包管理之编译安装apache 程序包管理之编译安装apache程序包管理之编译安装apache

经过上述三步,编译安装的基本步骤已经完成,下面我们需要将编译生成的二进制程序文件路径,库文件路径,以及头文件,man帮助手册路径写入系统的环境变量当中: 1).在/etc/profile.d/下建立一个以.sh结尾的文件将/usr/local/apache2/bin路径添加进去。 程序包管理之编译安装apache

2).在/etc/ld.so.conf.d下面建立一个以.conf结尾的的文件将库文件路径写进去。并执行ldconfig命令,重新生成库映射缓存ld.so.conf. 程序包管理之编译安装apache

[root@localhost ~]# ldconfig

3).将头文件生成软连接到/usr/include中 程序包管理之编译安装apache 4).将man手册路径添加到/etc/man.conf当中(CetenOS 6.8) 程序包管理之编译安装apache

测试安装是否成功:

[root@localhost include]# apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[root@localhost include]# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address   Foreign Address State  
tcp0  0 0.0.0.0:111 0.0.0.0:*   LISTEN  
tcp0  0 0.0.0.0:22  0.0.0.0:*   LISTEN  
tcp0  0 0.0.0.0:38326   0.0.0.0:*   LISTEN  
tcp0  0 127.0.0.1:631   0.0.0.0:*   LISTEN  
tcp0  0 127.0.0.1:250.0.0.0:*   LISTEN  
tcp0 64 10.1.250.133:22 10.1.250.21:2519ESTABLISHED 
tcp0  0 :::58111:::*LISTEN  
tcp0  0 :::111  :::*LISTEN  
tcp0  0 :::80   :::*LISTEN  #80端口已经出现
tcp0  0 :::22   :::*LISTEN  
tcp0  0 ::1:631 :::*LISTEN  
tcp0  0 ::1:25  :::*LISTEN

关闭防火墙:

[root@localhost include]# iptables -F

用links浏览器测试:

程序包管理之编译安装apache

显示It works表明安装成功,并且服务已经开启。

原创文章,作者:YOUNG,如若转载,请注明出处:http://www.178linux.com/39503

(0)
YOUNGYOUNG
上一篇 2016-08-24 21:23
下一篇 2016-08-24 21:23

相关推荐

  • 程序包管理的前端工具YUM及案例一二

    程序包管理前端工具–YUM        yum:yellowdog update modifier        yum工具为CS架构 yum仓库(yum repository):yum repo   &n…

    Linux干货 2016-08-24
  • 第六周作业-Vim总结

                    Vim总结 vim功能比较多,这里我不总结vim多窗口,只对基本常用的介绍. 一.模式说明 vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模…

    Linux干货 2017-01-16
  • Linux basics–part1

    一、计算机的组成及其功能 依据冯·诺依曼体系结构,计算机可分为五大部分,CPU的运算器和控制器、内存、输入、输出。 CPU运算器:计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存…

    Linux干货 2017-07-10
  • 第一周作业

    一、计算机的组成及功能(参照书籍:《计算机的组成原理》)  按照冯•诺伊曼结构,计算机的硬件由运算器、控制器、存储器、输入设备和输出设备五部分组成。  CPU   :由运算器与控制器组成。主要功能就是控制各部件协调工作。         运…

    Linux干货 2017-02-06
  • lvs-nat集群

    lvs-nat算法 nat模型样式 vs服务器:公网地址 172.18.250.253 私网地址 192.168.57.129 (DIP) 各私网服务器网关指向服务器DIP 各私网服务器做集群:web (telnet,ssh) 私网服务器使用httpd实现 rs私网服务器1 centos7 ip:192.168.57.132 rs私网服务器2 centos6…

    Linux干货 2017-05-15
  • linux基础命令之ls命令

                    linux 基本命令之ls命令   ls (list): 列出指定目录下的内容,默认 ls=’ls –color=auto’,通过命…

    Linux干货 2017-03-26