程序包管理之编译安装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

相关推荐

  • 软件管理

    ldd   /path/to/binary_file       查看二进制所依赖的库文件 ldconfig  -p  查看已缓存的库文件名和文件路径 配置文件 :/etc/ld.so.conf,   /etc/ld.so.conf.d/*.conf 缓存文件:/etc/ld.so.cac…

    Linux干货 2017-06-11
  • HA专题: corosync+pacemaker实现nginx高可用

    HA专题: corosync+pacemaker实现nginx高可用 前言 实验介绍 实验拓扑 实验环境 实验步骤 准备工作 安装HA集群组件 安装nginx和配置nfs 使用crmsh配置集群资源 测试 总结 前言 这几天都会学习高可用集群, 也会将其中的一些实验写出来分享给大家, 这个专题估计会写5篇左右, p.s: 写博客很累的 实验介绍 这次的实验比…

    Linux干货 2016-04-11
  • 第三次作业

    第三次作业 一、软链接与硬链接的区别    硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。 硬链接可由命令 link 或 ln 创建,如: 1 2 #link oldfile newfile  #ln oldfile newfile   由于硬链接是有着相同 i…

    Linux干货 2016-08-03
  • 如何修复Ubuntu 12.04上时间不正确的问题

    大家好: 今天跟大家分享下如何修复ubuntu 12.04上时间不正常的问题。 1–首先打date查看系统的时间是否正常 martell@cnux10:~/sistes/sha-mmb-o2o2o$ date  Thu Dec  1 09:15:47 UTC 2016 martell@cnux10:~/sistes/sha-m…

    Linux干货 2016-12-04
  • linux下安装配置DHCP服务器

    前提是已经安装了 core 及 base 两个组   1 2 3 4 5 # cat /etc/redhat-release   Red Hat Enterprise Linux Server release 6.8 (Santiago)&…

    Linux干货 2017-05-03
  • 6个用于大数据分析的最好工具

    大数据是一个含义广泛的术语,是指数据集,如此庞大而复杂的,他们需要专门设计的硬件和软件工具进行处理。该数据集通常是万亿或EB的大小。这些数据集收集自各种各样的来源:传感器,气候信息,公开的信息,如杂志,报纸,文章。大数据产生的其他例子包括购买交易记录,网络日志,病历,军事监控,视频和图像档案,及大型电子商务。  在大数据和大数据分析,他们对企业的影…

    Linux干货 2015-04-04