apache 2.0 ³]©wÀÉhttpd.conf
1.Global Environment ¥þ°ìÀô¹ÒServerRoot
#Apache ¦øªA¾¹©ñ¸mªº¦a¤è¡C¥]§t³]¸m¤å¥ó¡B¿ù»~¤å¥ó¡B°O¿ý¤å¥ó......¡C
PidFile
#³]©w¦æµ{ ID(Process ID) ªºÀɮ׸ô®|¡C
ScoreBoardFile
#Apache ¦æµ{¤§¶¡¥Î¨Ó¥æ´«°õ¦æ®É´Áª¬ºA¸ê°TªºÀɮ׸ô®|¡C
Timeout
#·í¨Ï¥ÎªÌ´£¥X³s½un¨D¡A¦øªA¾¹·|µ¥«Ý Timeout «ü¥O³]©wªº¬í¼Æ¡AY¶W¹L Timeout ©Ò³]©wªº¶Ç°e©Î±µ¦¬ªº®É¶¡¡A³oÓ³s½u´N·|¤¤Â_¡A¹w³] Timeout ¬O 300 ¬í¡C
KeepAlive
#¨M©wTCP³sµ²¬O§_Äò¥Î¡C
MaxKeepAliveRequests
#¤¹³\«ùÄò³s±µªº¼Æ¶q¡A0ªí¥ÜµL¨î¡C¼Æ¦r¶V¤j®Ä¯à¶V°ª¡C
KeepAliveTimeout
#µ¥«Ý¤U¤@ӽШDªñ¨Óªº¶¡¹j®É¶¡¡C
<IfModule>
µù¡GMPMªº²ÕºA¡AMPM¬°¦h¦æµ{¼Ò²Õ (Multiprocessing modules) ¡C
Listen
#«ü©wapacheªº³s±µ°ð¡C
LoadModule
#¸ü¤J°ÊºA¼Ò²Õ¡C
¡E mod_access
¡@¡@ ¥H¥D¾÷¦WºÙ©Î IP ¦ì§}¨Ó±±¨î¦s¨ú¡C
¡E mod_actions
¡@¡@ ¥HÀɮתº MIME §ÎºA©Î»Ý¨D¤èªk¨Ó±ø¥ó¦¡°õ¦æ CGI µ{¦¡¡C
¡E mod_alias
¡@¡@ ¤¹³\¸g¹Lºô¯¸¦øªA¾¹¨ÓÂà¦V©Î¬M¹ï³¡¥÷ªº¹êÅéÀɮרt²Î¨ìÅÞ¿è¹êÅé¡C
¡E mod_asis
¡@¡@ ÅýÀɮׯà°÷³QÂà´«¦Ó¤£¥Î¼W¥[¥ô¦óªº HTTP ¼ÐÀY¡C
¡E mod_auth
¡@¡@ µ²¦X»{ÃÒ©M±ÂÅv¡C¥H¨Ï¥ÎªÌ¦WºÙ©M±K½X¨Ó±±¨î¦s¨ú¡C±K½X¥[±K¨Ï¥Î crypt( ) ¨t²Î©I¥s¡C
¡E mod_auth_anon
¡@¡@ ´N¹³°Î¦Wµn¿ý FTP ¦øªA¾¹¡A³oÓ¼Ò²ÕÅý¨Ï¥ÎªÌ¯à°÷¥H¥Lªº e-amil ·í§@±K½X¨Ó¦s¨ú¤w±ÂÅvªº°Ï°ì¡C
¡E mod_auth_dbm
¡@¡@ ¥H¨Ï¥ÎªÌ¦WºÙ©M±K½X¨Ó±±¨î¦s¨ú¡C³oÓ¸ê°T¥Î¥[±Kªº±K½X¨Ó¦s©ñ¨ì DBM ¸ê®Æ®w¡C
¡E mod_auth_digest
¡@¡@ ¨Ï¥Î MD5 ªº±ÂÅv¡C
¡E mod_autoindex
¡@¡@ ¦Û°Ê¹ê§@²£¥Í¥Ø¿ý¯Á¤Þ¡C
¡E mod_cache
¡@¡@ ±±¨î URLs ªº§Ö¨ú¤º®e¡C
¡E mod_cgi
¡@¡@ ±±¨î¥Ñ CGI µ{¦¡¨Ó¤ÀªR»yªkªºÀÉ®×°õ¦æ¡C
¡E mod_dir
¡@¡@ °²¦p¨S¦³©ú½TªºÀɮצWºÙ¦b URL( ¸ê·½©w§} ) ¤¤³Q¿ï¨ú¡A³]©wÀɮתº¦Cªí±N·|³Q¥Î¨ì¡C
¡E mod_env
¡@¡@ ±±¨î¶Ç°e¨ì CGI µ{¦¡ªºÀô¹ÒÅܼơC
¡E mod_example
¡@¡@ »¡©ú¦øªA¾¹¦p¦ó³B²z¼Ò²Õ°Ñ¦Ò¡C
¡E mod_expires
¡@¡@ ¨Ï¥Î¦³®É¶¡¨îªº HTTP ¼ÐÀY¨Ó¹ê§@§Ö¨ú¤å¥óªº¨î®É¶¡¡C
¡E mod_headers
¡@¡@ ¥i¥H«Ø¥ß©Î²£¥Í¤@¯ëªº HTTP ¼ÐÀY¡C
¡E mod_imap
¡@¡@ ±±¨î¥Ñ imap ³B²z¨ç¼Æ¤ÀªRªº½u¤W¹Ï§ÎÀÉ¡C
¡E mod_include
¡@¡@ ¹ê§@¦øªA¾¹ºÝªº HTML ¥]§t¤å¥ó (SSI) ¡C
¡E mod_info
¡@¡@ ´£¨Ñ¦øªA¾¹²ÕºAªº¸Ô²Ó¸ê°T¡A³o¨Ç¸ê°T¥]§t©Ò¸ü¤Jªº¼Ò²Õ©M¥Ø«e©Ò³]©wªº©Ò¦³¦øªA¾¹²ÕºA«ü¥O¡C
¡E mod_log_config
¡@¡@ ¦b°O¿ýÀÉùر¥]§t¤@¯ë®æ¦¡ªº¸ê°T¡C
¡E mod_mime
¡@¡@ ¥H¥ý«e©w¸qªº¼ÆȨӧïÅܤå¥óªº³B²z¡C
¡E mod_mime_magic
¡@¡@ ´N¹³ Unix Àɮתº«ü¥O¡A mod_mime_magic ¼Ò²Õ¸ÕµÛ¨M©wÀɮתº MIME §ÎºA¡C
¡E mod_negotiation
¡@¡@¥H¤å¥ó¥[±K¡B»y¨¥¤º®e¡B¤º®eªø«×©M HTTP ¼ÐÀYÄæ¦ì¨Ó±ø¥óªºÅã¥Ü¤å¥ó¡C
¡E mod_proxy
¡@¡@¹ê§@ HTTP1.1proxy/gateway ¦øªA¾¹
¡E mod_rewrite
¡@¡@´£¨Ñ¼u©Ê©M¥i¥H©µ¦ùªº¤èªk¨ÓÂà¦V¨Ï¥ÎªÌºÝªº½Ð¨D¡A¦Ó¥B¦bÀɮרt²Î¤¤¹ïÀ³¶i¨Óªº URL( ¸ê·½©w §} ) ¨ì¨ä¥¦¦ì¸m¡C
¡E mod_setenvif
¡@¡@¥H¦UºØ HTTP ¼ÐÀYÄæ¦ìªº¤º®e¨Ó±ø¥ó¦¡ªº³]©wÀô¹ÒÅܼơC
¡E mod_so
¡@¡@°ÊºA¸ü¤Jªº«ü¥O¥²»ÝÀRºAªº½sĶ¨ì³o¦øªA¾¹¤W¡C
¡E mod_speling
¡@¡@¸ÕµÛ¥h×¥¿¿ù»~ªººô¯¸¦ì§}«÷¦r¡C
¡E mod_ssl
¡@¡@¨Ï¥Î SSL ©M TLS ¨Ó¥[±K¡C
¡E mod_status
¡@¡@´£¨Ñ HTTP ¦øªA¾¹¦æµ{ CPU ©MÀW¼eªº¨Ï¥Î»¡©ú¡C
¡E mod_suexec
¡@¡@Åý CGI µ{¦¡¥u¯àÅý±ÂÅvªº¨Ï¥ÎªÌ©Î¸s²Õ¨Ï¥Î¡C
¡E mod_unique_id
¡@¡@¤À°tÅv§úµ¹¨C¤@¦ìn¨DªA°Èªº¨Ï¥ÎªÌ¡C
¡E mod_userdir
¡@¡@«ü©wÓ§O¨Ï¥ÎªÌºô¶¤å¥óªº¦ì¸m¡C
¡E mod_usertrack
¡@¡@¨Ï¥Î cookie ¨Ó°lÂܨϥΪ̦bºô¯¸ªº¹Lµ{¡C
¡E mod_vhost_alias
¡@¡@¥]§t¤ä´©°ÊºAªº¦w¸Ë¤j¶qªºµêÀÀ¥D¾÷¡C
2.'Main' server configuration ²ÕºA¥D¦øªA¾¹
ServerAdmin
#³]©w APACHE ªººÞ²zªÌ E-mail «H½c¦ì§}¡C
ServerName
#³]©w APACHE ¦øªA¾¹¦WºÙ¡AY¨S¦³ºô§}¥i¦b³oùØ¥i¥´¤W IP¡C
UseCanonicalName
#¨M©w Apache ¦p¦ó«Ø¥ß°Ñ¦Ò¦Û¤vªº URLs ¡B¦øªA¾¹¦WºÙ©M³s±µ°ðÅܼơC·í³]©w¬° Off ®É¡A Apache ±N¨Ï¥Î¨Ï¥ÎªÌ¿é¤Jªº¥D¾÷¦WºÙ©M³s±µ°ð¡A·í³]©w¬° On ®É¡AApache ±N¨Ï¥Î ServerName «ü¥O©Ò«ü©wªº¦WºÙ¡C
DocumentRoot
#³]©w APACHE ¦øªA¾¹¦s©ñºô¯¸ºô¶ªº®Ú¥Ø¿ý¡C
<Directory>
#<Directory>...... </Diretory>¹ï³oӥؿý¤Î¨ä¤l¥Ø¿ýªº³]©w¡A¥i¥Î«ü¥Ooptions¡BAllowOverride¡Bdeny¡Ballow»Porder ¡C
Options
# ³]©w¯S©w¥Ø¿ýªº²ÕºA¯S¼x¡C
None Ãö³¬©Ò¦³¿ï¶µ¡C All ¶}±Ò©Ò¦³¿ï¶µ¡AMultiViews°£¥~¡C ExecCGI ¤¹³\CGI©R¥O½Zªº°õ¦æ¡C FollowSymLinks ¦øªA¾¹·|°l´M¥Ø¿ý¤Uªº²Å¸¹³sµ²Ãö«Y¡C Include ¤¹³\SSI«ü¥Oªº°õ¦æ¡C IncludeNOEXEC ¤¹³\ ssi ¥\¯à¡A¦ý¤£¥]¬A #exec ©M #include ¤¸¯À¡C indexes ¦øªA¾¹¥i¥H²£¥Í¦¹¥Ø¿ý¤¤ªºÀɮצCªí¡C SymlinksIFOwnerMatch °²¦p¥Ø¼Ð©M³sµ²ªº¾Ö¦³ªÌ³£¬Û¦P¡A«h¶}©l²Å¸¹³sµ²¡C MultiViews ¤¹³\¥H¤º®eÀɮתº½d¥»´M§ä¡C
AllowOverride
#³]©w.htaccessÀɮתº«ü¥O¥i§_Âмg²ÕºAÀɪº©w¸q
None ©¿²¤³X°Ý±±¨î¤å¥ó(.htaccess)ªº³]¸m¡C All ±±¨î¤å¥ó(.htaccess)¥i¥HÂл\¨t²Î°t¸m¡C AuthConfig ±Ò°Ê±ÂÅv¬ÛÃö«ü¥O (AuthName,AuthType,AuthUserFile,AuthGroupFile,Require) Indexes ±Ò°Ê¥Ø¿ýªºÀɮצCªí«ü¥O¡C (FancyIndexing,DirectoryIndex,IndexOptions,IndexIgnore) Options ±Ò°Ê Options «ü¥O¡C Limit ±Ò°Ê«ü¥O±±¨î¥D¾÷¦s¨ú (Allow,Deny,Order) FileInfo ±Ò°Ê MIME Àɮ׬ÛÃö«ü¥O (AddType,AddEncoding,AddLanguage,LanguagePriority)
Order
#³]©wAllow¸òDenyªº¶¶§Ç¡C
Allow
#³]©w¤¹³\¦s¨úªº¹ï¶H¡C
All allow from all ¥þºô°ì¦WºÙ allow from www.ncu.edu.tw ³¡¥÷ºô°ì¦WºÙ allow from .ncu.edu.tw §¹¾ãIP allow from 140.115.65.1 ³¡¤ÀIP allow from 140.115 ºô¸ô¦ì§}/ºô¸ô¾B¸n°t¹ï allow from 140.115.204.0/255.255.255.0 ºô¸ô¦ì¸m/nnnCIDR³W®æ allow 140.115.204.0/24
Deny
#³]©w¤£¯à¦s¨úªº¹ï¶H¡A¾A¥Î¤Wªí¡C
UserDir
#³]©w¥Î¤áªººô¶¥Ø¿ý¡A¦pªG¤£·Q¬°¥¿¦¡ªº¥Î¤á´£¨Ñºô¶ªA°È¡A¨Ï¥ÎDISABLED§@UserDirªº°Ñ¼Æ§Y¥i¡C
DirectoryIndex
#·í§ÚÌ¿é¤J¸Ó¥Ø¿ýªº¸ô®|®É¡A DirectoryIndex «ü¥O´N·|«ü©w¸Ó¯Á¤ÞÀɨӦ^À³¡C
AccessFileName
#³]©w¥Ø¿ý¨Cӥؿýªº²ÕºA¡A¹w³]¬O.htaccess¡C
.htaccess ªº¥Îªk
¥ý§â .htaccess ©ñ¦bn¥Îªº¥Ø¿ý¤º(windows ¤£¯àª½±µ§ïÀɦW¡A¥i¥H¥Î°O¨Æ¥»¦sÀɮɦs¦¨.htaccess)
1. ±K½X«OÅ@
.htaccess ¤º¼g¤W:
AuthName "testing"
AuthType Basic
AuthUserFile "C:/Apache/htdocs/testing/.htpasswd"
require valid-user
AuthName ¬O·í§A¶i¤J±K½X«OÅ@®É,ÂsÄý¾¹¥X²{ªº»¡©ú
AuthUserFile "C:/Apache/htdocs/testing/.htpasswd" ¬O±K½XÀɮתº¦ì¸m
±K½XÀÉ®× (.htpasswd) ¤º¼g¤W:
user1:password1
user2:password2
2. ¦Û³]¿ù»~³ø§i¤å¥ó
.htaccess ¤º¼g¤W:
ErrorDocument 404 404.html
¦pªG§ä¤£¨ìºô¶®É,«K¿é¥X 404.html ªº¤º®e,¨ä¥L¿ù»~®É°µªk¥çµM,¦p:
ErrorDocument 404 "<html><body>§ä¤£¨ìºô¶</body></html>
ErrorDocument 500 500.html
3. ¦Û³]º¶ÀÉ®×
.htaccess ¤º¼g¤W:
DirectoryIndex a.html
º¶Àɮ׫K¬O a.html ¤F
4. ¨¾¤î¦C¥X¥Øºñ¤ºªºÀÉ®×
.htaccess ¤º¼g¤W:
Option -Indexes
³o«K¤£¯à¦C¥XÀɮץؿý¤F
.htaccess ¤º¼g¤W:
IndexIgnore *.zip *.txt
³o«K¤£¦C¥XÀɮץؿý¤ºªº .zip »P .txt ÀɤF
<Files>
#<Files>......</Files>¹ïÀɮתº³]©w¡A³]©w¤è¦¡»P<Directory>¬Û¦P¡C
TypesConfig
#«ü¦VMIME²ÕºAÀÉmime.types¡C
DefaultType
#³]©w¦øªA¾¹±N¨Ï¥Îªº¤å¥ó®æ¦¡¡C °²¦p§Ú̪ººô¯¸¨Ï¥Î«Ü¦hªº¤å¦rÀÉ (text) ©Î HTML ªº¤å¥ó¡A ¡§ text/plain ¡¨ ¬O¤@ӫܦnªº°Ñ¼Æ¿ï¾Ü¡C°²¦p§Ú̪ººô¯¸¦³«Ü¦h°õ¦æÀÉ¡B¹Ï¤ù©ÎÀ³¥Îµ{¦¡¡A«h¨Ï¥Î ¡¨ application/octet-stream ¡¨ ·í°Ñ ¼Æ¡A«h¨Ï¥ÎªÌÂsÄý®É¡A·|Åã¥Ü¸ÓÀɮ׬°À³¥Îµ{¦¡¡C
HostnameLookups
#¯à°÷¬d¸ß¨Ï¥ÎªÌºÝªº IP ©M¥D¾÷¦WºÙ¡C¹w³]¬O Off¡C ¦pªG¥´¶} On «h¨C¦¸¨Ï¥ÎªÌn¨DªA°È®É¡A¦øªA¾¹´N·|¥h¬d¸ß¦WºÙ¦øªA¾¹ DNS ¸Ó¨Ï¥ÎªÌªº¸ê®Æ¡A³o¼Ë·|Åý¶O«Ü¦hºô¸ô¸ê·½¡C°£«D§ÚÌn§@°O¿ýÀɪºµ{¦¡©ÎªÌ¬O§@ºô¯¸¸ê·½¨Ï¥Îªº²Îp¤ÀªR¤~·|±N HostnameLookups µ¹¥´¶}¡C
ErrorLog
#³]©w¿ù»~°O¿ýÀɪº«ü¥O¡A·í§Ú̦³¿ù»~ªº¸ê°T®É¡A´N·|±N¿ù»~ªº¸ê°T¼g¦b error_log ÀɮפW¡C
LogLevel
#°O¿ýµ¥¯Å«ü¥O±±¨î°O¿ý¨ì¿ù»~°O¿ýÀɪº¸ê°T¼Æ¶q¡C
LogFormat
#³]©w¬ö¿ýÀɪº®æ¦¡¡C
CustomLog
#¶Ç°e¬ö¿ý¸ê°Tµ¹¬ö¿ýÀÉ©Î¥~³¡µ{¦¡¡C
ServerTokens
#§i¶D«È¤áºÝ§A¨Ï¥Îªº¬O¤°»ò¦øªA¾¹¡C³]©w Full ®É¡AApache¶Ç°e "Apache/version (OS_Type) Available_Module_Info" ¡C
ServerSignature
#³]©w¼W¥[ÃѧO¦WºÙ¦b¦øªA¾¹©Ò²£¥Íªº¶±¡C³]¬° On ®É¡Aµo¥Íºô¶¿ù»~®É¡A¦b Error 404 «á±¦³ºô¯¸¦WºÙ¡B¤é´Á¡B¦øªA¾¹ºÞ²zªÌ©M¦øªA¾¹ª©¥»¡C
Alias
#«·s¦w¸m¤º®e¨ì§O¦W¡A¤]´N¬OÂà¦Vªº·N¸q¡CAlias «ü¥O¥i¥H±N½ÆÂøªº¸ô®|²¤Æ¡AÅý§ÚÌ¥un¿é¤J§O¦W§Y¥i±o¨ì¬Û¦PªºÀɮצì¸m¡C
ScriptAlias
#³]©wCGI©R¥O½Zªº¥Ø¿ý§O¦W¡C
IndexOptions
#±±¨î¦øªA¾¹²£¥Íªº¥Ø¿ý¦ê¦CÅã¥Ü¡CFancyIndexing ¬Oªº¿ï¶µ¬OÅý§Ú̦³¼Ð·Çªº¥Ø¿ý¯Á¤Þ ( ¨Ï¥Î¹Ï¥Ü¯Á¤Þ ) ¡C
AddIconByEncoding
#±j¢¯S®íªº¹Ï¥Ü¨ÓÅã¥Ü²Å¦X¯S®í MIME ¸ê®Æ½s½XªºÀɮסC
AddIcon
#§i¶D¦øªA¾¹¤°»òÀÉ®×Ãþ«¬Åã¥Ü¸ÓÀÉ®×Ãþ«¬ªº¹Ï¥Ü¡C³o¬O¥u¦³¥Î¦b FancyIndexed ¿ï¶µªº¯Á¤Þ¼Ò¦¡¥Ø¿ý¡C
AddLanguage
#Åý§ÚÌ«ü©w¤å¥óªº»y¨¥¡A¨Ã¥B¥[¦bÀɮתº«á±¡C
LanguagePriority
#³]©w»y¨¥ªºÀu¥ýÅv¡C§ÚÌ¥i¥H±N tw ©ñ¦b«e±¡C
AddCharset
#¼W¥[¦r¤¸¶°¡C
AddType
#³]©w«ü©wªºÀÉ®×¹ïÀ³¨ì MIME §ÎºA
#AddType application/x-httpd-php .php ±N.php¹ïÀ³¨ìhttpd-php
AddHandler
#¤¹³\§Ú̹ïÀ³«ü©wªºÀɮקκA¨ì«ü©w³B²z¨ç¦¡¡C
#AddHandler send-as-is asis ÅýÀɮפW¼W¥[¦Û¤vªº HTTP ¼ÐÀY¡C
#AddHandler imap-file map ¼W¥[¤ÀªR¦øªA¾¹ªº¹Ï§Î¹ïÀ³ÀÉ¡C
#AddHandler type var ¤¹³\ Apache ¦øªA¾¹¥H¦hºØ»y¨¥¨ÓÅã¥Ü¨äºô¶¡A¹w³]¬O±Ò°Ê³o¶µ¥\¯à¡C
AddOutputFilte
#¤¹³\§Ú̦b°e¥X¤º®e¨ì¨Ï¥ÎªÌºÝ®É¥ý±N¥¦³B²z¨Ã¹LÂo¡C
ErrorDocument
#¹ï©ó¿ù»~ªº±¡ªpµo¥Í®É¡A ErrorDocument «ü¥O¥i¥H³]©w¦øªA¾¹¦^À³¯S©wªº¸ê°Tµ¹¨Ï¥ÎªÌºÝ¡C
BrowserMatch
#¨Ï¥Î BorwserMatch «ü¥O¡A§ÚÌ¥i¥H³]©w®Ú¾Ú¤£¦PªºÂsÄý¾¹Ãþ«¬¨Ó¦^À³¡C
NameVirtualHost
#³]©wµêÀÀ¥D¾÷ªº¦WºÙ
<VirtualHost>
#³]©wµêÀÀ¥D¾÷
Apache¥i¥H¨Ï¥Î³æ¤@¦øªA¾¹¨ÑÀ³³\¦hºô¯¸¡C·í¦³¤@ÓÂsÄý¾¹ªºn¨DªA°È¶i¨Ó§Ú̦øªA¾¹¡A Apache ·|Àˬdºô°ì¦WºÙ¡A¨Ã¥B±N¦^À³¹ïÀ³¨ì¯S©wªºµêÀÀ¥D¾÷¥Ø¿ý¥h¡C
1.¦WºÙ©w§}(name-based)
<VirtualHost 192.168.1.1>
ServerName ºô§}1
DocumentRoot
</VirtualHost>
<VirtualHost 192.168.1.1>
ServerName ºô§}2
DocumentRoot
</VirtualHost>
2.IP©w§}(IP-based)
<VirtualHost 192.168.1.1>
ServerName ºô§}1
DocumentRoot
</VirtualHost>
<VirtualHost 192.168.1.2>
ServerName ºô§}2
DocumentRoot
</VirtualHost>