httpd之编译安装详解



   从源码包安装软件最重要的就是仔细阅读“README”、“INSTALL”等说明文件,它会告诉你怎样才能成功安装。

   通常从源码包安装软件的步骤是:  

        1、拿到源代码,并解压:

            tar  xf  package-version.tar.{gz|bz2|xz}

            注意:展开后的目录通常为package-version

        2、切换至源码目录中:  

             cd  package-version

        3、执行configure脚本    

               configure脚本的通用功能:

               我们需要定义的配置:

                   1、指定安装路径:

                          --prefix=/usr/local/package_name  、

                          --sysconfdir=/path/to/package_name

                   2、指定启用/禁用的特性:

                          --enable-feature     例如 --enable-fpm

                          --disable-feature    例如  --disable-socket

                   3、指定所依赖功能、程序或文件

                          --with-function:启用某功能

                          --without-function:禁用某功能

                不同的程序,其configure脚本功能不同,要获取帮助:    ./configure  --help

             补充:./configure 似乎在某些环境下./configure会造成终端退出,而使用. configure则会正常运行,如果有这个现象,就试试 . configure。通过configure程序猜测主机信息,最终建立Makefile,以完成make,所以如果./configure不成功,而去make的话,就会出现"make: *** No targets specified and no makefile found. Stop."  

        4、编译

           make 当./configure成功结束后,就开始正式编译程序了.

        5、安装

           make install 编译成功后使用make install安装,make uninstall 某些软件支持卸载,可能使用该方法卸载,如果支持的话,通常会在“README”中写到(似乎比较少)。configure程序带有很多参数,可以通过 ./configure --help 查看详细内容,通常位于前面的是常规configure的参数说明,末尾是该程序的可用参数说明。 ./configure --prefix=/usr 指定安装目录,通常从源码包编译安装的软件默认会放在/usr/local


一:安装前准备工作

   1、安装开发包组:

         提示:如果系统为CentOS  5,常用的开发包组                                                           为"Development  Tools"和"Development  Libraries"

               如果系统为CentOS  6,常用的开发包组                                                        为"Development  Tools"和"Server  Platform  Development"


         安装包组示例:yum install "Development  Tools"      

               yum install "Server  Platform  Development"  

2、下载http软件包

       下载地址:http://mirrors.sohu.com/apache/

          命令:lftp http://mirrors.sohu.com/apache

          > get httpd-2.2.26.tar.bz2    

          > bye

wKioL1MNmu2SVb-cAAF3d1CNRy4454.jpg




二:编译安装


   1、解压包:

        tar xf httpd-2.2.26.tar.bz2


   2、进入目录:

        cd httpd-2.2.26

        进入目录后发现有INSTALL,用less查看

        less INSTALL

wKioL1MNnUrRvv4RAAE7TuKjCpA064.jpg

   3、执行configure脚本:

         安装路径:--prefix=/usr/local/apache

         配置文件路径:--sysconfdir=/usr/local/apache/apache.conf --enable-so

         我们这里选择启用模块特性:--enable-so

         下面执行configure:

wKiom1MNoeXSAimCAAGQEJ54198813.jpg


   4、make

   5、make install

   安装完成!  



三:后续设置


    安装完成后我们启动apache:

       命令:apachectl start

       发现启动不了!这是因为系统不会到/usr/local/apache/bin找我们的命令的,环境变量PATH里没有这个路径,需要我们手动添加到apache.sh脚本中,该脚本路径/etc/profile.d/。

        命令:vim  /etc/profile.d/apache.sh

        PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH

        export  PATH

wKioL1MNpEyxQ0Z-AACR4SoVpKs057.jpg

       重读脚本信息:

           命令:. /etc/profile.d/apache.sh



四:启动,并测试

   1、启动httpd:

        命令:cd /usr/local/apache/bin/

        apachectl start

wKiom1MNrUHhIG-PAADaGqeNysg027.jpg

        启动成功,但是出现如下报错:

            httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName

            这个报错是DNS解析域名出错,可以忽略。


    2、测试:

             命令:netstat -tnl  查看状态

wKiom1MNrnajxMMQAAHRKHW1340511.jpg

       80端口,监听成功!    使用

        http://本机IP地址,    也可以查看是否启动成功!