zoukankan      html  css  js  c++  java
  • CentOS 6.4源码编译安装httpd并启动测试

    今天来总结一下在Linux中软件安装,通常我们应该知道,安装软件有两种方法:一种是软件包的安装,也就是rpm包的安装,就是指这些软件包都是 已经编译好的二进制rpm包,我们通过rpm安装工具和yum安装工具就可以直接安装了。另一种则是源代码安装,这种软件安装就是指它只有源代码,没有经 过编译的二进制,需要通过手动去编译安装的。

       rpm包是别人所编译好的软件包,比如说编译好的rpm包没有某个功能,也我们又想用,那我们就得自去手动下载源代码来自行安装了,自定义去安装程序包,这个是我们要撑握的。

    下面我们就来说说源代码编译安装httpd:
       操作系统:CentOS release 6.4 x86_64
       安装前提:GCC、Develoment Tools、Server Platform Development  
       安装的软件包:httpd-2.2.25.tar.bz2

       首先我们先查看一下系统中有没有安装好的httpd,rmp -q httpd就可以查看到,如果有我们就先卸载,rpm -e httpd就可以卸载,如果没有那就安装。

    wKioL1MLOl-gtb97AABX-R_r9Vo937.jpg


       以安装httpd-2.2.25源码的软件包为例,我们要检查系统中需要的安装环境,yum grouplist可以查看InstalledGroups里有没有Server Platform Development和Development tools这两项,然后再gcc -v查看一下gcc编译器有没有安装好,做好这些工作那我们就去下载所需要安装的源代码软件包了
    httpd-2.2.25.tar.bz2、这个我从我们的教室的服务器上下载好了、直接get下载到本地就OK了,下载好我们就开始安装了。

    wKioL1MLOsKTxhJkAAI6VXkUQFY962.jpg

    wKioL1MLOsKhi4p6AALUckgVmus434.jpg



    安装httpd-2.2.25.tar.bz2源码软件包的步骤:
       解压软件包到本地:
       # tar xf httpd-2.2.25.tar.bz2

    wKiom1MLOyzT31LUAAD52T3Lcoo979.jpg

       cd到解压好的目录中:
       # cdhttpd-2.2.25

       在这里我们可以看到解压的文件中生成了一个configure的文件,我们可以./configure --help看看帮助文档,这里就不看了,继续下一步

    wKioL1MLO-XR_NROAAHGXU4BRg0094.jpg

        ./configure --prefix=/usr/local/httpd --sysconfdir=/etc/httpd --enable-so
       --prefix=/usr/local/httpd  :这个是指定我们安装的路径
       --sysconfdir=/etc/httpd :这个是指定的配置文件路径
       --enable-so :这个是指允许模块化使用
       这样我们回车就开始了,程序比较大,可能时间比较长,耐心等待吧.....

       编译完之后我们开始执行make命令了,这个也比较久,等吧......

       make完了就开始执行make install真正开始执行安装了;

       好了,安装完之后我们进到安装目录看一下生成的文件:/usr/local/httpd    在bin目录生成一个叫ahachectl的脚本,我们直接在命令行中输入ahachectl,系统说找不到这个命令,因此我们要配置一下PATH环境 变量,所以我们就在/etc/profile.d/目录下建一个httpd.sh的文件,如下:

       # vim /etc/profile.d/httpd.sh
       PATH=/usr/local/httpd/bin:$PATH  
       export PATH

    wKiom1MLPO_w_QfwAAAjHGA9T0Y284.jpg

       保存退出即可!

       我们echo $PATH看看有没有这个路径了

    wKioL1MLPTrAaPkYAABgrWoXI9s970.jpg

       看!没有、那是系统还没有识别,要配置文件生效那我们就得让系统重读配置文件了:
       # . /etc/profile.d/httpd.sh

       再echo $PATH就看到我们刚才写的那个路径了;    



       如果不配置环境变量那我们每次启动就都得写全完整路径了:如
       # /usr/local/httpd/bin/apachectl start

       配置完环境变量和重读配置文件后我们就可以直接启动了。
       # apachectl start

       netstat -tnl:用这个命令我们查看一下是不是已经监听了80端口:

       再网页测试一下!ifconfig查看一下虚拟机的IP地址:

    wKioL1MLPwyR8Ar1AAEMNHsIpUI292.jpg

    wKiom1MLP8zwvXOyAABdIk1DHbI300.jpg

       这样、我们的httpd源码安装就完成了!



       再来看看/usr/local/httpd下的include文件、这里存放的全是头文件,为了让系统可以通过/usr/include/这个路径也能找到我们的头文件、那我们就要做个链接到这个/usr/include这时来了;
       输出头文件给系统:
       ln -sv /usr/local/httpd/include /usr/include/httpd

       同样、我们也要输出库文件,在/etc/ld.so.conf.d/目录下创建一个httpd.conf的文件:
       # vim /etc/ld.so.conf.d/httd.conf
       /usr/local/httpd/lib

       保存退出,再让系统重新生成库文件路径缓存:
       # ldconfig -v

       最后再输出man帮助文档,编辑/etc/man.config:
       # vim /etc/man.comfig
       在后面加上一行:
       MANPATH /usr/local/httpd/man  保存退出即可!

    wKioL1MLQeriPaO_AACEx1QQYTY878.jpg

    结束:

       大概的安装过程就是这样,如有什么不妥、万望指出、不胜感激、人无完人、有做得不到之处或错误的地方希望多多提点、在此小弟先感谢你的关注了!

    [转载]http://tanxw.blog.51cto.com/4309543/1362910

  • 相关阅读:
    数据库事务隔离级别
    impala jdbc4的group by语句的bug,加上limit没错
    火狐不支持innerText属性,只支持innerHTML属性
    struts2.x + Tiles2.x读取多个xml 配置文件
    ids for this class must be manually assigned before calling save():Xxx
    整合ssh model $$_javassist_13 cannot be cast to javassist.util.proxy.Proxy
    火狐点击链接请求两次的问题
    C++——类和动态内存分配
    C++——使用类
    C++——对象和类
  • 原文地址:https://www.cnblogs.com/tanxw/p/3792131.html
Copyright © 2011-2022 走看看