centos7源码编译安装Apache2.4.25服务

•一、源码包下载

•二、安装开发环境以及编译环境

•三、编译安装以及报错排查

•四、调试Apache服务


前言:

本文主要介绍了在Centos7环境中如何通过源码编译的方式安装Apache服务(也就是我们的httpd服务)由于本文整理时间有限,所以难免有些纰漏之处,欢迎大家在阅读后在评论区指出,本人看到会在第一时间修改文中错误的地方。

为什么要进行源码编译安装

一般来说,我们软件的安装方式有yum(rpm),和源码编译两种方式,那么为什么我们需要源码编译安装一部分软件?选择源码编译安装软件有以下几个原因: 1:满足不同的运行平台,我们Linux发型版本众多,但是每个版本采用的软件或者内核版本都不一样,而我们的二进制包所依赖的环境不一定能够正常运行,所以大部分软件直接提供源码! 2:方便定制,满足不同的需求,很多时候我们所需要的软件都是可以定制的,我需要什么就安装什么,大多数二进制代码都是一键装全,所以自由度并不高! 3:方便运维、开发人员维护,我们的源码是可以打包二进制的,但是对于这个软件的打包都会有一份代价不小的额外工作,包括维护,所以如果是源码的话,软件产商会直接维护,但是如果是二进制的话,一般都是Linux发行商提供!

一、Apache源码包下载

1:如何下载源码包

为了线上环境的安全,我强烈建议各位不要随便去网上搜索出来某个源码包就进行编译安装,正确的姿势是去它的官网去下载,当然下载之后为了安全起见同时也不要忘记校验它的贞操(MD5和SHA1校验码)。httpd服务官网地址:https://httpd.apache.org/如下图
centos7源码编译安装Apache2.4.25服务 
 如果觉得这样比较繁琐还可以通过wget命令进行下载

wget http://httpd-mirror.frgl.pw/apache//httpd/httpd-2.4.25.tar.bz2 “通过wget下载Apache的源码包”

centos7源码编译安装Apache2.4.25服务


二、安装开发环境以及编译环境

工欲善其事必先利其器,所以我们要想编译安装软件必须要具备开发环境。这里我将直接通过yum的方式安装开发环境包组

yum groupinstall “Development Tools” -y “安装开发环境包组” 
yum install make -y “安装make编译包” 
yum -y install gcc gcc++ zlib zlib-devel “安装编译apache时所需要的相关软件包”


三、编译安装以及报错排查

1、首先我们要对压缩包进行解压
   在解压之前我个人还是习惯去校验一下压缩包的贞操(MD5校验)

wget https://www.apache.org/dist/httpd/httpd-2.4.25.tar.bz2.md5“我这里直接下载源码包的md5值到本地进行对比” 
md5sum httpd-2.4.25.tar.bz2 “输出下载的httpd源码包的md5值” 
cat httpd-2.4.25.tar.bz2.md5 “查看官网给出的安装包md5值”

centos7源码编译安装Apache2.4.25服务

经过对比两个值相同,证明该源码包的贞操依在可以放心使用。

tar -xfv cat httpd-2.4.25.tar.bz2.md5 -C /usr/local/src/httpd-2.4.25/ && cd /usr/local/src/httpd-2.4.25/ “解压文件到指定的目录下,并且进入解压的目录”

2、开始编译源码包(切记当前目录是在/usr/local/src/httpd-2.4.25/)

./configure –prefix=/app/httpd2.4 –sysconfdir=/etc/httpd2.4/ && make && make install

--prefix=/app/httpd2.4 #httpd服务安装路径  --sysconfdir=/etc/httpd2.4 #httpd服务配置文件路径 

错误排查

configure: error: APR not found.  Please read the documentation.
  #apr依赖包没有找到
  解决方法 ` yum install apr-devel -y `
 configure: error: APR-util not found.Please read the documentation.
  #apr-util依赖包没有找到
  解决办法 ` yum install apr-util-devel -y ` 
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/ 
#pcre依赖包没有找到,如果需要pcre包可从http://pcre.org/获取最新版本。 
解决办法 ` yum install pcre-devel -y ` 
注释:通常编译报错提示的"xxx  not found"这些都是我们安装的软件所依赖的包,而你的环境没有安装导致的错误,安装即可。
而安装这些依赖包通常都是缺少的开发包所以我这边安装的都是以 ` ***-devel ` 的依赖包。我啰嗦这么多是基于性能上考虑,尽量减少不必要的安装包来减少服务器的压力。
如果你的服务器配置够好可以使用通配符 `yum -y install pcre*  apr* ` 来解决安装包的问题(但是不推荐这样的方式)
3、生成Makefile文件进行make install安装
` make -j 2 && make install ` "-j参数是加速编译  2是调用CPU的两个核心来编译   make install就是把编译好的文件进行安装" 
注释:-j参数后面跟的数字是你的CPU可用的核心数 不能超过实际的核心数量。
make 编译时系统默认是值是 make -j 1(所以你CPU是单核的话就不用加 -j参数了,直接make编译就可以了,只不过花费的时候可能会长一些。)

