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

相关推荐

  • N26-第九周作业-邢岩

    马哥门徒-N26-邢岩 相信自己、勤奋努力、不断总结!shell脚本练习需要重复、重复、再重复!那么,我就继续来写、写、写。 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #******************************…

    Linux干货 2017-04-03
  • 文本处理(1)

    文本处理工具最全整理上半部

    Linux干货 2018-03-15
  • 安装LNMP + 搭建WordPress个人博客

    安装LNMP + 搭建Wordpress个人博客 前言 来到马哥教育也有几个月了,学了很多知识。现在想要把这些知识能够存储在一个地方,随时随地的都能看到,于是乎我就想到了博客,以下我搭建Wordpress的过程。 安装LNMP 一、关掉防火墙 # chkconfig iptables off 二、安装开发包和库文件 #&nbsp…

    Linux干货 2016-05-31
  • 使用NFS和Samba文件服务搭建博客站点

    使用NFS和Samba文件服务搭建博客站点 实验目的:分别使用NFS和Smaba文件服务实现wordpress 实验要求: (1) server导出/data/application/web,在目录中提供wordpress; (2) client挂载nfs server导出的文件系统至/var/www/html;(3) 客户端1(lamp),部署w…

    2017-04-30
  • linux基础学习第十二天(shell函数、数组以及yum使用及编译安装)

    2016-08-18 授课内容: shell编程基础(select 循环与菜单、函数) yum管理、定制yum仓库 select 循环与菜单         select variable in list       &…

    Linux干货 2016-08-21
  • 编程真难啊

    上周,在Sun的Java论坛上出现了一个这样的帖子,这个贴子的链接如下:http://forums.sun.com/thread.jspa?threadID=5404590&start=0&tstart=0 LZ的贴子翻译如下: 大家好,我是一个Java的新手,我有一个简单的问题:请问我怎么才能反转一个整数的符号啊。比如把-12转成+12。是…

    Linux干货 2015-04-03