源代码安装apache流程

源代码安装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
          cd zlib-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。仅启动一个工作进程,并且服务器不与控制台脱离。
posted @ 2015-08-13 09:35  i舒  阅读(214)  评论(0)    收藏  举报