四、调试Apache服务

1、配置Apache的启动脚本

cp /app/httpd2.4/bin/apachectl /etc/init.d/httpd “复制启动程序到/etc/init.d/目录下并改名为httpd让系统调用” 
这时我们就可以使用/etc/init.d/httpd start来启动Apache服务了 
或者是下面这种写成PATH环境变量
echo ‘PATH=$PATH:/app/httpd2.4/bin’ > /etc/profile.d/httpd.sh && source /etc/profile.d/httpd.sh#这里是将/etc/init.d/httpd直接放在了PATH变量中,然后启用变量生效,这样我们直接可以运行httpd start 就可以启动服务了

` ss -tunl | grep 80 ` //查看80端口已经打开 这时打开浏览器访问你的IP地址就可以看到80端口的服务已经可以正常访问
centos7源码编译安装Apache2.4.25服务 
2、Apache安装完成需要注意的地方

ps -aux | grep apache //源码编译apache,运行用户为deamon

centos7源码编译安装Apache2.4.25服务 
id daemon //编译安装运行用户身份是daemon 
useradd -M -s /sbin/nologin apache //创建一个用户用来运行apache 
vim /etc/httpd2.4/httpd.conf //修改配置文件改变apache运行身份

centos7源码编译安装Apache2.4.25服务

User apache #运行用户 Group apache #运行组,创建apache的时候已经即时创建了apache这个组 

id apache //显示我们刚才新建的apache用户的信息 
chown -R apache:apache /app/httpd2.4/ //默认是root,改为apache 
ps -aux | grep httpd 查看是否为apache用户身份运行httpd服务

centos7源码编译安装Apache2.4.25服务

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

(1)
谷歌 shark谷歌 shark
上一篇 2017-04-22 19:44
下一篇 2017-04-22 21:41

相关推荐

  • N21_第6周_vim

    N21_第6周_vim 请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; 3、删除/tmp/…

    Linux干货 2016-08-15
  • 第十周-Centos启动流程及Shell脚本编程

    一、CentOS启动流程 POST –> Boot Sequence(BIOS) –> Boot Loader (MBR) –> Kernel(ramdisk) –> rootfs –> switchroot –> /sbin/init –…

    2017-10-14
  • 高级文件系统管理

    高级文件系统管理 配置配额系统 在内核中执行 以文件系统为单位启用 对不同组或者用户的策略不同 根据快或者节点限制,软限制 soft 硬限制hart 初始化 分区挂载选项 usrquota,grgquota 初始化数据库:quotacheck 执行配置 开启或者取消 quotaon ,quotaoff 直接编辑配额 edquota username 在she…

    Linux干货 2017-05-03
  • vim文本编辑器

    vim简介: vi: Visual Interface,文本编辑器 文本:ASCII, Unicode 文本编辑种类: 行编辑器: sed 全屏编辑器:nano, vi vim – Vi Improved 其他编辑器: gedit一个简单的图形编辑器 gvim一个Vim 编辑器的图形版本   vim使用: 三种主要模式: 命令(Norm…

    Linux干货 2017-06-17
  • Linux之网络的风采——以后也能做网管了

    理论基础 1、先说说这个IP:     IP是一种协议,计算机与计算机通信协议,是一种底层通信协议,分为IPv4与IPv6,现在使用的还是IPv4     IPv4由32位二进制组成,也就是由32位0或者1组成,通过排列组合也能算出来这个世界一共有多少个IP了,有2^32个IP约42.9亿个IP,但是据说现在地球人口已…

    2017-03-26
  • Linux学习

    计算机的组成及功能 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部件组成。运算器:进行算术和逻辑运算。控制器:负责协调和指挥整个计算机的工作存储器:存储程序、数据和文档。输入设备:用于将各种数据输入计算机中。输出设备:用于将计算机中的数据输出到相应设备上。   计算机软件总体分为系统软件和应用软件两大类:系统软件是各类操作系统,如wi…

    Linux干货 2017-12-03

评论列表(1条)

  • renjin
    renjin 2017-04-28 10:50

    详细的介绍了linux下的编译安装使用,内容及排版都特别精细,非常好的一篇博客,博客数量上可以再增加一些了!