我这里实验是用的CentOS7

#事先先检查一下自己的linux是否安装apache

[root@localhost ~]#rpm –q httpd

#如果已安装则先卸载原来的apache

[root@localhost ~]#yum –y remove httpd

#我这里安装的虚拟机,做实验前恢复到刚安装时的快照

#下载httpd源码包,以及三个安装所需的依赖包的源码包

一、下载,准备安装rpm源码包

1.Apache HTTP Server(我这里下载的是httpd-2.4.39.tar.gz)

地址:http://httpd.apache.org/download.cgi#apache24

2. APR 和 APR-Util(我这里下载的是apr-1.5.2.tar.bz2 和apr-util-1.5.4.tar.gz)

地址:http://apr.apache.org/download.cgi

3. PCRE(我这里下载的是pcre-8.35.tar.gz)

地址:https://ftp.pcre.org/pub/pcre/

#安装源码包的时候还可能跟下载的包有问题,怎么装都不正确,我换了一个1.5的安装就成功了,,不知道为什么。。。

二、开始安装

#可以用wget命令直接下载到linux中,我这里用的windows下载,并上传到linux上

#wget url_path

#安装编译环境(一定要安装gcc/gcc-c++ 可以用[root@localhost ~]#gcc –v查询是否安装)

[root@localhost ~]#yum –y install gcc-c++ make

 

#这里我将上传在/root/目录下的所有压缩包解压到/usr/local目录下

 [root@localhost ~]# .tar.bz2 -C /usr/local/        //-C表示解压到指定路径

 [root@localhost ~]# .tar.gz -C /usr/local/

 [root@localhost ~]# tar xf pcre-8.35.tar.gz -C /usr/local/

 [root@localhost ~]# .tar.gz -C /usr/local/

#如果出现不能解压.bz2格式的情况,先用yum下载好bzip2

 #进到/usr/local/目录下,没问题的话,开始安装第一个apache依赖包,首先安装apr-1.5.2

 [root@localhost ~]# cd /usr/local/

 [root@localhost local]# ls

 [root@localhost local]# cd apr-

 [root@localhost apr-]#./configure --prefix=/usr/local/apr        //prefix表示指定安装路径

 [root@localhost apr-]#make&&make install             //编译并进行安装

