设为首页 收藏本站
查看: 369|回复: 0

[经验分享] CentOS 6.4源码编译安装httpd并启动测试

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-6-17 09:27:43 | 显示全部楼层 |阅读模式
今天来总结一下在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

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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-20665-1-1.html 上篇帖子: 提取linux中eth0的IP地址 下篇帖子: Linux内核目录结构(2.6版本以上的kernel)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表