天天看點

LINUX下Apache伺服器配置全攻略(六)

LINUX下Apache伺服器配置全攻略(六)

作者:王波 OSO奧索

  通常連接配接時,伺服器僅僅可以得到客戶機的IP位址,如果要想獲得客戶機的

主機名,以進行日志記錄和提供給 CGI程式使用,就需要使用這個HostnameLookups 選項,将其設定為On打開DNS反查功能。但是這将使伺服器對每次客戶請求都進行DNS查詢,增加了系統開銷,使得反應變慢,是以預設設定為使用Off關閉此選項。關閉選項之後,伺服器就不會獲得客戶機的主機名,而隻能使用IP位址來記錄客戶。

ErrorLog /var/log/httpd-error.log

LogLevel warn

LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent} "" combined

LogFormat "%h %l %u %t "%r" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

#CustomLog /var/log/httpd-access.log common

#CustomLog /var/log/httpd-referer.log referer

#CustomLog /var/log/httpd-agent.log agent

CustomLog /var/log/httpd-access.log combined

  這裡定義了系統日志的形式,對于伺服器錯誤記錄, 由ErrorLog、 LogLevel 來定義不同的錯誤日志檔案及其記錄内容。

  對于系統的通路日志,預設使用CustomLog參數定義日志的位置,預設使用 combined 參數指定将所有的通路日志放在一個檔案中,然而也可以将不同種類的通路日志放在不同的日志記錄檔案中,這是通過在 CustomLog中指定不同的記錄類型來完成的。common表示普通的對單頁面請求通路記錄,referer表示每個頁面的引用記錄,可以看出一個頁面中包含的請求數,agent表示對客戶機的類型記錄,顯然可以将現有的combined 定義的設定行注釋掉,并使用common、referer和agent作為CustomLog的參數,來為不同種類的日志分别指定日志記錄檔案。

  顯然,LogFormat是用于定義不同類型的日志進行記錄時使用的格式, 這裡

使用了以%開頭的宏定義,以記錄不同的内容。

  如果這些參數指定的檔案使用的是相對路徑,那麼就是相對于ServerRoot的

路徑。

  ServerSignature On

  一些情況下,例如當客戶請求的網頁并不存在時,伺服器将産生錯誤文檔,

預設情況下由于打開了 ServerSignature選項,錯誤文檔的最後一行将包含伺服器的名字、Apache的版本等資訊。有的管理者更傾向于不對外顯示這些資訊,就

可以将這個參數設定為Off,或者設定為Email,最後一行将替換為對 ServerAdmin 的Email提示。

Alias /icons/ "/www/icons/"

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

  Alias參數用于将URL與伺服器檔案系統中的真實位置進行直接映射,一般的

文檔将在DocumentRoot 中進行查詢,然而使用Alias定義的路徑将直接映射到相

應目錄下,而不再到DocumentRoot 下面進行查詢。是以Alias可以用來映射一些

公用檔案的路徑,例如儲存了各種常用圖示的icons路徑。這樣使得除了使用符号連接配接之外,文檔根目錄(DocumentRoot)外的目錄也可以通過使用了Alias映射,提供給浏覽器通路。

  定義好映射的路徑之後,應該需要使用Directory語句設定通路限制。

ScriptAlias /cgi-bin/ "/www/cgi-bin/"

AllowOverride None

Options None

Order allow,deny

Allow from all

  ScriptAlias也是用于URL路徑的映射,但與Alias的不同在于,ScriptAlias 是用于映射CGI程式的路徑,這個路徑下的檔案都被定義為CGI程式,通過執行它們來獲得結果,而非由伺服器直接傳回其内容。預設情況下CGI程式使用cgi-bin目錄作為虛拟路徑。

  # Redirect old-URI new-URL

  Redirect參數是用來重寫URL的,當浏覽器通路伺服器上的一個已經不存在的資源的時候,伺服器傳回給浏覽器新的URL,告訴浏覽器從該URL中擷取資源。這主要用于原來存在于伺服器上的文檔,改變了位置之後,而又希望能使用老URL能通路到,以保持與以前的URL相容。

IndexOptions FancyIndexing

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

AddIconByType (TXT,/icons/text.gif) text/*

AddIconByType (IMG,/icons/image2.gif) image/*

AddIconByType (SND,/icons/sound2.gif) audio/*

AddIconByType (VID,/icons/movie.gif) video/*

AddIcon /icons/binary.gif .bin .exe

AddIcon /icons/binhex.gif .hqx

AddIcon /icons/tar.gif .tar

AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv

AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip

AddIcon /icons/a.gif .ps .ai .eps

AddIcon /icons/layout.gif .html .shtml .htm .pdf

AddIcon /icons/text.gif .txt

AddIcon /icons/c.gif .c

AddIcon /icons/p.gif .pl .py

AddIcon /icons/f.gif .for

AddIcon /icons/dvi.gif .dvi

AddIcon /icons/uuencoded.gif .uu

AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl

AddIcon /icons/tex.gif .tex

AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..

AddIcon /icons/hand.right.gif README

AddIcon /icons/folder.gif ^^DIRECTORY^^

AddIcon /icons/blank.gif ^^BLANKICON^^

DefaultIcon /icons/unknown.gif

#AddDescription "GZIP compressed document" .gz

#AddDescription "tar archive" .tar

#AddDescription "GZIP compressed tar archive" .tgz

ReadmeName README

HeaderName HEADER

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

當一個HTTP請求的URL為一個目錄的時候,伺服器傳回這個目錄中的索引檔案。但如果一個目錄中不存在預設的索引檔案,并且該伺服器又許可顯示目錄檔案清單的時候,就會顯示出這個目錄中的檔案清單,為了使得這個檔案清單能具有可了解性,而不僅僅是一個簡單的清單,就需要前面的這些設定參數。

>>上篇文章:LINUX下Apache伺服器配置全攻略(五)

>>下篇文章:LINUX下Apache伺服器配置全攻略(七)

繼續閱讀