Apache 設定檔(httpd.conf)說明 - I



這篇是轉貼 Apache 設定檔(httpd.conf)說明,包含了NCSA的範例!

資料來源:1. http://idobest.pixnet.net/blog/post/22040519

2. http://yi-fan.no-ip.org/dz/redirect.php?tid=2112&goto=lastpost&sid=SQ87FV

3. http://redhat.ecenter.idv.tw/bbs/showthread.php?s=&threadid=24929

1. 設定範例一

這是 Apache 的 http.conf 的說明 (已翻譯成中文哦! )

#
# 基於 NCSA 服務的設定檔。
#
#這是Apache伺服器主要設定檔。
#它包含伺服器的影響伺服器運行的設定指令。
#參見<URL>以取得關於這些指令的詳細資訊
#
#不要只是簡單的閱讀這些指令資訊而不去理解它。
#這裡只是做了簡單的說明,如果你沒有參考線上檔,你就會被警告。
#
#這些設定指令被分為下面三個部分:
#1. 控制整個Apache伺服器行為的部分(即全局環境變數)
#2. 定義主要或者預設服務參數的指令,也為所有虛擬主機提供預設的設定參數
#3. 虛擬主機的設定參數
#
#設定和日誌檔案名:如果你指定的檔案名以「/」開始(win32下以「dirver:/」),
#伺服器將使用絕對路徑,如果檔案名不是以「/」開始的,那麼它將把ServerRoot
#的值附加在檔案名的前面,例如,對「logs/foo.log”,如果ServerRoot的值
#為「/usr/local/apache2」,則該文件應為「/usr/local/apache2/logs/foo.log」
#
##第一區:全局環境參數
#
#這裡設定的參數將影響整個Apache伺服器的行為;
#例如Apache能夠處理的併發連線的數量等。
#
#ServerRoot:指出伺服器保存其設定、出錯和日誌檔等的根目錄。
#
#注意!如果你想要將它指定為NFS或其他網路上的位置,
#請一定要去閱讀與LockFile有關的文檔(可能在
#<URL>)。
#這將會使你自己也能解決很多問題。
#
#路徑的結尾不要添加斜線。
#
ServerRoot “/usr/loacl/apache2″
#
#串列訪問的鎖檔必須保存在本地磁片上
#
<IfModule>
<IfModule>
#LockFile logs/accept.lock
</IfModule>
</IfModule>

#ScoreBoardFile:用來保存內部服務進程資訊的檔。
#如果未指明(預設),記分板(scoreboard)將被保存在一個匿名的共用記憶體段中,
#並且它不能被第三方軟體所使用。
#如果指定了,要確保不能使用兩個Apache使用同一個記分板檔,
#這個記分板檔必須保存在本地磁片上。
#
<IfModule>
<IfModule>
#ScoreBoardFile logs/apache_runtime_status
<IfModule>
<IfModule>

#
#PidFile:記錄伺服器啟動進程號的檔。
#
<IfModule>
PidFile logs/httpd.pid
</IfModule>

#
#Timeout:接收和發送前超時秒數
#
Timeout 300

#
#KeepAlive:是否允許穩固的連接(每個連接有多個連線),
#設為”Off”則停用。
#
KeepAlive On

#
#MaxKeepAliveRequests:在穩固連接期間允許的最大連線數,
#設為0表示無限制接入。
#我們推薦你將其設為一個較大的值,以便提高性能
MaxKeepAliveRequests 100

#
#KeepAliveTimeout:在同一個連接上從同一台客戶上接收連線的秒數
#
KeepAliveTimeout 15

##
##Server-Pool大小設定(針對MPM的)
##

# prefork MPM
# StartServers:啟動時伺服器啟動的進程數
# MinSpareServers:保有的備用進程的最小數目
# MaxSpareServers:保有的備用進程的最大數目
# MaxClients:伺服器允許啟動的最大進程數
# MaxRequestsPerChild:一個服務進程允許的最大連線數
<IfModule>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestPerChild 0
</IfModule>

# worker MPM
# StartServers:伺服器啟動時的服務進程數目
# MaxClients:允許同時連接的最大用戶數目
# MinSpareThreads:保有的最小工作線程數目
# MaxSpareThreads:允許保有的最大工作線程數目
# ThreadsPerChild:每個服務進程中的工作線程常數
# MaxRequestsPerChild:服務進程中允許的最大連線數目
<IfModule>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

# perchild MPM
# NumServers:服務進程數量
# StartThreads:每個服務進程中的起始線程數量
# MinSpareThreads:保有的最小線程數量
# MaxSpareThreads:保有的最大線程數量
# MaxThreadsPerChild:每個服務進程允許的最大線程數
# MaxRequestsPerChild:每個服務進程允許連接的最大數量
<IfModule>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
</IfModule>

# WinNT MPM
# ThreadsPerChild:服務進程中工作線程常數
# MaxRequestsPerChild:服務進程允許的最大連線數
<IfModule>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>

# BeOS MPM
# StartThreads:伺服器啟動時啟動的線程數
# MaxClients:可以啟動的最大線程數(一個線程等於一個用戶)
# MaxRequestsPerThread:每個線程允許的最大連線數
<IfModule>
StartThreads 10
MaxClients 50
MaxRequestsPerThread 10000
</IfModule>

# NetWare MPM
# ThreadStachSize:為每個工作線程分配的堆疊尺寸
# StartThreads:伺服器啟動時啟動的線程數
# MinSpareThreads:用於處理實發連線的空閒線程數
# MaxSpareThreads:空閒線程的最大數量
# MaxThreads:在同一時間活動的最大線程數
# MaxRequestPerChild:一個線程服務連線的最大數量,
# 推薦將其設定為0,以實現無限制的接入
<IfModule>
ThreadStackSize 65536
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestPerChild 0
</IfModule>

# OS/2 MPM
# StartServers:啟動的服務進程數量
# MinSpareThreads:每個進程允許的最小空閒線程
# MaxSpareThreads:每個進程允許的最大空閒線程
# MaxRequestsPerChild:每個服務進程允許的最大連接數
<IfModule>
StartServers 2
MinSpareThreads 5
MaxSpareThreads 10
MaxRequestsPerChild 0
</IfModule>

#
# Listen:允許你綁定Apache服務到指定的IP位址和埠上,以取代預設值
# 參見<VirtualHost>指令
# 使用如下命令使Apache只在指定的IP位址上監聽,
# 以防止它在IP地址0.0.0.0上監聽
#
# Listen 12.34.56.78:80