/#没有出现error错误的话那就安装成功了

 #开始安装第二个依赖包,apr-util-1.5.4的安装还依赖于apr-1.5.2。所以放在第二个安装

 [root@localhost apr-]# cd ../apr-util-

 [root@localhost apr-util-]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr--config              //这里with将其关联起来,解决安装的依赖关系

 [root@localhost apr-util-]#make&&make install

 #安装第三个依赖包

 [root@localhost apr-util-]# cd ../pcre-8.35

 [root@localhost pcre--config

 [root@localhost pcre-8.35]#make&&make install

#开始安装apache

 [root@localhost pcre-

 [root@localhost httpd-]#./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

 [root@localhost httpd-]#make&&make install

#这里一定要关闭防火墙,否则浏览器没办法访问到

1 [root@localhost ~]#systemctl stop firewalld
2
3 [root@localhost ~]#setenforence 0    //关闭selinux防火墙

#编辑httpd.conf文件,搜索"ServerName"

 [root@localhost ~]# cd /usr/local/httpd/conf/

 [root@localhost conf]# ls

 extra  httpd.conf  magic  mime.types  original

 [root@localhost conf]# vim httpd.conf

 #ServerName www.example.com:                //将前面的#去掉,或者自己添加也行

#再重新启动apache 即可

 [root@localhost conf]#/usr/local/httpd/bin/apachectl restart        //注意,这里得用二进制程序来启动,而不能用systemctl start httpd来启动

#这里所有路径跟你自己解压、安装的命名和位置有关系,跟我不同的位置的要注意下咯,免得找不到尴尬

三、测试

浏览器输入服务器IP地址,出现It works就代表成功了!!!ok,收工

Linux源码包安装apache(httpd)的更多相关文章

  1. 【Ubuntu 16】源码包安装Apache Httpd

    源码包安装适合初学者使用. 背景信息 APR (Apache Portable Runtime) Apache可移植运行的任务(APR)项目是创建和维护软件库,为底层平台的具体实现提供了一个可预见的和 ...

  2. Linux源码包安装程序

    ★安装OS时,建议提前安装开发组件 CentOS 6:Development Tools.Server Platform DevelopmentCentOS 7:Development Tools.D ...

  3. Linux源码包安装过程及注意事项

    众做周知RedHat Linux使用RPM包管理器安装rpm包,但是RPM包是由红帽编译打包的,通常相对于最新版落后了很多,甚至可能缺少我们所要使用的功能.如果你需要定制想要的软件功能.自定义安装路径 ...

  4. linux 源码包安装拾遗

    源码包安装和apt-get/yum的区别 安装前的区别:概念上的区别 rpm和dpkg包是经过编译过的包,并且其安装位置由厂商说了算,厂商觉得安装在哪里合适,就会装在哪里,而源码包则是没有经过编译的文 ...

  5. Linux 源码包安装过程

    安装准备 安装gcc编译器 下载源码包 源代码保存位置:/usr/local/src/ 软件安装位置:/usr/local/ 解压缩下载的源码包 进入解压缩目录 软件配置与检查:./configure ...

  6. Linux源码包安装和脚本安装

    能够先 vi INSTALL 看看安装过程. 1.源码包安装 2.脚本安装

  7. CentOS源码包安装apache、nginx服务

    1.通过官网下载apache.nginx源码包 2.进入apache源码包所在目录,解压tar -xf httpd-2.4.12.tar.gz 3.cd httpd-2.4.12 4.阅读README ...

  8. 源码包安装apache

    含有的命令:cd,wget,tar,cd,yum,./configure,make,make install,vim ===安装apache=== [root@ycj ~]# cd /usr/src/ ...

  9. linux 源码编译安装apache

    cc1 是c语言的编译器.

随机推荐

  1. Java 客户端负载均衡

    客户端侧负载均衡 在下图中,负载均衡能力算法是由内容中心提供,内容中心相对于用户中心来说,是用户中心的客户端,所以又被称为客户端侧负载均衡 自定义实现Client Random负载均衡 获取所有的服务 ...

  2. 洛谷P2790 ccj与zrz之积木问题 题解

    题目链接:https://www.luogu.org/problemnew/show/P2790 这题码量稍有点大... 分析: 这道题模拟即可.因为考虑到所有的操作vector可最快捷的实现,所以数 ...

  3. xpath路径的写法

    关于xpath路径的写法 1.选取节点 表达式 描述 nodename 选取此节点的所有子节点. / 从根节点选取. // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置. . 选取当前节点 ...

  4. C#3.0新增功能10 表达式树 07 翻译(转换)表达式

    连载目录    [已更新最新开发文章,点击查看详细] 本篇将介绍如何访问表达式树中的每个节点,同时生成该表达式树的已修改副本. 以下是在两个重要方案中将使用的技巧. 第一种是了解表达式树表示的算法,以 ...

  5. md文档的书写《三》

    markdown语法 官网 这是标题 "#加空格" 是标题,通常可以设置六级标题. 内容下 空格是换行 列表 无序列表:使用" - + * "任何一种加空格都可 ...

  6. python利用select实现的Socket Server

    # 利用python的select模块实现简单的Socket Sever #实现多用户访问,再次基础上可以实现FTP Server应用程序 # 发布目的,在于解决了客户端强行终止时,服务器端也跟着程序 ...

  7. mysql5.7.18-winx64安装

    win10下装mysql-5.7.18-winx64 步骤1 官网下载地址:https://dev.mysql.com/downloads/mysql/ 选择手动安装版: 解压到D盘mysql文件夹下 ...

  8. Docker入门学习笔记

    Docker 什么是Docker 虚拟化技术 在计算机中,虚拟化是一种资源管理技术,将计算机中的各种实体资源如:CPU.硬盘.内存等予以抽象.转换后呈现出来打破实体结构间的不可切割的障碍,使用户可以比 ...

  9. JAVA基础——Switch条件语句

    JAVA基础——switch 条件语句 switch语句结构: switch(表达式){ case值1: 语句体1: break: case值2: 语句体2: break: case值3: 语句体3: ...

  10. Python学习系列(三)Python 入门语法规则1

    一.注释 ''' 多行注释 ''' #单行注释 '''    #example1.1 测试程序  时间:4/17/2017 i1=input("请输入用户名:") i2=input ...