【LINUX编译安装程序】Centos7.4编译安装httpd 2.4.29

举例:Centos7.4编译安装httpd 2.4.29

编译安装原理和步骤

编译安装原理:

源代码–>预处理–>编译–>汇编–>链接–>执行

c语言源代码使用make项目管理器,编译安装的通用三个步骤:

1、./configue

(1)通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及模板文件Makefile.in文件生成Makefile httpd 指定安装到路径 /apps/httpd

(2)检查依赖到的外部环境,如依赖的软件包

2、make 根据Makefile文件,构建应用程序

3、Make install 复制文件到相应路径

开发工具: Autoconf:生成configue脚本 Automake:生成makefile.in

注意:安装前查看INSTALL, README

Centos7.4编译安装httpd 2.4.29

1、获取httpd 2.4.29的源代码:wget + 下载url

wget https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.29.tar.bz2

解压并指定到文件夹:tar xvf file -C /usr/local/src

Tar xvf /root/httpd-2.4.29.tar.bz2 -C /usr/local/src

两个小命令:

看大小:du -sh .

查找.c后缀文件:find -name “*.c”

2、安装编译工具开发包组及依赖工具:包含C/c++编译器:gcc

yum groupinstall Development tools

先查包组列表:yum grouplist 看包组信息:yum groupinfo xxx 依赖的程序先安装:APR安装 pcre安装 yum install apr-util-devel yum install pcre-devel

3、查看程序解压保存目录的文件README、INSTALL等文件

cd /usr/local/src/httpd-2.4.29 cat README INSTALL

4、目录文件夹下按步骤执行:

4.1 ==./configure ==

./configure –prefix=/apps/httpd24 –sysconfdir=/etc/httpd24
如果不设置 会存放在[/usr/local/apache2]
echo $? 表示成功 0

4.2 == make==

make -j 4 && (echo -e ‘\a’;sleep 1;echo -e ‘\a’)

4.3 ==make install ==完成复制安装

make install

4.4 启动httpd

apachectl start

设置路径

echo ‘PATH=/apps/httpd24/bin;$PATH’ > /etc/profile.d/httpd24.sh ./etc/profile.d/httpd24.sh

apachectl start

查看80端口是否启动

ss -ntl

查看网站:192.168.10.202

关闭防火墙 iptables -vnL

systemctl stop firewalld 关闭 systemctl disable firewalld 开机不启动(centos7的命令) service iptables stop chkconfig iptables off 开机不启动(centos6 的命令)

网页页面在

apps/httpd24/htdocs

vim index.html

关于作者

周小智,QQ2406962394(可加微信),相互交流技术

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92572

(1)
JacoJaco
上一篇 2018-03-17 17:27
下一篇 2018-03-17 20:32

相关推荐

  • 第七周小练习

    1.创建一个10G分区,并格式为ext4文件系统 (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl (2)挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 fdisk /dev/sdb n p 1 +10G w mke2fs -t&nbs…

    Linux干货 2017-01-05
  • Java输入输出流

    1.什么是IO       Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 &nb…

    Linux干货 2015-04-10
  • corosync+pacemaker对mariadb实现高可用

    corosync+pacemaker对mariadb实现高可用 利用nfs共享存储,导出一个目录作为mariadb的数据目录,然后利用corosync+pacemaker对mariadb进行高可用 1、实验环境 2、实验前的分析 利用nfs导出目录作为mariadb的共享目录,要确保各个mariadb节点对该目录具有写权限,也就是要确保nfs服务器上有一个U…

    Linux干货 2016-11-24
  • 关于shell脚本编程基础第三篇

                          关于shell脚本编程基础第三篇   本章主要内容:循环的特殊用法;while;for;select 循环与菜单       &nbsp…

    系统运维 2016-08-21
  • nginx初步

    一、知识整理 1、查看进程使用的cpu;ni查看nice值 [root@localhost html]# ps axo pid,comm,psr,ni  43769 nginx          &n…

    Linux干货 2016-10-31
  • 马哥教育21期网络班—第五周课程+练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep "^[[:space:]]\+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; grep "…

    Linux干货 2016-07-29