Listen 80

#
# 動態共用支援(DSO)
#
# 為了能夠使用那些以DSO模式編譯的模組中的函數,你必須有相應的「LoadModule」行,
# 因此,在這裡包含了這些指令,以便能在使用它之前啟動。
# 那些靜態編譯的模組不需要在這裡列出 (即以「httpd -l」列出的模組)
#
# 示例:
# LoadModule foo_module modules/mod_foo.so
#

#
# ExtendedStatus:當調用「server-status」時,控制Apache是產生「全」狀態
# 資訊(ExtendedStatus On),還是產生基本資訊(ExtendedStatus Off)。
# 預設為off
#
# ExtendedStatus On

### 第二區:「主」服務設定
#
# 這一區建立被 「主」 伺服器用的指令值,以回應那些不被 <VirtualHost>
# 定義處理的任何連線。
# 這些數值也提供預設值給後面定義的<VirtualHost>容器。
# 如果<VirtualHost>中有定義,那麼這裡定義的指令值將被
# <VirtualHost>中的定義所覆蓋。
#

<IfModule>
<IfModule>
#
# 如果你想使httpd以另外的用戶或組來運行,你必須在開始時以root方式啟動
# 然後再將它切換為你想要使用的用戶或組。
#
# User/Group:運行httpd的用戶和組
# 在SCO (ODT3)上使用「User nouser」和「Group nogroup」
# 在HPUX上,你可能不能以nobody身份使用共用記憶體,建議創建一個www用戶。
# 注意一些核心(kernel)在組ID大於60000時拒絕setgid(Group)或semctl(IPC_SET),
#節在這些系統上不要使用「Group #-1」。
#
User nobody
Group #-1
</IfModule>
</IfModule>

#
# ServerAdmin:你的郵件地址,當發生問題時Apache將向你發出郵件。
# 作為一個出錯文檔,這個位址顯示在server-generated頁上,
# 例如:admin@your-domain.com
#
ServerAdmin admin@your-domain.com

#
# ServerName指定Apache用於識別自身的名字和埠號。
# 通常這個值是自動指定的,但是我們推薦你顯式的指定它以防止啟動時出錯
#
# 如果你為你的主機指定了一個無效的DNS名,server-generated重定向將不能工作。
# 參見UseCanonicalName指令
#
# 如果你的主機沒有註冊DNS名,在這裡鍵入它的IP位址
# 無論如何,你必須使用它的IP位址來提供服務,
# 這裡使用一種容易理解的方式重定向服務
# 阿傑老師註解: 一 定要設,不然網址後一定要加 / 才能連結


ServerName jstudio.idv.tw

#
# UseCanonicalName:決定Apache如何構造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。
# 當設定為 「Off」時,Apache會使用用戶端提供的主機名和埠號。
# 當設定為「On」,Apache會使用ServerName指令的值。
#
UseCanonicalName Off

#
# DocumentRoot:你的文檔的根目錄。預設情況下,所有的連線從這個目錄進行應答。
# 但是可以使用符號鏈結和別名來指向到其他的位置。
# 阿傑老師註解 : 這是網站檔案真正的位置

DocumentRoot “/home/redhat/public_html”

#
# Apache可以存取的每個目錄都可以設定存取許可權(包括它的子目錄)。
#
# 首先,我們設定一個高限制的特徵。

# 這將禁止訪問檔系統所在的目錄,並添加你希望允許訪問的目錄塊。
# 如下所示
<Directory>
Order Deny,Allow
Deny from all
</Directory>

#
# 注意從這裡開始你一定要明確地允許哪些特別的特徵能夠被使用。
# - 所以,如果Apache沒有像你所期待的那樣工作的話,
# 請檢查你是否在下面明確的指定它可用。
#

#
# 這將改變到你設定的DocumentRoot
#
<Directory>

#
# Options:這個指令的值可以是「None」,「All」,或者下列選項的任意組合:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# 注意,「MultiViews」必須被顯式的指定,「Options All」不能為你提供這個特性。
#
# 這個指令既複雜又重要,請參見
#「http://httpd.apache.org/docs-2.0/mod… 的資訊。
#
Options FollowSymLinks

#
# AllowOverride控制那些被放置在.htaccess檔中的指令。
# 它可以是「All」,「None」,或者下列指令的組合:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# 控制誰可以獲得服務。
#
Order allow,deny
Allow from all

</Directory>

#
# UserDir:指定在得到一個~user連線時將會添加到用戶home目錄後的目錄名。
#

UserDir public_html

# 為防止在UserDir指令上的漏洞,對root用戶設定
# 象「./」這樣的UserDir是非常有用的。
# 如果你使用Apache 1.3或以上版本,我們強烈建議你
# 在你的伺服器設定檔中包含下麵的行

UserDir disabled root

#
# 下面是一個使用UserDir指令使一個站點的目錄具有唯讀屬性的示例:
#
# <Directory>
# AllowOverride FileInfo AuthConfig Limit Indexes
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec
# <Limit>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept>
# Order deny,allow
# Deny from all
# </LimitExcept>
# </Directory>

#
# DirectoryIndex:定義連線是一個目錄時,Apache向用戶提供服務的檔案名
#
# index.html.var檔(一個類型映像檔)用於提供一個文檔處理列表,
# 出於同樣的目的,也可以使用MultiViews選項,但是它會非常慢。
#
DirectoryIndex index.php index.html index.html.var
#
# AccessFileName:在每個目錄中查詢為目錄提供附加設定指令的檔的檔案名。
# 參見AllowOverride指令。
#
AccessFileName .htaccess

#
# 下面的行防止.htaccess和.htpasswd檔被Web客戶查看。
#
<Files>
Order allow,deny
Deny from all
</Files>

#
# Typeconfig:定義在哪裡查詢mime.types文件。
#
TypeConfig conf/mime.types

#
# DefaultType:定義當不能確定MIME類型時伺服器提供的預設MIME類型。
# 如果你的服務主要包含text或HTML文檔,「text/plain」是一個好的選擇;
# 如果大多是二進位文檔,諸如軟體或圖像,你應使用
# 「application/octer-stream」來防止流覽器象顯示文本那樣顯示二進位檔。
#
DefaultType text/plain

#
# mod_mime_magic允許伺服器從自己定義自己類型的檔中使用不同的線索(hints),
# 這個MIMEMagicFile指令定義hints定義所在的檔。
#
<IfModule>
MIMEMagicFile conf/magic
</IfModule>

