您的位置:首页 > 理论基础 > 计算机网络

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

2015-06-18 19:46 531 查看
实验目的:使用手工编译的方式搭建httpd服务。有时候我真的很想吐槽51cto,因为我不知道好多人发表的一些关于自己的一些观点或者说是言论,为什么会有那么多的访问量,而我发表了42篇博客,每篇博客都是我一字一字打出来的关于实际操作的经验,为什么我上不了推荐博客?我实在不甘心。。。
实验步骤:共享源代码安装包、解压缩源代码内容、./configure配置各种参数项、make编译、make install安装。然后就是配置httpd的主配置文件内容,下面是详细步骤。
首先是准备工作,如下图所示把这几个源码包下载下来,放在一个文件夹里面,然后共享出来,使linux主机可以正常访问(或者使用其他方法,不知道怎么操作就看我的上一篇博客)。



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



然后切换到解压目录下,复制其中的apr和apr-util文件夹到本目录的httpd-2.4.2/srclib目录下,后面再加个文件名称。
然后就是需要安装httpd所必须的一些语言环境和安装环境了。使用rpm安装C语言和C++时会有依赖性关系,所以在这里我直接创建了yum仓库来解决依赖性关系vim /etc/yum.repos.d/abc.repo。



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



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



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



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



接着使用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实验到此结束!谢谢大家!请多多支持!

本文出自 “青鸟技术团@威” 博客,请务必保留此出处http://zhang2015.blog.51cto.com/9735109/1663324
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: