linux http服务源码编译安装详解

相信大家大多都听过linux 的编译安装,但它到底是怎么把源代码变为自己电脑里可以应用的软件哪?今天,小编就以httpd 为例详细讲解一下。

什么是编译安装——编译:将源代码变为机器可执行的代码文件。安装:将可执行文件安装到操作系统里,才可以使用。

一、下载httpd最新版本的源码包

(1)如果电脑里有老版本的情况下,rpm -qi httpd 查看详细信息,里边有这个命令下载的官网,没有老版本就去官网查找。

(2)去官网下载最新版本(自己想要的版本)(一般在downloads下)

(3)rz上传到linux ,并解压包 tar -xf  httpd-2.4.27.tar.bz2

二、查看INSTALL、README 这些帮助信息

进入cd httpd-2.4.27/

查询 cat INSTALL,里边有简单的安装过程,和一些例子

查询 cat README,(what is it ?)里边有一些Apache 的功能介绍

三、configure脚本(检测当前编译环境)

(1)./configure --help 查询这个脚本的用法,

--prefix=PREFIX  指定默认安装总目录, 默认为/usr/local/

--sysconfdir=/PATH 配置文件安装位置,默认就安装到指定安装总目录的下面

Optional Features:  需要什么功能

--disable-FEATURE 关闭某些功能

--enable-FEATURE 开启某些功能

(2)下面我们就来执行这个脚本,添加一些简单的设置

./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24  --enable-rewrite

① 首次安装,会提示出一些错误,因为有些包没有安装

② 我们只需按照提示的错误,把需要的都安装上去(直到没有提示错误)

先查询缺少的 yum search apr-devel(一般关于开发的都叫 devel)

再安装 yum -y install apr-devel

中间会提示一个,没有C编译工具,缺少gcc的错误,这时候,我们需要下一个包组Development Tools

yum -y groupinstall 'Development Tools'

③ configure脚本完全执行成功(多了一个Makefile)没有Makefile ,不能下面make过程

四、make    和    make install 编译

make 编译后,多了很多.o .lo 文件 (二进制文件),在此之前的工作,任何用户都能做,并且都在httpd-2.4.27 这个目录下进行

make install 安装到指定位置,只有root 能做,

安装完毕

五、启动服务 

(1)netstat -ntl  查看本地监听端口,有没有开启80端口

如果没有开启, service httpd start 开启80端口

(2)设置防火墙,因为防火墙组织了80端口

  iptables -vL  查看防火墙策略,防火墙阻止,可以关闭防火墙

  systemctl status firewalld.service 查看当前防火墙状态(只有centos 7 中有)

    或 systemctl is-active firewalld.service  查看当前防火墙状态

  systemctl stop firewalld.service 暂时关闭防火墙(下次开机会在开启)

  systemctl is-enabled firewalld.service  查看开机时是否开启防火墙

  systemctl disable firewalld.service  设置开机时不开启防火墙

如果是centos 6 以下的较低版本

  service iptables stop 关闭防火墙

  chkconfig httpd off 设置开机时不开启防火墙

(3)如果是安装新版本,需现将旧版本卸载 rpm -e httpd (rpm -qf `which httpd`查询当前版本)

(4)/app/apache24/bin/apachectl start  开启服务

就此服务开启成功!!!

/app/apache24/bin/apachectl stop 可以关闭服务

六、安装后的配置

(1)设置PATH   export PATH=$PATH:/app/apache24/bin/

  设置后,可以 apachectl start 开启服务

         apachectl stop 关闭服务

(2)导入帮助手册man

  vim /etc/man_db.conf

  加入一行 MANDATORY_MANPATH                       /app/apache24/man

就可以man apachectl

到此就完成所有工作了!!!

希望对大家有帮助,有什么错误请告诉我~

(0)

相关推荐

  • idea+centos7+zookeeper报错connectionloss,timeout问题

    之前一直报错连接不上,检查了很多遍ip也对着,端口也是,配置等等都没有问题,也能ping通linux主机,一整天没调通,烦都烦死了. 后来第二天继续调试,发现之前关闭防火墙的时候,使用的是system ...

  • CentOS7 配置LAMP环境

    一.关闭防火墙 1.查看防火墙状态 systemctl status firewalld inactive 关闭状态 active  开启状态 2.关闭防火墙 systemctl stop firew ...

  • Linux系统如何关闭防火墙?方法介绍!

    防火墙是一项为了保证操作系统安全而特定的协议,虽然有的时候会给我们带来很多好处,同时有时候防火墙开启也会导致我们遇到一些麻烦,那么在Linux系统中,如何关闭防火墙? CentOS6 # 临时关闭防火 ...

  • MySQL 8.0.22 源码编译安装全过程

    墨墨导读: Mysql的8.0版本出来已经有一段时间了,近期研究下源码调试.整个编译过程越来越复杂了. 近期研究下源码调试,MySQL5.7版本源码安装还是比较简单的,有很多例子参考.所以这次选择My ...

  • Linux下通过源码编译安装程序

    本文简单的记录了下,在Linux下如何通过源码安装程序,以及相关的知识. 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的 ...

  • linux源码的安装步骤

    inux上几乎所有的软件都经过了GPL授权,因此几乎所有的软件都会提供源码. 而一个软件要在Linux上执行,必须是二进制文件,因此当我们拿到软件源码后,需要将它编译成二进制文件才能在Linux上运行 ...

  • Linux值Redis缓存的编译安装

    通过wget方式直接在linux上下载Redis [root@livecd root]#wget http://download.redis.io/releases/redis-3.2.3.tar.g ...

  • httpd-2.4.46 (apache) 基于网络源码包安装

    注:这个脚本在 centos7.3 7.9 上面测试过, 测试的虚拟机是处于 cenos刚安装完系统,的快照下测试的 还有一个待补充的是 配置httpd-2.4.46 时候,的具体每一项配置 或者可以 ...

  • deepin20 安装英伟达闭源驱动的步骤详解

    这篇文章主要介绍了deepin20 安装英伟达闭源驱动的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下第一步.安装深度的"显卡驱动器" ...

  • qt5.15源码编译 fontconfig无法编译成功问题的解决 | 码农家园

    qt源码5.15,编译环境centos7 linux,之前yum install fontconfig fontconfig-devel freetype freetype-devel等都已经没问题了 ...

  • Elasticsearch7.5.0源码编译

    环境及工具 JDK12 Gradle5.6.2 GIT 源码及预处理 到github将代码clone下来,可以根据自己的需求来获取版本,例如 git checkout v7.5.0 提前下载gradl ...

  • 飞凌嵌入式技术分享-高效学习Linux内核——从源码中的宏下手

    在阅读Linux内核代码时,在代码的开头总是有各种各样的宏定义,了解熟悉这些宏定义,对于代码的理解和快速修改代码提供了便利.有些宏相对简单,一眼便可以了解作用,有些就稍微复杂一些,需要一些逻辑,今天就 ...