#
# HostnameLookups:指定記錄用戶端的名字還是IP位址,例如,本指令為on時
# 記錄主機名,如www.apache.org;為off時記錄IP位址,204.62.129.132。
# 預設值為off,這要比設為on好得多,因為如果設為on則每個用戶端連線都將會
# 至少造成對 nameserver 進行一次查詢。
#
HostnameLookups Off

#
# EnableMMAP:控制是否進行記憶體傾印(如果作業系統支援的話)。
# 預設為on,如果你的伺服器安裝在網路檔系統上(NFS),請關閉它。
# 在一些系統上,關閉它會提升系統性能(與檔系統類型無關);
# 具體情況請參閱http://httpd.apache.org/docs-2.0/mod…tml#enablemmap
#
# EnableMMAP off

#
# EnableSendfile:控制是否使用sendfile kernel支援發送檔
# (如果作業系統支援的話)。預設為on,如果你的伺服器安裝在網路檔系統
# (NFS)上,請你關閉它。
# 參見http://httpd.apache.org/docs-2.0/mod…enablesendfile
#
# EnableSendfile off

#
# ErrorLog:錯誤日誌檔定位。
# 如果你沒有在<VirtualHost>內定義ErrorLog指令,這個虛擬主機的錯誤資訊
# 將記錄在這裡。如果你在那兒定義了ErrorLog,這些錯誤資訊將記錄在你所
# 定義的檔裡,而不是這兒定義的檔。
#
ErrorLog logs/error_log

#
# LogLevel:控制記錄在錯誤日誌檔中的日誌資訊數量。
# 可能的值包括:debug,info,notice,warn,error,crit,alert,emerg。
#
LogLevel warn

#
# 下面的指令為CustomLog指令定義格式別名。
#
LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”" combined
LogFormat “%h %l %u %t “%r” %>s %b” common
LogFormat “%{Referer}i -> %U” referer
LogFormat “%{User-agent}i” agent

# 你需要安裝了mod_logio.c模組才能使用%I和%O。
# LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i” %I %O” combinedio

#
# 指定接入日誌檔的定位和格式(一般日誌格式)。
# 如果你沒有在<VirtualHost>內定義這個指令,傳輸資訊將記錄在這裡,
# 如果你定義了這個指令,則記錄在你指定的位置,而不是這兒定義的位置。
#
CustomLog logs/access_log common

#
# 如果你想要記錄agent和referer資訊,可以使用下面的指令
#
# CustomLog logs/referer_log referer
# CustomLog logs/agent_log agent

#
# 如果你想要使用一個檔記錄access,agent和referer資訊,
# 你可以如下定義這個指令:
#
# CustomLog logs/access_log combined

#
# ServerTokens
# 這個指令定義包含在HTTP回應頭中的資訊類型。預設為「Full」,
# 這表示在回應頭中將包含模組中的作業系統類型和編譯資訊。
# 可以設為列各值中的一個:
# Full | OS | Minor | Minimal | Major | Prod
# Full傳達的資訊最多,而Prod最少。
#
ServerTokens Full

#
# 隨意的添加包含伺服器版本和虛擬主機名字一行資訊到server-generated輸出頁中
# (內部錯誤文檔,FTP目錄列表,mod_status和mod_info輸出等等,除了CGI錯誤
# 或自定義的錯誤文檔以外)。
# 設為「EMail」將包含一個指向ServerAdmin的mailto:連接。
# 可以為如下值:On | Off | EMail
#
ServerSignature On

#
# Aliases:在這時添加你需要的別名,格式如下:
# Alias 別名 真實名
#
# 注意,如果你在別名的未尾包含了「/」,那麼在URL中也需要包含「/」。
# 因此,「/icons」不是這個示例中的別名。
# 如果別名中以「/」結尾,那麼真實名也必須以「/」結尾,
# 如果別名中省略了結尾的「/」,那麼真實名也必須省略。
#
# 我們使用別名「/icons/」來表示FancyIndexed目錄列表,如果你不使用、
# FancyIndexing,你可以註釋掉它。
#
# Alias /icons/ “/usr/local/apache2/icons/”

# <Directory>
# Options Indexes MultiViews
# AllowOverride None
# Order allow,deny
## Allow from all
# </Directory>

#
# 這將改變ServerRoot/manual。這個別名提供了手冊頁所在的位置,
# 即使你改變了你的DocumentRoot。如果你對有無手冊頁並不在意的話,
# 你可以註釋掉它。
#
Alias /manual “/usr/loacl/apache2/manual”

<Directory>
Options Indexes FollowSymLinks MultiViews IncludesNoExec
AddOutputFilter Includes html
Order allow,deny
Allow from all
</Directory>

#
# ScriptAlias:指定包含服務腳本的目錄。
# ScriptAliases 本質上與Aliases一樣,除了這裡的文檔在連線時做為程式處理處理以外。
# 尾部的「/」規則與Alias一樣
#
ScriptAlias /cgi-bin/ “/usr/loacl/apache2/cgi-bin/”

# 這裡是添加php 4支援的指令
AddType application/x-httpd-php .php
LoadModule php4_module modules/libphp4.so

<IfModule>
#
# 添加mod_cgid.c設定,mod_cgid提供使用cgid進行通訊的UNIX套接字的
# 腳本介面路徑。
#
# Scriptsock logs/cgisock
</IfModule>

#
# 將”/usr/local/apache2/cgi-bin”改為你的ScriptAliased指定的CGI目錄,
# 如果你設定了的話。
#
<Directory>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

#
# Redirect允許你告訴用戶端使用存在於伺服器名字空間中的文檔,
# 而不是現在的,這幫助客戶定位那些改變了位置的文檔。
# 例如:
# Redirect permanent /foo http://www.example.com/bar

#
# 控制server-generated目錄列表顯示的指令
#

#
# IndexOptions:控制server-generated目錄列表顯示特徵。
#
IndexOptions FancyIndexing VersionSort

#
# AddIcon* 指令告訴伺服器不同副檔名的圖像檔如何顯示,
# 只適用於FancyIndexed指令
#
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 為那些沒有顯式定義圖示的檔提供處理
#
DefaultIcon /icons/unknown.gif

#
# AddDescription允許你在server-generated索引後放置一個簡短的說明。
# 只對FancyIndexed指令有效。
# 格式:AddDescription “說明” 檔案名
#
# AddDescription “GZIP compressed document” .gz
# AddDescription “tar archive” .tar
# AddDescription “GZIP compressed tar archive” .tgz

#
# ReadmeName指定伺服器預設查找的README檔的名字,並添加到目錄列表中
#
# HeaderName指定目錄列表首碼檔的檔案名
ReadmeName README.html
HeaderName HEADER.html

#
# IndexIgnore指定目錄索引忽略並且不包含在列表中的檔案名集合,
# 支援shell類型的通配符。
#
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

#
# AddEncoding允許你在資訊傳送中使用(Mosaic/X 2.1+)解壓縮資訊,
# 注意:不是所有的流覽器都支援這個選項。
# 儘管名字相似,但是下列的指令與上面的FancyIndexing定製指令不同。
#
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

#
# DefaultLanguage和AddLanguage允許你指定文檔的語言。
# 這使你可以讓用戶用容易理解的語言流覽文檔。
#
# 指定預設的語言,這意味著所有沒有指定語言的包都將使用該語言。
# 多數情況下,你也許並不想設定它,除非你確信這樣做是正確的。
# 通常,不使用確定的語言比使用錯誤的語言要好。
#
# DefaultLanguage nl
#
# 注意1:作為語言關鍵字的詞綴毫無疑問是不能一樣的–採用波蘭
# 文的文檔(網路標準語言代碼是pl)將希望使用「AddLanguage pl .po」
# 來避免與perl腳本的一般詞綴產生二義性。
#
# 注意2: 下面的例子舉例說明在一些範例中語言的二字元縮寫與它的國家
# 的二字元縮寫不相同,例如 「Danmark/dk」 和 「Danmark/da」 的比較.
#
# 注意3: 在 「ltz」 的情況下我們使用三字元詞綴,違犯了 RFC的規定,
# 運行中將修復它並使用RFC1766標準取得參考資料。
#
# Danish (da) - Dutch (nl) - English (en) - Estonian (et)
# French (fr) - German (de) - Greek-Modern (el)
# Italian (it) - Norwegian (no) - Norwegian Nynorsk (nn) - Korean (ko)
# Portugese (pt) - Luxembourgeois* (ltz)
# Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
# Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
# Russian (ru) - Croatian (hr)
#
AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .et
AddLanguage fr .fr
AddLanguage de .de
AddLanguage he .he
AddLanguage el .el
AddLanguage it .it
AddLanguage ja .ja
AddLanguage pl .po
AddLanguage ko .ko
AddLanguage pt .pt
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pt-br .pt-br
AddLanguage ltz .ltz
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .sv
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw
AddLanguage hr .hr

# LanguagePriority允許你在會話過程中優先使用一些語言。
#
# 以優先次序遞減的方式列出它們。我們或多或少地採用按字母排列順序的方式
# 排列它們。也許你想要改變這個順序。
LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw

#
# ForceLanguagePriority 允許你為MULTIPLE CHOICES(Prefer)[在通訊的情況下]
# 或NOT ACCEPTABLE(Fallback)[沒有可接受的語言匹配的情況]提供一個結果頁。
#
ForceLanguagePriority Prefer Fallback

#
# 為發送出的所有頁指定預設的字元集,這總是一個好主意,並且為你的
# web站點的國際化打開了大門,這不正是你曾經想要的嗎。同樣地,指定
# 預設字元集有一些小的損害,如一個使用iso-8859-1(latin1)標準命令
# 的頁面,除非以別的方式指定例如你僅僅以顯式方式聲明它。
# 也有一些與那些總是鼓勵你使用預設字元集的javascropt和URL語法有關
# 的流覽器安全原因。
#
#AddDefaultCharset ISO-8859-1
AddDefaultCharse GB2312

#
# 一般以檔副檔名的方式使用字元集。也許你想要避免與語言擴展發生
# 碰撞,除非你在每次改變後都做了很好的測試。
# 參見http://www.iana.org/assignments/character-sets以取得字元集
# 的名字列表和它們各自的RFCs。
#
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
# 對於俄語,使用了多個字元集(如何使用主要依靠用戶端):
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8

# 下面的字元集沒有映射到一個特定的標準(iso)上,但是它們在流覽器
# 中被廣泛的支持。注意那些大寫字母。
# (它不應該,但是它是為相容一些流覽器而做)
#
# 參見http://www.iana.org/assianments/character-sets以取得
# 它們的列表。但是流覽器支持較少。
#
AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis

#
# AddType允許你為指定的檔類型添加或覆蓋mime.types檔中設定的MIME
#
AddType application/x-tar .tgz
AddType image/x-icon .ico

#
# AddHandler允許你映射確定的檔副檔名到「handlers」:
# 與文件類型無關的行為。這既能編譯到伺服器中也可以添加到Action指令
# 中(看下麵)。
# 為了在ScriptAliased指令指定的以外使用CGI腳本:
#(要使它可用,你還需要在Options中添加「ExecCGI」。
#
# AddHandler cgi-script .cgi

#
# 對於那些包含他們自己的HTTP頭的檔
#
# AddHandler send-as-is asis

#
# 對於server-parsed imagemap文件:
#
# AddHandler imap-file map

#
# agemap 文件:
#
#AddHandler imap- 檔映射

#
# 對於類型映射轉移資源)
#(這是預設的設定以允許Apache的「It Worked」頁能多種語言分發)。
#
AddHandler type-map var

#
# 篩檢程式允許你在將它發送到用戶端前進行處理。
#
# 為了在伺服器端分析包含(SSI)的.shtml文檔:
# (要執行這個指令,你還需要在Options指令中添加「Includes」。)
#
# AddType text/html .shtml
# AddOutputFilter INCLUDES .shtml

#
# Action讓你定義當調用匹配的媒體檔時將要執行的腳本。這將減少
# 那些經常使用的CGI腳本的URL路徑名的重複輸入。
# 格式:Action media/type /cgi-script/location
# 格式:Action handler-name /cgi-script/location
#

