在linux中使用源碼安裝httpd服務器

前天在Centos中安裝了Apache的httpd,安裝的機器在公司內網,因而選擇了源碼進行安裝。俗話說好記性不如爛筆頭,現將安裝過程進行記錄,也但願能幫到各位網友。 ####準備工做 因公司機器已經安裝c++編譯相關,該工做再也不贅述,如沒法使用make相關命令,請自行安裝g++、libc等庫。css

  1. 筆者寫這篇博文時選中的版本是httpd-2.4.23.tar.gzhtml

  2. Apache Portable Runtime(APR),爲上層的應用程序提供一個能夠跨平臺使用的底層支持接口庫。筆者選定的版本仍爲官網最新版本apr-1.5.2.tar.gzc++

  3. apr-util-1.5.4.tar.gz數據庫

  4. pcre,該模塊主要爲httpd提供了rewrite功能,筆者選定了pcre-8.38.tar.gzapache

  5. lynx及其依賴ncurses,其中lynx是純文本瀏覽器,httpd的執行status命令時會訪問server-status,lynx用於解析html並輸出文本信息,它依賴於ncurses,curses庫是能夠在Linux終端中寫出字符用戶界面,新的版本是ncurses庫。不安裝lynx及ncurses也能夠,使用curl訪問server-status連接便可。瀏覽器

####安裝過程 分別使用tar -xvzf命令解壓縮各tar.gz,筆者將各壓縮包解壓在/opt/downloads下,依次執行如下的安裝命令。緩存

  1. 安裝ncurses(不使用lynx請跳過)
cd /opt/downloads/ncurses-6.0/
./configure --prefix=/usr/local/ncurses
make
make install
  1. 安裝lynx
cd /opt/downloads/lynx2-8-8/
./configure --prefix=/usr/local/lynx --with-curses-dir=/usr/local/ncurses
make
make install
  1. 安裝apr
cd /opt/downloads/apr-1.5.2
./configure --prefix=/usr/local/apr
make
make install
  1. 安裝apr-util
cd /opt/downloads/apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
  1. 安裝pcre
cd /opt/downloads/pcre-8.38
./configure --with-apr=/usr/local/pcre
make
make install
  1. 安裝httpd
cd /opt/downloads/httpd-2.4.23
./configure --prefix=/usr/local/apache2 --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
make
make install

至此,httpd安裝完畢。服務器

上面命令所使用到的./configure後的參數說明:(可執行./configure --help查看支持的參數,在執行./configure命令後,可以使用echo $?查看是否有錯誤,返回0說明沒問題,可繼續執行make命令)curl

#--prefix=<install_path> 指定便之後的二進制文件安裝目錄,若省略使用默認目錄工具

#--with-xxx 通常指定其加載的模塊路徑

--enable-module=so 指明編譯動態加載模塊,使得apache的各模塊與核心分開編譯,運行時動態加載,最新版已缺省編譯此模塊

--enable-deflate 支持網頁壓縮

--enable-expires 經過配置文件控制HTTP的「Expires:」「Cache-Control:」頭內容,即對網站圖片、js、css等內容,提供客戶端瀏覽器緩存的設置

--enable-rewrite 支持URL重寫

如下爲本次未使用的參數說明:

--enable-cache 支持緩存

--enable-file-cache 支持文件緩存

--enable-mem-cache 支持記憶緩存

--enable-disk-cache 支持磁盤緩存

--enable-static-support 支持靜態鏈接(默認爲動態鏈接)

--enable-static-htpasswd 使用靜態鏈接編譯 htpasswd - 管理用於基本認證的用戶文件

--enable-static-htdigest 使用靜態鏈接編譯 htdigest - 管理用於摘要認證的用戶文件

--enable-static-rotatelogs 使用靜態鏈接編譯 rotatelogs - 滾動 Apache 日誌的管道日誌程序

--enable-static-logresolve 使用靜態鏈接編譯 logresolve - 解析 Apache 日誌中的IP地址爲主機名

--enable-static-htdbm 使用靜態鏈接編譯 htdbm - 操做 DBM 密碼數據庫

--enable-static-ab 使用靜態鏈接編譯 ab - Apache HTTP 服務器性能測試工具

--enable-static-checkgid 使用靜態鏈接編譯 checkgid

--disable-cgid 禁止用一個外部 CGI 守護進程執行CGI腳本

--disable-cgi 禁止編譯 CGI 版本的 PHP

--disable-userdir 禁止用戶從本身的主目錄中提供頁面

####配置httpd

  1. 修改httpd.conf文件

去除ServerName的註釋,並修改設置其值,如localhost:80 若要開啓server-status監控httpd的運行狀態,需在httpd.conf中打開對httpd-info.conf的引用,並修改http-info.conf的相關配置,參照以下

 

<Location /server-status> Order Deny,Allow Deny from all Allow from 127.0.0.1
</Location>

 
  1. 使用一下命令註冊httpd爲service
 

cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd

編輯/etc/init.d/httpd文件,在註釋的頂部添加chkconfig的配置

chkconfig:2345 90 90

description:Apache

併爲該文件添加可執行的權限
```  sh
chmod +x /etc/init.d/httpd

添加httpd爲服務

chkconfig --add httpd

如今可使用service httpd start|stop|status等命令操做了

Just enjoy it!

相關文章
相關標籤/搜索