实验目的:使用手工编译的方式搭建httpd服务。

实验步骤:共享源代码安装包、解压缩源代码内容、./configure配置各种参数项、make编译、make install安装。然后就是配置httpd的主配置文件内容,下面是详细步骤。

首先是准备工作,如下图所示把这几个源码包下载下来,放在一个文件夹里面,然后共享出来,使linux主机可以正常访问(或者使用其他方法,不知道怎么操作就看我的上一篇博客)。

linux 离线 安装 nginx linux离线安装httpd_操作系统

然后是解压缩软件包,把上面三个下载好的软件包全部解压到opt目录下。

linux 离线 安装 nginx linux离线安装httpd_linux 离线 安装 nginx_02

然后切换到解压目录下,复制其中的apr和apr-util文件夹到本目录的httpd-2.4.2/srclib目录下,后面再加个文件名称。

然后就是需要安装httpd所必须的一些语言环境和安装环境了。使用rpm安装C语言和C++时会有依赖性关系,所以在这里我直接创建了yum仓库来解决依赖性关系vim /etc/yum.repos.d/abc.repo。

linux 离线 安装 nginx linux离线安装httpd_linux 离线 安装 nginx_03

在新建的yum仓库中输入如下图所示的内容,wq保存并退出。

linux 离线 安装 nginx linux离线安装httpd_操作系统_04

如果要查看yum仓库是否安装成功,可以使用yum list,如果成功这里面的安装包文件会很多很多。

linux 离线 安装 nginx linux离线安装httpd_运维_05

下面就是使用yum install来安装gcc的编译语言环境软件包。

linux 离线 安装 nginx linux离线安装httpd_linux 离线 安装 nginx_06

然后使用yum install安装gcc-c++编译语言环境。

linux 离线 安装 nginx linux离线安装httpd_配置文件_07

接着使用rpm -q检查make源代码编译软件是否安装。再使用rpm安装pcre-devel软件包也是必须(当然在这之前需要挂载光盘)。

然后切换到安装目录/opt/http-2.4.2目录下查看configure配置文件,确定有这个文件之后,在此目录下完成源代码的配置工作。如下图所示。

linux 离线 安装 nginx linux离线安装httpd_配置文件_08

完成配置以后,执行make进行编译,把配置完成的源代码转换为可执行的程序的一个过程。 

linux 离线 安装 nginx linux离线安装httpd_开发工具_09

然后make install完成最后的安装过程,其实也就是复制到目录预设存放的一个过程(由配置时的--prefix选项指定)。

linux 离线 安装 nginx linux离线安装httpd_linux 离线 安装 nginx_10

然后可以切换的“--prefix”项所指定的安装目录下,查看安装的所有文件目录,以及所有配置文件、日志文件都在这里。

linux 离线 安装 nginx linux离线安装httpd_配置文件_11

然后使用grep过滤掉以#号开头的/usr/local/apache/bin/apachectl文件中的注释条目,重定向配置文件到/etc/init.d/目录下,作为系统服务启动。然后编辑/etc/init.d/目录中重定向后的配置文件httpd。

linux 离线 安装 nginx linux离线安装httpd_运维_12

在配置文件的开头添加chkconfig识别配置,以便通过chkconfig进行管理。其中# description:Apache is a World Wide Web server.只是系统服务描述信息。

linux 离线 安装 nginx linux离线安装httpd_linux 离线 安装 nginx_13

chkconfig系统服务中,然后使用chkconfig --list httpd查看目前的运行状态(当然是没有开启了),然后使用chkconfig --level 35 httpd on来开启3、5运行级别的状态。

linux 离线 安装 nginx linux离线安装httpd_开发工具_14

再次切换到安装目录下。到其中的配置主配置文件中,编辑其中的主配置文件httpd.onf。

linux 离线 安装 nginx linux离线安装httpd_操作系统_15

设置监听IPv4的端口“Listen 192.168.100.50:80”去掉前面的注释信息,把下面的IPv6的监听用“#Listen 80”注释掉。

linux 离线 安装 nginx linux离线安装httpd_运维_16

然后查找其中的servername配置参数,格式为“ServerName 主机名.域名:80”。

linux 离线 安装 nginx linux离线安装httpd_操作系统_17

当然如果闲上面的路径太过复杂,配置不方便可以建立一个软链接,下次进行编辑的时候就没必要输入那么长的路径了。

然后就是“service httpd start”开启httpd的服务,如果没有报错信息的话就说明已经是OK的了。然后也可以查看网站的默认首页,使用命令“cat /usr/local/apache/htdocs/index.html ”,可以看到HTML的代码为<html><body><h1>It works!</h1></body></html>(你应该能够看懂)。

linux 离线 安装 nginx linux离线安装httpd_配置文件_18

然后关闭linux虚拟机的防火墙功能以及SElinux策略。切换至日志文件目录,是为了等会成功访问网页之后进行查看的。

linux 离线 安装 nginx linux离线安装httpd_运维_19

在windows主机的浏览器中,输入linux的IP地址访问linux网站的内容,能够访问表示已经OK了。

linux 离线 安装 nginx linux离线安装httpd_配置文件_20

然后此时查看访问成功的日志文件access_log,可以看到本机访问linux网站的IP地址信息等。访问失败的日志文件在error_log里面。

linux 离线 安装 nginx linux离线安装httpd_运维_21

https://blog.51cto.com/zhang2015/1663324