#
# 可設定的錯誤應答有三種風格:
# 1)plain text 2)local redirects 3) external redirects
#
# 一些示例:
# ErrorDocument 500 “The server made a boo boo.”
# ErrorDocument 404 /missing.html
# ErrorDocument 404 “/cgi-bin/missing_handler.pl”
# ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# 綜合應用這些指令,我們可以創建一個國際化的出錯應答。
#
# 我們使用Alias來重定向任意/error/HTTP_<error>.html.var應答到
# 我們的多語言錯誤消息集合。使用正確的文本替代它。
#
# 通過加入下面的行,你就能夠改變這些消息的顯示,而不必改變
# HTTP_<error>.html.var文件。
#
# Alias /error/include/ “/your/include/path/”
#
# 以將/usr/local/apache2/error/include/下的檔拷貝到/your/inclue/path/下
# 開始,你可以創建你自己的檔集合,甚至是其於每個虛擬主機的。
# 不管你的ServerSignature如何設定,預設的包含檔將顯示你的
# Aapche版本號和你的ServerAdmin郵件地址
#
# 國際化的錯誤文檔需要mod_alias,mod_include和mod_negotiation三個
# 模組。要啟動它們,取消下面30行的註釋符號

# Alias /error/ “/usr/local/apache2/error/”
#
# <Directory>
# AllowOverride None
# Options IncludesNoExec
# AddOutputFilter Includes html
# AddHandler type-map var
# Order allow,deny
# Allow from all
# LanguagePriority en de es fr it nl sv
# ForceLanguagePriority Prefer Fallback
# </Directory>
#
# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error.php
# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
# ErrorDocument 408 /error/HTTP_REQUESIME_OUT.html.var
# ErrorDocument 410 /error/HTTP_GONE.html.var
# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
# ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

#
# 下面的命令更改標準的HTTP應答行為以處理己知的流覽器問題。
#
BrowserMatch “Mozilla/2″ nokeepalive
BrowserMatch “MSIE 4.0b2;” nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch “RealPlayer 4.0″ force-response-1.0
BrowserMatch “Java/1.0″ force-response-1.0
BrowserMatch “JDK/1.0″ force-response-1.0

#
# 下面命令關閉對那些沒有尾部「/」的目錄的非GET連線的重定向,
# 這些命令修復了微軟的採用DAV方法不能正確處理重定向的WEB檔夾的問題。
# Apple下的DAV檔系統和Gnome下的VFS對DAV的支援也是採用這樣的方法
# 進行處理的。
#
BrowserMatch “Microsoft Data Access Internet Publishing Provider” redirect-carefully
BrowserMatch “^WebDrive” redirect-carefully
BrowserMatch “^WebDAVFS/1.[012]” redirect-carefully
BrowserMatch “^gnome-vfs” redirect-carefully

#
# 允許你使用URL:http://servername/server-status來通過mod_status生
# 成並報告伺服器狀態資訊。改變.example.com為你自己的功能變數名稱。
#
# <Location>
# SetHandler server-status
# Order deny,allow
# Deny from all
# Allow from .example.com
# </Location>

#
# 允許使用URL:http://servername/server-info來遠端報告伺服器設定資訊
# (需要mod_info.c支持)。改變「.example.com」為你自己的功能變數名稱。
#
# <Location>
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from .example.com
# </Location>

#
# 代理伺服器命令,去掉下面的行使代理服務可用。
#
# <IfModule>
# ProxyRequests On
# <Proxy>
# Order deny,allow
# Deny from all
# Allow from .example.com
# </Proxy>

#
# 安裝或關閉HTTP/1.1「通道」頭處理。
# (「Full」添加伺服器版本資訊,「Block」移掉所有輸出「通道」頭資訊。
# 可以設為下面各選項之一:Off | On | Full | Block
#
# ProxyVia On

# 最好為代理服務安裝高速緩衝,去掉下面幾行的註釋符號:
# (沒有CacheRoot則不緩衝)
#
# CacheRoot “/usr/local/apache2/proxy”
# CacheSize 5
# CacheGcInterval 4
# CacheMaxExpire 24
# CacheLastModifiedFactor 01
# CacheDefaultExpire 1
# NoCache a-domain.com another-domain.edu joes.garage-sale.com

# </IfModule>
# 代理命令結束。

#
# 附加的特定模組設定。
#
<IfModule>
Include conf/ssl.conf
</IfModule>

## 第三區:虛擬主機
#
# VirtualHost:你可以通過設定虛擬主機容器以實現在你的主機上保有多個
# 功能變數名稱/主機名。大多數設定資訊只使用基於名字的虛擬主機,因此伺服器
# 不必擔心IP位址的問題,下面的命令以*號代替虛擬主機名。
#
# 在你試著設定你的虛擬主機以前,請參見
# URL:http://httpd.apache.org/docs-2.0/vhosts/>以取得更多的資訊。
#
# 你可以使用命令行選項「-S」來檢驗你的虛擬主機設定。

#
# 使用基於名字的虛擬主機。
#
# NameVirtualHost *

#
# 虛擬主機示例:
# 幾乎所有的Apache命令都可以在虛擬主機容器中使用。
# 第一個虛擬主機區是用於向服務名未知的連線進行應答的設定。
#
# <VirtualHost>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log commom
# </virtualHost>

2. 範例二

httpd.conf 設定檔的參數說明
QUOTE:


# 語法:ServerType [standalone/inted]
# 說明:定義 httpd 的啟動方式
# standalone:開機後立即執行,效率較高,http獨立執行,即使沒有瀏覽者連入本網站,
都會啟動httpd以隨畤提供服務。
# inted:需要時才臨時啟動,監聽所有進入本機請求的port,然後核對port所對應的服務
以決定要用哪一個服務,再執行httpd,當請求完結就將httpd結束。


QUOTE:

# 語法:Port [編號]
# 說明:指定 httpd 服務的閘道,一般是 80,
# 2000 以後的 URL 就必須寫成 http://xx.xx.xx.xx:2000/


QUOTE:

# 語法:HostNameLookups [on/off]
# 說明:設定要不要把自動搜尋 HostName 的功能打開
# 設定為on時,則會記錄進入此網站使用者的主機名稱(例如fo23.flag.com.tw)
# 設為off,則僅記錄使用者主機的IP(例如203.74.205.23)


QUOTE:

# 語法:User [username/#uid]
# 說明:設定 httpd 這程式的執行者是誰.
# 一般是 nobody,也可以是已註冊的 user,若用 user id 要加上 # 號

QUOTE:

# 語法:Group [groupname/#gid]
# 說明:設定 httpd 這程式的執行者所屬的群組
# 一般是 nogroup,此 group 必須要存在於 /etc/group 中

QUOTE:

# 語法:Server Admin [E-mail 位址]
# 說明:設定此 web 站管理者的 E-mail位址,在系統發生錯誤時,方便與管理者聯絡

QUOTE:

