2008年4月18日 星期五

LAMP系统资料——apache部分参数说明

转载自台湾小红帽技术论坛
##CONTINUE##
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"mailto:%%7BReferer}@-
# 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>
#语法:DocumentRoot [目录名称]
#说明:设定在没有特定指定文件安装目录的情况下,伺服器的文件安装的目录;
#也就是httpd.conf尚未设定VirtualHost时,他人直接用http与server
#连线时,伺服器要输出的资料所放的位置
#举例:DocumentRoot /usr/local/apache/share/htdocs

#语法:UseDir [目录名称]
#说明:若有提供给user放置个人首页时,必须将自己的首页放置在自己的目录中,
#当其他人浏览时,只要以http://xxx.xxx.xxx.xxx/~username就可以浏览
#个人网页
#举例:UserDir Public_html

#语法:DirectoryIndex [档名1][档名2]
#说明:设定使用者连入网站时,在不指定浏览档案的情况下,第一个浏览的档案名称。
#通常是使用者所看到的第一页资料
#举例:DirectoryIndex index.htm index.html

#语法:FancyIndexing [on/off]
#说明:如果找不到DirectoryIbdex所指定的档案时,要不要把该目录资料转换成
# html格式呈现出来。呈现方式要参考access.conf中<Directory ..> ..
# </Directory>,可以用IndexOptions来设定。
#举例:Fancyindexing on ←从浏览器中显示网站目录的档案列表时(例如找不到index.htm档时
就会出现档案列表),此值设为on,则会包括档案类型的小图示,
看起来比较漂亮;若设为off,则仅单纯地列出档名,小图示都放
在/usr/local/apache/icons目录中

#语法:AddIconByEncoding [图形档位置][MIME-encoding方式]
#说明:当FancyIndexing为on ,且必须列出目录资讯时,会根据所列出档案的
# MIME-encoding格式在档名前面加上特定的图形档作为标签以供辨识。
#举例:AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

#语法:AddIconByType [图形档位置] [MIME-Type种类]
#说明:当FancyIndexing为on ,且必须列出目录资讯时,会根据所列出档案的
# MIME-Type在档名前面加上特定的图形档作为标签以供辨识。
#举例:AddIconByType (TXT,/icons/text.gif) text/

#语法:AddIcon [图形档位置] [MIME-Type种类]
#说明:当FancyIndexing为on ,且必须列出目录资讯时,会根据所列出档案的
#副档名,在档名前面加上特定的图形档作为标签以供辨识。
#举例:AddIcon /icons/binary.gif .bin .exe

#语法:DefaultIcon [图形档位置]
#说明:当FancyIndexing为on ,且必须列出目录资讯时,如果档案无法分辨其
#格式或是类型,在档名前面所要加上的图形。
#举例:DefaultIcon /icons/unknown.gif
 
#语法:AddDescription "说明" [档名]
#说明:可为档案加上注解:
#举例:AddDescription "Apache original page" apache.htm1
AddDescription "Hello my friend" web01.tif

#语法:ReadmeName [档案名称]
#说明:当FancyIndexing为on ,且必须列出目录资讯时,所一起列出的说明内容
# ,一般附在目录清单的下方。
#举例:ReadmeName README ←此档会秀在档案列表的结尾.需有README.html

#语法:HeaderName [档案名称]
#说明:当FancyIndexing为on ,且必须列出目录资讯时,所一起列出的说明内容
# ,一般附在目录清单的上方。
#举例:HeaderName HEADER ←此档会秀在档案列表的开头.需有HEADER.html

#语法:IndexIgnore [档案名称]
#说明:当FancyIndexing为on,且必须列出目录资讯时,目录中哪些档案不要列出。
#举例:IndexIgnore.??*~*#HEADER*README*RCS ←遇到这些档名时不要列出
例如前面的README.html与HEADER.html

#语法:AccessFileName [档案名称]
#说明:设定当使用者以http读取该目录及以下目录时,必须要经过使用者帐号与密
#码的认证过程,而这些密码所存放的档案名称
#举例:AccessFileName .htaccess !!! .htaccess已放有帐号和密码,所以当
# FancyIndexing设为on时要小心,务必将.htaccess设入IndexIgnore中
 
#语法:TypesConfig [/path/mime.types]
#说明:设定各种档案类型关联的位置,可将网页中所包含的各种档案类型通知浏览器,
让浏览器知道使用何种软体来处理档案
 

#语法:DefaultType [MIME种类]
#说明:当伺服器无法辨别的MIME档案类型时,一般宣告为何种MIME格式
#举例:DefaultType text/plain ←当不认得文件的类型时,则当成一般文字

#语法:AddEncoding [MIME-encoding形式] [压缩的种类]
#说明:设定档案压缩格式,让浏览器抓下来之后,可以自动解压缩并直接提供给使用
#者浏览
#举例:AddEncoding x-gzip gz ←当浏览器遇到.gzip、.gz副档名的档案时,会自动予以解压缩

#语法:Redirect [档案名称]
#说明:可重新导向连结的位?...edu.tw/myfile/ ,但现在已无
该目录存在了,则可加入下面这一行,将该连结自动导向到另一个连结:"Redirect/myfi1e
[url]http://www.xxx.com/yyy"[/url]

#语法:Alias [虚拟目录][实际目录]
#说明:设定实际目录至虚拟目录,可将原本很长的路径简化
#举例:Alias /luck "/usr/local/apache/htdocs/manual/luck/"
原本需要用http://www.xxx.com/manual/1uck才能连到的网页,现在仅需使用
http://www.xxx.com/luck即可。但有一点要特别注意,在前面的那一项/luck/,
如果有加上后面的那一个斜线畤,则URL的最后一定也要加上斜线,否则会找不到

#语法:ScriptAlias [虚拟目录][实际目录]
#说明:设定哪一个目录包括server端的script档案,通常为CGI script。 Apache的/cgi-bin/目录里面
预设是空的,您若有需要可自行放入CGI script

#语法:AddType [MIME-type种类]
#说明:增加一个没有设定于mime.types中的其他MIME-type
#举例:AddType application/x-httpd-php3 .phtml
可在不修改mime.types情况下,在此增加mime types

#语法:AddHandler [MIME-type种类]
#说明:类似AddType的语法,不过这里设定的是可执行档,一般是CGI
#举例:AddHandler cgi-script .cgi ←使用副档名为.cgi的档案为CGI script
AddType text/html .shtml
AddHandler server-parsed .shtml ←允许使用副档名为.shtml的档名(应用于SSI),
server将一些特殊标签转换为真正的内容
AddHandler imap-file map ←允许网页中使用需要利用CGI处理的影像地图
 

#语法:ErrorDocument [错误编号][档案/文字说明]
#说明:自订系统传给使用者的错误讯息
#举例:ErrorDocument 404 /missing.html
#或ErrorDocument 404 "找不到您要的档案...
#当以文字说明时,务必加上"号

0 条评论:

发表评论