天天看點

red hat 6&red hat 7 Apache網站搭建(一)

                          Apache 簡介

Apache HTTP Server 是開源軟體項目的傑出代表基于标準的HTTP網絡協定提供網貢浏覽

服務在We伺服器領域中長期保持着超過半數的份額。Aapache伺服器可以運作在Lnux.UNX

Wndows 等多種作業系統平台中,

1.Apache 的起源

Apathe伺服器是針對之前出現的若幹個Web伺服器程式進行整合。完善後形成的軟體。其名

稱來源于A Palchy Server 意思是“基于原有Web 服務程式的代碼進行修改(補T) 後形成的

伺服器程式”,

1995年Apeche服務程式的10版本釋出之後一直由"ApacheGroup負責該項目的管理

和維護,直到1999 年在ApacheGroup 的基礎上成立了Apache軟體基金會(Apache Sotwae

Foundation ASF).目前,Apache項目一直由 ASF 負責管理和維護,

ASF 是非盈利性質的組織,最初隻負責"ApacheWeb伺服器項目的管理,随着Web應用需

求的不斷擴大,ASF 逐漸增加了許多與Web 技術相關的開源軟體項目是以Apsthe 現在不僅僅

代表着Web 伺服器,更廣泛地代表着ASF 管理的衆多開源軟體項目,ASF 基金會的官方網站是

htIP:/ www apache .org/.

ApacheHTTPServer 是ASF 旗下著名的軟體項目之一,其正式名稱是htpa”也就是曆史

上的Apache 網站伺服器。在本書後續内容中。若未作特殊說明,使用"Apache 或者“http:d

均指的是、Apache HTP Server

2.Apache 的主要特點

Apache 伺服器在功能性能和安全性等方面的表現都是比較突出的可以較好地滿足Web

伺服器使用者的應用需求,其主要特點包括以下幾個方面。

開放源代碼這是Apache伺服器的重要特性之一,也是其他特性的基礎。Apache服務程

序由全世界的衆多開發者共同維護并且任何人都可以自由使用,這充分展現了開源軟

件的精神。

跨平台應用這個特性得益于Apache的源代碼開放。Apache伺服器可以運作在絕大多數

軟硬體平台上,所有UNX 作業系統都可以運作Apache伺服器甚至Apache服務理可

以良好地運作在大多數Wndows 系統平台中。Apache 伺服器的跨平台特性使美具有被

廣泛應用的條件。

支援各種Web 程式設計語言Apache伺服器可支援的網頁程式設計語言包括perl、PHP、Pythoon、java

等,甚至微軟的ASP 技術也可以在Apache陽伺服器中使用支援各種常用的web編

程語言使Apache具有更廣泛的應用領域。

子產品化設計Apache 并沒有将所有的功能集中在單一的服務程式内部,而是盡可能的通過标準的子產品實作專有的功能這為Apache伺服器帶來了可以編寫标準的子產品程式,進而添加Apache本身并不具有的其他功能。

運作非常穩定,Apache伺服器可用于建構具有大負載通路量的Web 站點,很多知名的企

業網站都使用Apache 作為Web 服務軟體。

良好的安全性,Apache 伺服器具有相對較好的安全性,這是開源軟體共同具有的特性。

并且Apache 的維護團隊會及時對已發現的漏洞提供修補在序,為Apache 的所有使用者

提供盡可能安全的伺服器程式。

服務搭建環境:ret hat 6、httpd-2.2.17,apr-1.4.6.tar.gz,apr-util-1.4.1.tar.gz

  1. 準備工作

避免端口沖突,程式沖突等現象,需要做以下檢查

[root@localhost ~]# netstat -anpt | grep 80

[root@localhost ~]# rpm -e httpd --nodeps

2.使用yum工具安裝編譯包

 yum -y install gcc gcc-c++ make pcre-devel

3.解開壓縮包

[root@localhost ~]# tar -zxf apr-util-1.4.1.tar.gz -C /opt

[root@localhost ~]# tar -zxf apr-1.4.6.tar.gz -C /opt

[root@localhost ~]# tar -zxf httpd-2.4.25.tar.gz -C /opt

4.将優化包拷貝到httpd的目錄下

[root@localhost opt]# cp -r apr-1.4.6/ httpd-2.4.25/srclib/apr

[root@localhost opt]# cp -r apr-util-1.4.1/ httpd-2.4.25/srclib/apr-util

5.進入httpd的目錄檢測安裝平台的目标特征