# 語法:ServerRoot [目錄的絕對路徑]
# 說明:設定 apache 所安裝的絕對路徑,所有網站相關的襠案都存放在此目錄中
# 舉例:ServerRoot /usr/local/apache

QUOTE:

# 語法:BindAddress [*/IP/FQDN]
# 說明:強迫 apache 只對某個特定位址反應, * 則是對所有位址都反應
# 如果要採用 Virtual Host 虛擬主機功能,務必要設為 BindAddress *
# 說明:設定要以哪一個 address 來服務,可使用 IP 或完整的主機名稱(FQDN),
# * 是全部接受
# 當使用虛擬主機功能畤,一台電腦上可能有幾張網路卡分別設定不同的IPBindAddress
設為*,表示系統會監聽每一個IP的連線;設為IP值,則僅監聽該IP的連線;亦可設定為
domain name,僅監聽來自該處的連線

QUOTE:

# 語法:ErrorLog [檔案名稱]
# 說明:記錄執行 apache 時所產生的錯誤訊息,如果檔名不是以 / 開頭,那就不會連
#  接到 ServerRoot 的路徑下
# 舉例:ErrorLog logs/error_log
# 將錯誤訊息放在 /usr/local/apache/logs/error_log 中
# apache 的 root directory 在 /usr/local/apache

QUOTE:

# 語法:LogLevel [debug/info/notice/warm/error/crit/alert/emerg]
# 說明:設定 error_log 中記錄的錯誤訊息種類,建議值是 warm,越右邊越簡略

QUOTE:

# 語法:CustomLog [檔案名稱][combined/common/referer/agent]
# 說明:同 ErrorLog 部份 ,是屬於傳輸記錄,並起設定該記錄所記錄的資訊
# 舉例:CustomLog logs/access_log common (common 是建議值)
# 越右邊的參數越簡略
# 若 user 多時,此檔會變很大,要小心管理
# LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined
# LogFormat “%h %l %u %t \”%r\” %>s %b” common
# LogFormat”%{Referer}@->%U”referel
# LogFormat」%{User-agent}i”agent
# 設定每筆記錄的楁式,有 combinedcommonreferer agent四種
# The location of the access logfile (Common Logfile Format)
# If this does not start with /, ServerRoot is prepended to it.
# CustomLog/usr/local/apacHe/Var/log/access_log common
# 存取記錄的位置,使用Comon格式
# If you would like to have an agent and referer logfile uncomment the
# following directives.
# CustomLog/usr/local/apache/var/log/referer_logreferel
# 記錄瀏覽者經由本網站所連結出丟的網址,使用refere「自訂格式
# CustomLog/usr/local/apache/var/log/agent_logagent
# 記錄瀏覽者連到本網站所使用的瀏覽器版本與種類,使用agent自訂格式
# If you prefer a single logfile with access, agent and referer information
# (Combined Logfile Format) you can use the following directive.
# CustomLog /usr/local/apache/var/log/access_log combined

QUOTE:

# 語法:PidFile [pid-filename]
# 說明:記錄 httpd 啟動時的 PID,以方便管理員的管理;方便重新啟動時做參考,
# 這樣就不必用 ps 來尋找
# 舉例:PidFile logs/httpd.pid
# PidFile /usr/local/apache/var/run/httpd.pid  ←紀錄httpd PID

QUOTE:

# 語法:ScoreBoardFile [檔案名稱]
# 說明:紀錄被使用過的檔案
# 舉例:ScoreBoardFile logs/apache_runtime_status

QUOTE:

# 語法:ServerName [主機名稱]
# 說明:設定該伺服器的 Domain Name ,此名稱必須是已經向貴網域的 DNS 註冊。
# 舉例:ServerName www.hmes.kh.edu.tw ←  若沒有一個登記的DNS name,則請改為IP

QUOTE:

# 語法:CacheNegotiatedDocs
# 說明:當使用者藉 Proxy 來讀取 Web Server 時,Apache Httpd 會送出 Pragma:
# no-cache 的檔頭使得 Proxy Server 不會把他留在 cache 中。

QUOTE:

# 語法:Timeout [秒數]
# 說明:設定 httpd 等待使用者下一個指令的時間,如果在此時間內使用者沒有回應
# ,則終止服務,如果網路速度慢,時間設長一些。
# 舉例:Timeout 300

QUOTE:

# 語法:KeepAlive [on/off]
# 說明:設定是否接受使用者之連續請求。

QUOTE:

# 語法:MaxKeepAliveRequests [數目]
# 說明:設定能接受之最大連續請求量,如果連續請求超過此數量, server 會自動踢掉。
# 舉例:MaxKeepAliveRequests 100 ←每次連線可提出要求數量,設為0表示不限次數,頇設為100

QUOTE:

# 語法:KeepAliveTimeout [秒數]
# 說明:設定使用者連續請求等待的時間上限,如果 user 連續請求的時間超過此數,則
# 不再執行此請求
# 舉例:KeepAliveTimeou 15  ←下個要求如果超過多少秒還未到達,則視為連線結束

QUOTE:

# 語法:MaxSpareServers [數量]
# MinSpareServers [數量]
# 說明:設定閒置來等待服務的伺服器數量,當系統的閒置個數小於此設定時,系統會開
# 啟更多的 server 來服務;當系統的閒置個數大於此設定時,多餘的個數會被刪
# 掉;如果 web 使用率高,應加大 MinSpareServers
# 舉例:MaxSpareServers 10 MinSpareServers 5

QUOTE:

# 語法:StartServers [數量]
# 說明:一開始驅動 apache httpd 時,閒置等待服務的伺服器數量
# 舉例:StartServers 5  (執行ps-aux指令就可以看到這5serverprocesses)

QUOTE:

# 語法:MaxClients [數量]
# 說明:設定最多能提供給幾個 user 同時連線
# 舉例:MaxClients 150  ←因為同時連進來的數目大多時,會降低系統存取的效能,可設
定此數值限制同時連線進來的數目,若您的系統CPU很快、記憶體很多且效能很
好時,可以考慮將此值調高.否則就降低一點

QUOTE:

# 語法:MaxRequestsPerChild [數量]
# 說明:設定每個子程序所能接受的最大服務次數,當達到此數目時,子程序會自動關閉
# 舉例:MaxRequestsPerChild 30

QUOTE:

# 語法:ProxyRequests [On/Off]
# 說明:開啟或關閉 Proxy 的功能,內定值是關閉,大部份情況也是關閉。用標準安裝時,
Apache並沒有將 proxy 模組加入,若需要此功能,請參考INSTALLS檔的誽明。

