linux源码方式安装Apache

Apache 的安装方式包括:源码包安装和二进制包安装。
以源码包方式安装步骤:

1. 下载apache
   http://httpd.apache.org/download.cgi
   在linux下
   wget http://apache.mirror.phpchina.com/httpd/httpd-2.2.6.tar.gz

2. 解压缩下载的源码包
   mkdir -p /usr/local/src/apache
   mv httpd-*.*.*.tar.gz /usr/local/src/apache
   cd /usr/local/src/apache
   tar zxvf httpd-*.*.*.tar.gz

3. 配置Makefile文件
   cd httpd-*.*.*
   查看可配置选项和可用模块
   ./configure --help
   配置命令常用格式如下:
   CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti"
./configure --prefix=<Install Path> --enable-<FEATURE>[=ARG] --disable-<FEATURE> --enable-modules=<MODULE LIST>
--enable-so --enable-mods-shared=<Module List> --with-mpm=<MPM>
   其中:
   CC: C编译器的名称。
   CFLAGS:编译器的标志,本示例为 -O3,指定优先级别为3。
   CXX:C++ 编译器的名称
   CXXFLAGS:C++编译器的标志。
   --prefix=<install path>: 指明编译后的二进制文件安装到<install path>目录,缺省将安装到 /usr/local/apache2 目录。
                            建议将apache与操作系统安装在不同物理磁盘或分区上,以便于日后的升级、备份、恢复。
   --enable-<FEATURE>[=ARG]: 明确指明静态编译某一属性或模块到httpd二进制文件,如果[=ARG]不明确指出,默认为=yes;如果指定[=ARG]为=no,
                             则效果等同于下面的 --disable-<FEATURE>; 如果指定[=ARG]为=share,则单独编译为动态加载模块(DSO),需要通过 --enable-so 选项打开DSO支持。
                             用实际的属性或模块名来替换<FEATURE>, 如--enable-rewrite, --enable-rewrite=no, --enable-rewrite=share
   --disable-<FEATURE>:明确指明不静态编译某一属性或模块到httpd二进制文件。
   --enable-modules=<ModuleList>:明确指明要静态编译到httpd二进制文件的模块,<ModuleList>为空格分隔的模块名列表、all或者most,all表示包含所有模块,most表示大部分模块。
   --enable-so: 指明编译动态加载模块(DSO)支持到httpd二进制文件,此模块使得Apache的各个功能模块可以与核心分开编译、运行时动态加载。最新版本的Apache默认编译此模块到httpd二进制文件。
   --enable-mods-shared=<ModuleList>: 明确指明要以DSO方式编译的模块,<ModuleList>为空格分隔的模块列表、all、most,all表示包含所有模块,most表示包含大部分模块。
   --with-mpm=<MPM>: 选择Apache多路处理模块,<MPM>={beos|event|worker|prefork|mpmt_os2},prefork 为 Unix 系统下默认处理模块,它将运行一个非线程的、预派生的Wep服务器;
                     worker 为支持混合的多线程多进程的多处理模块。
4. make
5. make install
6. 设置开机自启动服务控制脚本
   apache start
   /usr/local/apache-*.*.*/bin/apachectl start
   apache stop
   /usr/local/apache-*.*.*/bin/apachectl stop
   让apache随系统启动自启动
   echo "/usr/local/apache-*.*.*/bin/apachectl start" >> /etc/rc.local
   把apache加入到系统服务
   首先以apachectl脚本为模板生成apache服务控制脚本:
   grep -v "#" /usr/local/apache-*.*.*/bin/apachectl > /etc/init.d/apache
   编辑/etc/init.d/apache,在文件最前面插入下面的行,使其支持chkconfig命令:
   #!/bin/sh
   # chkconfig: 2345 85 15
   # description: Apache is a World Wide Web server.
   为apache服务控制脚本添加执行权限:
   chmod +x /etc/init.d/apache
   将apache服务加入到系统服务:
   chkconfig --add apache
   检查apache服务是否生效:
   chkconfig --list apache
   如果命令输出如下结果则表明apache服务已经生效:
   apache 0:off 1:off 2:on 3:on 4:on 5:on 6:of
   上面表明apache在2、3、4、5系统运行级别随系统启动而自启动。
   以上如果全部成功后,可以用service命令控制apache的启动和停止。
   service apache start/stop
   关闭apache随系统启动自启动:
   chkconfig apache of
   改变开机自启动的运行级别:
   chkconfig --level 35 apache on
posted @ 2011-11-02 14:21  MR.Punk  阅读(265)  评论(0编辑  收藏  举报