[root@localhost opt]# cd httpd-2.4.25/

./configure \

--prefix=/usr/local/apache \

--enable-so \

--enable-rewrite \

--enable-mods-shared=most \

--with-mpm=worker \

--disable-cgid \

--disable-cgi

參數解釋:

--prefix=   //來指定安裝路徑

--enable-so  //該參數表示支援用mod_so子產品提供的功能,用LoadModule在httpd.conf檔案或包含的conf檔案中動态加載某個子產品。讓 Apache 可以支援DSO模式

--enable-rewrite  //支援 URL 重寫

--enable-mods-shared=most  //選項:告訴編譯器将所有标準子產品都動态編譯為DSO子產品。

--with-mpm=worker // 讓apache以worker方式運作

--with-mpm=worker   //該參數是配置apache将以何種模式編譯的。Apache網站文檔指出不同作業系統下的不同的預設模式.

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

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

6.編譯和安裝編譯

[root@localhost httpd-2.4.25]# make && make install

7.确認安裝結果

[root@localhost httpd-2.4.25]# ls /usr/local/apache/

bin    cgi-bin  error   icons    lib   man     modules

build  conf     htdocs  include  logs  manual

8.優化路徑

[root@localhost httpd-2.4.25]# ln -s /usr/local/apache/bin/* /usr/local/bin

9.檢視是否優化成功

[root@localhost httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl 

lrwxrwxrwx. 1 root root 31 6月  18 00:51 /usr/local/bin/apachectl -> /usr/local/apache/bin/apachectl

lrwxrwxrwx. 1 root root 27 6月  18 00:51 /usr/local/bin/httpd -> /usr/local/apache/bin/httpd

10.添加httpd為系統服務

[root@localhost httpd-2.4.25]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

[root@localhost httpd-2.4.25]# chmod  +x  /etc/init.d/httpd

[root@localhost httpd-2.4.25]# vim /etc/init.d/httpd

 1 #!/bin/sh

 2 #chkconfig: 35 85 21

[root@localhost httpd-2.4.25]# chkconfig --add httpd

[root@localhost httpd-2.4.25]# chkconfig --list httpd

httpd           0:關閉  1:關閉  2:關閉  3:啟用  4:關閉  5:啟用  6:關閉

11.配置httpd的配置檔案

[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf

 各全局配置項的含義如下。

ServerRoot,設定httpd伺服器的根目錄,該目錄下包括了運作Web站點必需的子目錄和

檔案。預設的根目錄為/usr/local/httpd.與httpd 的安裝目錄相同,在httpa conf 配置文

件中,如果指定目錄或檔案位置時不使用絕對路徑,則該目錄或檔案位置都認為是在服

務器的根目錄下。

Listen; 設定httpd伺服器監昕的網絡端口号,預設為80.

User: 設定運作httpd程序時的使用者身份,預設為daemon.

Group: 設定運作httpd程序時的組身份,預設為demon.

ServerAdmin; 設定htipd伺服器的管理者E-mal 位址,可以通過此E-mal 位址及時聯系

Web 站點的管理 員.

ServerName: 設定Web站點的完整主機名(主機名+域名).

Documentoot: 設定網站根目錄,即網頁文檔在系統中的實際存放路徑、此配置項比較容

易和ServerRoot 混淆,需要格外注意.

Directoryindex: 設定網站的預設索引頁(首頁),可以設定多個首頁檔案,以空格分開,

預設的首頁檔案為index.html.

Erorlog: 設定錯誤日志檔案的路徑,預設路徑為logs/eror_log.

LogLevel; 設定記錄日志的級别,預設級别為wam (警告)。

CustorLog.設定通路日志檔案的路徑、日志類型,預設路徑為logs/access_og.使用的

類型為common (通用格式).

PidFile.設定用于儲存httpd 程序号(PD) 的檔案,預設儲存位址為logs/ httpa pid.logs

目錄位于Apache的伺服器根目錄下。

CharsetDefault;設定站點中的網頁預設使用的字元集編碼,如UTF-8.gb2312等。

include.包含另一個配置檔案的内容,可以實作将一些特殊功能的配置放到一個單獨的

檔案中,再使用Include 配置項将其包含到httpd conf 檔案中,這樣便于獨立進行配置功

能的維護而不影響主配置檔案。

以上配置項是httpo conf 檔案中主要的全局配置項。還有其他很多配置項,在此不一一列舉,

如果需要使用可以檢視Apache伺服器中的相關幫助手冊文檔。

繼續閱讀