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

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

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

linux中手工编译安装httpd服务全操作过程_第1张图片

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

wKiom1WClQyBcvL8AAC0l-Y2-3Y730.jpg

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

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

linux中手工编译安装httpd服务全操作过程_第2张图片

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

linux中手工编译安装httpd服务全操作过程_第3张图片

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

linux中手工编译安装httpd服务全操作过程_第4张图片

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

linux中手工编译安装httpd服务全操作过程_第5张图片

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

linux中手工编译安装httpd服务全操作过程_第6张图片

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

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

linux中手工编译安装httpd服务全操作过程_第7张图片

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

linux中手工编译安装httpd服务全操作过程_第8张图片

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

linux中手工编译安装httpd服务全操作过程_第9张图片

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

linux中手工编译安装httpd服务全操作过程_第10张图片

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

linux中手工编译安装httpd服务全操作过程_第11张图片

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

linux中手工编译安装httpd服务全操作过程_第12张图片

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

linux中手工编译安装httpd服务全操作过程_第13张图片

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

linux中手工编译安装httpd服务全操作过程_第14张图片

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

linux中手工编译安装httpd服务全操作过程_第15张图片

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

linux中手工编译安装httpd服务全操作过程_第16张图片

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

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

It works!

(你应该能够看懂)。

linux中手工编译安装httpd服务全操作过程_第17张图片

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

linux中手工编译安装httpd服务全操作过程_第18张图片

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

linux中手工编译安装httpd服务全操作过程_第19张图片

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

linux中手工编译安装httpd服务全操作过程_第20张图片

OK实验到此结束!谢谢大家!请多多支持!