QUOTE:

# 語法:<VirtualHost [hostname]>..</VirtualHost>
# 說明:虛擬主機的設定;在做此設定之前,必須有支援 multipule address 或有一片
# 以上的網路卡
# 舉例:
# NameVirtualHost 203.72.230.212 ## 一定要設,apache 1.3以上才有的改變
#
# <VirtualHost wwwa.hmes.kh.edu.tw> ## 第一部份

# ServerAdmin webadmin@hmes.kh.edu.tw
# 設定虛擬主機的管理者信箱,不一定要和本機的網站管理者相同

# DocumentRoot /www/docs/
# 指定虛擬主機的網站主目錄

# ServerName wwwa.hmes.kh.edu.tw ##設為 VirtualHost 的名稱
# 指定虛擬主機的URL

# ErrorLog logs/?? ??
# 虛擬主機發生錯誤時要記錄在哪個目錄

# TransferLog logs/??
# 虛擬主機存取記錢要存放的目錄

# </VirtualHost>

# <VirtualHost wwwb.hmes.kh.edu.tw> ##第二個 DNS ## 第二部份
# ServerAdmin webadmin2@hmes.kh.edu.tw
# DocumentRoot /www/docs2/

# ServerName wwwb.hmes.kh.edu.tw

# ErrorLog logs/??
# TransferLog logs/??
# </VirtualHost>

3. 範例三

apache 部份參數說明

AllowOverride 的屬性功能

AllowOverride Limit 允許蓋掉原聯結屬性得範圍
AllowOverride Authconfig 可做密碼設定:如:藏密
AllowOverride Options 可將該目錄之Options 功能覆蓋
AllowOverride FileInfo 可將該目錄之任何文件型態覆蓋,如:DefaultType,ErrorType
AllowOverride Indexs 可將該目錄之顯式列印功能覆蓋,如:AddIcon,HeaderName.ReadName

Options的屬性功能

Indexs 當無index.html可用列印目錄方式顯式,如:center3 homepage 若用 -Indexs 則看不見 listing
FollowSymLinks 加一屬性如+FollowSymLinks可允許使用symbol link 時,依舊可瀏覽
ExecCGI 當為 +ExecCGI可執行 CGI SCRIPT
Includes 可執行Server site include,若為 +Includes
IncludesNOEXEC 可執行Server site include,若為 +Includes,但不可執行CGI
None 沒有任何功能可用
All 均可
總之,以 +, - 符號可加或刪減其功能,若未給符號,則只有初步功能

Limit的屬性功能

GET 限定取得文件法,如:<Limit GET>
POST 限定cgi post方法,如:<Limit POST>
order 限定拒絕或允許的次序
deny 限定拒絕範圍,如:deny from all 或 deny from .mycompany.com
allow 限定允許範圍,如:allow from all 或 allow from 192.153.22

AuthConfig 之方法 & .htaccess 範例

<Files index.html>
#與Directory同,但在 .htaccess 只能用他 AuthName Members-only 設定僅 Member 才可入,僅為名稱 AuthType Basic 解碼方法 AuthUserFile /home1/users/center/center21/public_html/wwwclass/bau
#密碼表位置(絕對位置) AuthGroupFile /home1/users/center/center21/public_html/wwwclass/group
#同群表位置
<Limit GET>
#限制取件
require user center21
#bau的密碼表有很多user,但….
order allow,deny
#先允許在拒絕
allow from all
#允許全部
</Limit>
<Files>

密碼表之產生方法

找到及取得htpasswd程式
執行htpasswd -c filename username (第一次,以後僅htpasswd filename username)
修改需要的 user (在 require 後)

require用法

require user center21 center3
require group cc cv ee

# 語法:ServerType [standalone/inted]
# 說明:定義 httpd 的啟動方式
# standalone:開機後立即執行,效率較高,http獨立執行,即使沒有瀏覽者連入本網站,

都會啟動httpd以隨畤提供服務。

# inted:需要時才臨時啟動,監聽所有進入本機請求的port,然後核對port所對應的服務

以決定要用哪一個服務,再執行httpd,當請求完結就將httpd結束。

# 語法:Port [編號]
# 說明:指定 httpd 服務的閘道,一般是 80,
# 2000 以後的 URL 就必須寫成 http://xx.xx.xx.xx:2000/

# 語法:HostNameLookups [on/off]
# 說明:設定要不要把自動搜尋 HostName 的功能打開
# 設定為on時,則會記錄進入此網站使用者的主機名稱(例如fo23.flag.com.tw)

# 設為off,則僅記錄使用者主機的IP(例如203.74.205.23)

# 語法:User [username/#uid]
# 說明:設定 httpd 這程式的執行者是誰.
# 一般是 nobody,也可以是已註冊的 user,若用 user id 要加上 # 號

# 語法:Group [groupname/#gid]
# 說明:設定 httpd 這程式的執行者所屬的群組
# 一般是 nogroup,此 group 必須要存在於 /etc/group 中

# 語法:Server Admin [E-mail 位址]
# 說明:設定此 web 站管理者的 E-mail位址,在系統發生錯誤時,方便與管理者聯絡

# 語法:ServerRoot [目錄的絕對路徑]
# 說明:設定 apache 所安裝的絕對路徑,所有網站相關的襠案都存放在此目錄中
# 舉例:ServerRoot /usr/local/apache

# 語法:BindAddress [*/IP/FQDN]
# 說明:強迫 apache 只對某個特定位址反應, * 則是對所有位址都反應
# 如果要採用 Virtual Host 虛擬主機功能,務必要設為 BindAddress *
# 說明:設定要以哪一個 address 來服務,可使用 IP 或完整的主機名稱(FQDN),
# * 是全部接受

# 當使用虛擬主機功能畤,一台電腦上可能有幾張網路卡分別設定不同的IP。BindAddress

設為*,表示系統會監聽每一個IP的連線;設為IP值,則僅監聽該IP的連線;亦可設定為

domain name,僅監聽來自該處的連線

# 語法:ErrorLog [檔案名稱]
# 說明:記錄執行 apache 時所產生的錯誤訊息,如果檔名不是以 / 開頭,那就不會連
#  接到 ServerRoot 的路徑下
# 舉例:ErrorLog logs/error_log
# 將錯誤訊息放在 /usr/local/apache/logs/error_log 中
# apache 的 root directory 在 /usr/local/apache

