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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章