linux中手工编译安装httpd服务全操作过程

实验目的:使用手工编译的方式搭建httpd服务。有时候我真的很想吐槽51cto,因为我不知道好多人发表的一些关于自己的一些观点或者说是言论,为什么会有那么多的访问量,而我发表了42篇博客,每篇博客都是我一字一字打出来的关于实际操作的经验,为什么我上不了推荐博客?我实在不甘心。。。

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

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

wKioL1WClr3islH_AAGWoruQm-I786.jpg

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

wKiom1WClQyBcvL8AAC0l-Y2-3Y730.jpg

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

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

wKioL1WClr6QiNWPAAFcyC6cGEM011.jpg

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

wKiom1WClQ3g8MHCAACic8dihaA517.jpg

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

wKiom1WClQ3R41sbAAFBG7D7G_E882.jpg

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

wKioL1WClr7Qq3SCAADdh5dv6CA827.jpg

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

wKioL1WClr6T9qUZAAOhmhud0oU641.jpg

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

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

wKiom1WClQ6StRPKAAR83YC8Bq4678.jpg

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

wKioL1WClr-weYQ9AAEXbes8Ogw189.jpg

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

wKiom1WClQ7wVvF7AANnV2WMsig237.jpg

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

wKioL1WClr-y5HAVAAL-Rz7k-Oc963.jpg

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

wKiom1WClQ7SGISpAAQR7u0YMVg982.jpg

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

wKioL1WClsCzAqCIAAEHZlYtr0E505.jpg

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

wKiom1WClQ-S7BtUAAIHmLJPR-w168.jpg

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

wKioL1WClsChocAcAAF_vtYxzx8997.jpg

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

wKiom1WClQ_Dsig6AAFFgVz9pIo690.jpg

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

wKioL1WClsDwzzVYAAD0sEAsDh4386.jpg

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

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

wKiom1WClQ_BVw1TAAGeZ8kHDhs522.jpg

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

wKioL1WCluChTr0LAAHB8X7i200192.jpg

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

wKiom1WClRLzSiTPAADzkRWlqxc619.jpg

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

wKioL1WClsPQfNQxAAJaZnZf5bs797.jpg

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


你可能感兴趣的:(linux,Make,./configure,手工编译,httpd配置)