源代码安装apache流程 

一、 首先下载apache、 zlib

         apache地址: http://www.apache.net

         zlib地址:        http://www.zlib.net

        下载目录: /usr/local/src

 

二、 确认机器中是否已经安装了apache 和 zlib          命令: rpm -qa | grep httpd

         如果已经安装, 卸载掉低版本的apache

         命令: rpm -r {softname}

        

         由于下载的源码使用C语言编写的, 安装之前需要确认是否系统中是否已经安装了编译工具gcc

         使用命令:  gcc -v   确认是否已经安装。

 

三、  下载apache依赖的apr, 防止安装apache时出现【apr not found问题】

           下载目录: /usr/local/src

 

    

命令:  cd   /usr/local/src
                        wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
                        wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
                        wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

 

          

          安装具体步骤:

         

a:解决apr not found问题>>>>>>
                 tar -zxf apr-1.4.5.tar.gz 
                 cd  apr-1.4.5
                 ./configure --prefix=/usr/local/apr
                 make
                 make install
             b:解决APR-util not found问题>>>>
                tar -zxf apr-util-1.3.12.tar.gz
                cd apr-util-1.3.12
                ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
                make
                make install
             c:解决pcre问题>>>>>>>>>
                unzip -o pcre-8.10.zip
                cd pcre-8.10
                ./configure --prefix=/usr/local/pcre
                make
                make install

四、 安装apache2依赖的zlib库

   

tar xvf zlib-1.2.3.tar.gz
-1.2.3
          ./configure --prefix=/usr/local/zlib
          make
          make install

 

notice1: 如果中间编译或者安装时出错, 可以执行命令: make clean 清除掉已安装的文件,重新进行安装

notice2: 可以用 ./configure help 来查看可以进行的配置项, 该命令需要在安装文件的base目录下执行

 

五、 安装apache, 该过程花费的时间稍微长一些

        注意事项:

             安装apache时, 根据自己的网站定制安装功能:

             指定安装的位置   /usr/local/apache2

             指定配置文件安装  /etc/httpd/

             指定zlib库的位置

             请求的映象到用户特定目录

             以动态共享对象(DSO)编辑** 

             基于规则的url操作

       步骤:

        

cd /usr/local/apache2
           ./configure \
            --prefix=/usr/local/apache2 \
            --sysconfdir=/etc/httpd \
            --with-z=/usr/local/zlib \
            --with-included-apr \ 使用捆绑apr的副本(可以不装)
            --disable-userdir \   请求的映象到用户特定的目录
            --enable-so \   以动态共享对象编译(必须安装)
            --enable-rewrite=shared \ 基于规则的url操控
            --enable-deflate=shared \ 缩小传输编码的支持
            --enable-expires=shared \ 期满头控制
            --enable-static-support  \建立一个静态链接版本的支持
           --with-apr=/usr/local/apr \  依赖的apr
           --with-apr-util=/usr/local/apr-util \  依赖的apr-util
           --with-pcre=/usr/local/pcre   依赖的pcre
         
          make
          make install

六、  以上步骤执行完之后, 安装成功,如下:

         需要下载的源代码放在: /usr/local/src 下, 有 apche  zlib  apr apr-uril  pcre 五个源文件

          安装目录分别在

/usr/local/apache2 
                                     /usr/local/zlib
                                     /usr/local/apr
                                     /usr/local/apr-util
                                     /usr/local/pcre

 

七、启动apache

             需要先修改http.conf 文件, 将被注释掉的#ServerName www.example.com:80放开,

              即:ServerName www.example.com:80,防止在启动的时候出现以下错误:

       

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

             然后:

            

cd   /usr/local/apache2/bin
             ./apachectl start  启动服务
           ./apachectl stop 停止服务

             

             用netstat  -ntl | grep httpd 查看是否已经被启动。

             浏览器中敲入 http://127.0.0.1,  出现 It  works  代表成功。

 

八、启动参数可以灵活使用,可以参考使用,如下:

     

httpd [ -d serverroot ] [ -f config ] [ -C directive ] [ -c directive] [ -D parameter ] [ -e level ] [ -E file ] [ -k start|restart|graceful|stop ] [ -R directory ] [ -h ] [ -l ] [ -L ] [-S] [ -t ] [ -v ] [ -V ] [ -X ]

         参数说明:

        -d serverroot

        为ServerRoot指令设置初始值为serverroot。它可以被配置文件中的ServerRoot指令所覆盖。其默认值是/usr/local/apache2.

 

        -f config

        在启动中使用config文件的指令。如果config不是以/开头的文件名, 则它是相对于ServerRoot的一个路径。其默认值是conf/httpd.conf.

 

        -k start|restart|graceful|stop

        发送信号使httpd启动、重新启动或停止。更多信息请参见停止Apache.

 

        -C directive

        在读取配置文件之前,先处理directive的配置。

 

         -c directive

         在读取配置文件之后,再处理directive的配置。

 

         -D parameter

         设置参数parameter ,它配合配置文件中的<IfDefine>段,用于在服务器启动和重新启动时,有条件地跳过或处理某些命令。

 

        -e level 在服务器启动时,设置LogLevel为level。它用于在启动时,临时增加出错信息的详细程度,以帮助排错。

 

        -E file 将服务器启动过程中的出错信息发送到文件file。

 

        -R directory 当在服务器编译中使用了SHARED_CORE规则时,它指定共享目标文件的目录为directory。

 

        -h   输出一个可用的命令行选项的简要说明。

 

        -l    输出一个编译在服务器中的模块的列表。它不会列出使用LoadModule指令动态加载的模块。

 

        -L   输出一个指令的列表,并包含了各指令的有效参数和使用区域。

 

        -S  显示从配置文件中读取并解析的设置结果(目前仅显示虚拟主机的设置).

 

        -t   仅对配置文件执行语法检查。程序在语法解析检查结束后立即退出,或者返回0(Syntax OK),或责返回非0的值(Syntax Error)。如果还指定了-D DUMP_VHOSTS ,会显示虚拟主机配置的详细信息。

 

       -v   显示httpd的版本,然后退出。

 

       -V  显示httpd的版本和编译参数, 然后退出。

 

       -X   以调试模式运行httpd。仅启动一个工作进程,并且服务器不与控制台脱离。