# 語法:LogLevel [debug/info/notice/warm/error/crit/alert/emerg]
# 說明:設定 error_log 中記錄的錯誤訊息種類,建議值是 warm,越右邊越簡略

# 語法:CustomLog [檔案名稱][combined/common/referer/agent]
# 說明:同 ErrorLog 部份 ,是屬於傳輸記錄,並起設定該記錄所記錄的資訊
# 舉例:CustomLog logs/access_log common (common 是建議值)
# 越右邊的參數越簡略
# 若 user 多時,此檔會變很大,要小心管理

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

# LogFormat “%h %l %u %t \”%r\” %>s %b” common

# LogFormat”%{Referer}@->%U”referel

# LogFormat”%{User-agent}i”agent

# 設定每筆記錄的楁式,有 combined、common、referer與 agent四種

# The location of the access logfile (Common Logfile Format)

# If this does not start with /, ServerRoot is prepended to it.

# CustomLog/usr/local/apacHe/Var/log/access_log common

# 存取記錄的位置,使用Comon格式

# If you would like to have an agent and referer logfile uncomment the

# following directives.

# CustomLog/usr/local/apache/var/log/referer_logreferel

# 記錄瀏覽者經由本網站所連結出丟的網址,使用refere「自訂格式

# CustomLog/usr/local/apache/var/log/agent_logagent

# 記錄瀏覽者連到本網站所使用的瀏覽器版本與種類,使用agent自訂格式

# If you prefer a single logfile with access, agent and referer information

# (Combined Logfile Format) you can use the following directive.

# CustomLog /usr/local/apache/var/log/access_log combined

# 語法:PidFile [pid-filename]
# 說明:記錄 httpd 啟動時的 PID,以方便管理員的管理;方便重新啟動時做參考,
# 這樣就不必用 ps 來尋找
# 舉例:PidFile logs/httpd.pid

# PidFile /usr/local/apache/var/run/httpd.pid ←紀錄httpd的 PID

# 語法:ScoreBoardFile [檔案名稱]
# 說明:紀錄被使用過的檔案
# 舉例:ScoreBoardFile logs/apache_runtime_status

# 語法:ServerName [主機名稱]
# 說明:設定該伺服器的 Domain Name ,此名稱必須是已經向貴網域的 DNS 註冊。
# 舉例:ServerName http://www.hmes.kh.edu.tw ← 若沒有一個登記的DNS name,則請改為IP

# 語法:CacheNegotiatedDocs

# 說明:當使用者藉 Proxy 來讀取 Web Server 時,Apache Httpd 會送出 Pragma:

# no-cache 的檔頭使得 Proxy Server 不會把他留在 cache 中。

# 語法:Timeout [秒數]

# 說明:設定 httpd 等待使用者下一個指令的時間,如果在此時間內使用者沒有回應

# ,則終止服務,如果網路速度慢,時間設長一些。

# 舉例:Timeout 300

# 語法:KeepAlive [on/off]
# 說明:設定是否接受使用者之連續請求。

# 語法:MaxKeepAliveRequests [數目]
# 說明:設定能接受之最大連續請求量,如果連續請求超過此數量, server 會自動踢掉。
# 舉例:MaxKeepAliveRequests 100 ←每次連線可提出要求數量,設為0表示不限次數,頇設為100

# 語法:KeepAliveTimeout [秒數]
# 說明:設定使用者連續請求等待的時間上限,如果 user 連續請求的時間超過此數,則
# 不再執行此請求
# 舉例:KeepAliveTimeou 15 ←下個要求如果超過多少秒還未到達,則視為連線結束

# 語法:MaxSpareServers [數量]
# MinSpareServers [數量]
# 說明:設定閒置來等待服務的伺服器數量,當系統的閒置個數小於此設定時,系統會開
# 啟更多的 server 來服務;當系統的閒置個數大於此設定時,多餘的個數會被刪
# 掉;如果 web 使用率高,應加大 MinSpareServers
# 舉例:MaxSpareServers 10 MinSpareServers 5

# 語法:StartServers [數量]
# 說明:一開始驅動 apache httpd 時,閒置等待服務的伺服器數量
# 舉例:StartServers 5 ←(執行ps-aux指令就可以看到這5個serverprocesses)

# 語法:MaxClients [數量]
# 說明:設定最多能提供給幾個 user 同時連線
# 舉例:MaxClients 150 ←因為同時連進來的數目大多時,會降低系統存取的效能,可設

定此數值限制同時連線進來的數目,若您的系統CPU很快、記憶體很多且效能很

好時,可以考慮將此值調高.否則就降低一點

# 語法:MaxRequestsPerChild [數量]
# 說明:設定每個子程序所能接受的最大服務次數,當達到此數目時,子程序會自動關閉
# 舉例:MaxRequestsPerChild 30

# 語法:ProxyRequests [On/Off]

# 說明:開啟或關閉 Proxy 的功能,內定值是關閉,大部份情況也是關閉。用標準安裝時,

Apache並沒有將 proxy 模組加入,若需要此功能,請參考INSTALLS檔的誽明。

# 語法:<VirtualHost [hostname]>..</VirtualHost>
# 說明:虛擬主機的設定;在做此設定之前,必須有支援 multipule address 或有一片
# 以上的網路卡

# 舉例:
# NameVirtualHost 203.72.230.212 ## 一定要設,apache 1.3以上才有的改變
#
# <VirtualHost wwwa.hmes.kh.edu.tw> ## 第一部份

# ServerAdmin webadmin@hmes.kh.edu.tw

# 設定虛擬主機的管理者信箱,不一定要和本機的網站管理者相同

# DocumentRoot /www/docs/
# 指定虛擬主機的網站主目錄

# ServerName wwwa.hmes.kh.edu.tw ##設為 VirtualHost 的名稱
# 指定虛擬主機的URL

# ErrorLog logs/?? ??

# 虛擬主機發生錯誤時要記錄在哪個目錄

# TransferLog logs/??

# 虛擬主機存取記錢要存放的目錄

# </VirtualHost>

# <VirtualHost wwwb.hmes.kh.edu.tw> ##第二個 DNS ## 第二部份
# ServerAdmin webadmin2@hmes.kh.edu.tw
# DocumentRoot /www/docs2/

# ServerName wwwb.hmes.kh.edu.tw

# ErrorLog logs/??
# TransferLog logs/??
# </VirtualHost>

Leave a Reply

CAPTCHA 驗證圖片
更換一張圖片