实验目的:使用手工编译的方式搭建httpd服务。html
实验步骤:共享源代码安装包、解压缩源代码内容、./configure配置各类参数项、make编译、make install安装。而后就是配置httpd的主配置文件内容,下面是详细步骤。linux
首先是准备工做,以下图所示把这几个源码包下载下来,放在一个文件夹里面,而后共享出来,使linux主机能够正常访问(或者使用其余方法,不知道怎么操做就看个人上一篇博客)。c++
而后是解压缩软件包,把上面三个下载好的软件包所有解压到opt目录下。apache
而后切换到解压目录下,复制其中的apr和apr-util文件夹到本目录的httpd-2.4.2/srclib目录下,后面再加个文件名称。vim
而后就是须要安装httpd所必须的一些语言环境和安装环境了。使用rpm安装C语言和C++时会有依赖性关系,因此在这里我直接建立了yum仓库来解决依赖性关系vim /etc/yum.repos.d/abc.repo。windows
在新建的yum仓库中输入以下图所示的内容,wq保存并退出。浏览器
若是要查看yum仓库是否安装成功,可使用yum list,若是成功这里面的安装包文件会不少不少。ide
下面就是使用yum install来安装gcc的编译语言环境软件包。网站
而后使用yum install安装gcc-c++编译语言环境。spa
接着使用rpm -q检查make源代码编译软件是否安装。再使用rpm安装pcre-devel软件包也是必须(固然在这以前须要挂载光盘)。
而后切换到安装目录/opt/http-2.4.2目录下查看configure配置文件,肯定有这个文件以后,在此目录下完成源代码的配置工做。以下图所示。
完成配置之后,执行make进行编译,把配置完成的源代码转换为可执行的程序的一个过程。
而后make install完成最后的安装过程,其实也就是复制到目录预设存放的一个过程(由配置时的--prefix选项指定)。
而后能够切换的“--prefix”项所指定的安装目录下,查看安装的全部文件目录,以及全部配置文件、日志文件都在这里。
而后使用grep过滤掉以#号开头的/usr/local/apache/bin/apachectl文件中的注释条目,重定向配置文件到/etc/init.d/目录下,做为系统服务启动。而后编辑/etc/init.d/目录中重定向后的配置文件httpd。
在配置文件的开头添加chkconfig识别配置,以便经过chkconfig进行管理。其中# description:Apache is a World Wide Web server.只是系统服务描述信息。
chkconfig系统服务中,而后使用chkconfig --list httpd查看目前的运行状态(固然是没有开启了),而后使用chkconfig --level 35 httpd on来开启3、5运行级别的状态。
再次切换到安装目录下。到其中的配置主配置文件中,编辑其中的主配置文件httpd.onf。
设置监听IPv4的端口“Listen 192.168.100.50:80”去掉前面的注释信息,把下面的IPv6的监听用“#Listen 80”注释掉。
而后查找其中的servername配置参数,格式为“ServerName 主机名.域名:80”。
固然若是闲上面的路径太过复杂,配置不方即可以创建一个软连接,下次进行编辑的时候就不必输入那么长的路径了。
而后就是“service httpd start”开启httpd的服务,若是没有报错信息的话就说明已是OK的了。而后也能够查看网站的默认首页,使用命令“cat /usr/local/apache/htdocs/index.html ”,能够看到HTML的代码为<html><body><h1>It works!</h1></body></html>(你应该可以看懂)。
而后关闭linux虚拟机的防火墙功能以及SElinux策略。切换至日志文件目录,是为了等会成功访问网页以后进行查看的。
在windows主机的浏览器中,输入linux的IP地址访问linux网站的内容,可以访问表示已经OK了。
而后此时查看访问成功的日志文件access_log,能够看到本机访问linux网站的IP地址信息等。访问失败的日志文件在error_log里面。
OK实验到此结束!谢谢你们!请多多支持!