爱飞 发表于 2015-1-14 21:12:19

来讲讲:httpd.conf文件设置详解

小知识:CentOS已正式加入红帽公司。从事互联网技术的同学,CentOS应该是值得你深入了解学习研究的。
Apache的基础设置次要交由httpd.conf来设定办理,我们要修正Apache的相干设定,次要仍是经由过程修正httpd.cong来完成。上面让我们来看看httpd.conf的内容,它次要分红3年夜部分:
Section1:GlobalEnvironment
Section2:Mainserverconfiguration
Section3:VirtualHosts
【第一部分】
·ServerTypestandalone
这暗示Apache是以standalone启动,也能够是inetd。所谓standalone是指启动一次来接听一切的连线;而inetd是接到http的连线请求才启动,跟着连线的停止而停止,如许包袱是否是很但呢?以是一样平常都是以standalone启动。
·ServerRoot"/usr/local/httpd"
此为apache的目次
·#LocdFile/use/local/httpd/logs/httpd.lock
保存预设值,不更动
·PidFile/usr/local/httpd/logs/httpd.pid
此文件纪录着apache的父处置步伐id
·ScoreBoardFile/usr/local/httpd/logs/httpd.scoreboard
此文件存储处置步伐的信息
·#ResourceConfigconf/srm.conf
·#AccessConfigconf/access.conf
因为我们兼顾由httpd.conf来办理,以是这两个文件预设是注解起来的,能够保存预设值不更动
·Timeout300
设盯超时的工夫。假如用户端凌驾300秒还没连上server,或server凌驾300秒还没传送信息给用户端,即断线。
·KeepAliveOn
同意用户真个连线有多个哀求,设为Off暗示不同意
·MaxKeepAliveRequests100
每次连线最年夜的哀求树木,数字愈年夜,效能愈好。0暗示不限定
·MinSpareServer5
·MaxSpareServers10
MinSpareServer5暗示起码会有5个闲置的处置步伐,假如实践的数量少于此数量,则会增添处置步伐。MaxSpareServers10暗示最年夜的闲置处置步伐数量,假如你的网站需求量很年夜,能够将此数量设年夜一些,年夜不要任意将此数量设得太年夜。
·StartServers5
启动时Server的数量
MaxClients150
限定同工夫最年夜的连线数量,固然不克不及设得太小,一旦到达此数量,就没法再增添用户端
·MaxRequestPerChild0
限定子处置步伐了局前的请求数量,0暗示不限定
·#Listen3000
·#Listen12.34.56.78:80
利用别的的毗连端口或IP
·BindAddress*
能够接听*(一切IP地点)、指定的IP地点或是完全的域名
·#LoadModulefoo_modulelibexec/mod_foo.so
利用DSO模块
·#ExtendedStatusOn
可校阅apache的形态信息,预设是Off(注解起来)
【第二部分】
假如之前的ServerType是inetd,请间接跳到ServerAdmin。
·Port80
Standalone办事器接听的毗连端口,固然也能够是其他小于1023的端标语
·Usernobody
·Groupnobody
实行httpd的用户和群组
·ServerAdmin***的电子邮件地点
这是***的电子邮件地点,假如apache有成绩的话,会寄信关照***,固然你也能够创建一个专门卖力web的帐号来收信
·ServerName你的主机称号
此为主机称号,假如没有域名,也能够用IP
·DocumentRoot"usr/local/httpd/htdocs"
此目次为apache安排网页的中央,内里的index.html即为连到此主机的预设首页
·
  OptionsFollowSymLinks
  AllowOverridenone
 
此目次设定用户安排网页的目次(public_html)的实行举措。具体的目次存取***会在前面申明
·
  OptionsIndexesFolloeSymLinks
  AllowOverrideNone
  Orderallow,deny
  Allowfromall
 
此目次设定apache的网页目次(htdocs)的实行举措
·UserDirpublic_html
用户可在本人的目次下创建public_html目次来安排网页,输出http://主机地点/~用户称号便可毗连到...劳撤胖玫牡胤?/a>
·DirectoryIndexindex.html
这里设定预设主页的称号
·AccessFileName.htaccess
这个是把持存取的文件称号,一样平常接纳预设的.htaccess称号,前面会申明htaccess的利用***
·
  Orderallow,deny
  Denyfromall
 
这用来避免其别人看到.ht开首的文件内容,不但是回护.htaccess的内容,还回护.htpasswd的内容。固然也能够间接写成。假如你有变动AccessFilename,比方将.htaccess改成.accessht,请记得也要在此做相干的变动,云云才干避免其别人看到哦
·#CacheNegotiatedDocs
注解起来是告知Proxy不要将互动发生的文件存进cache,假如拿失落#,则会存在cache中
·UseCanonicalNameOn
利用尺度的称号,预设是On。假定有一个webserver的全名是www.sample.com,一样平常称为www;假如us...http://www/abc
·TypeConfig/usr/local/httpd/conf/mime.types
指定寄存MIME文件范例的文件。你能够自行编纂mime.types文件。
·DefaultTypetext/plain
当server不认得此文件范例时的预设格局,此设定是当做一样平常笔墨
·
  MIMEMagicFile/usr/local/httpd/conf/magic
 
mod_mime_magic模块可以使server由文件内容决意其MIME范例。假如有载进mod_mime_magic模块,才会处置MIMEMagicFile这一段。假如是…,则暗示假如没有载进该模块,才会处置这一段
·HostLookupsOff
假如为On,则每次城市向nameserver剖析该IP,纪录此连线的称号(比方www.apache.org)自换岷牟簧偈奔洌...为Off,仅纪录IP
·ErrorLog/usr/local/httpd/logs/error_log
指定产生毛病的纪录文件(error_log)地位。假如在没有指定产生毛病的纪录文件,则会相沿此文件
·LogLevelwarn
纪录分红良多品级,在此是warn。各品级以下:品级申明
debugdebug信息
info一般信息
notice主要信息
warn告诫信息
error产生毛病
crit告急情形
alert即刻要处置的情形
amerg体系将近逝世了
·LogFormat"%h%l%u%t"%r"%>s%b"{Referer}i""${UserAgent}i""combined
 LogFormat"%h%l%u%t"%r"%>s%b"commom
 LogFormat"%{Referer}i->%U"referer
 LogFormat"%{User-agent}i"agent
自定四种纪录格局:combined、common、referer、agent
·CustomLog/usr/local/httpd/logs/access_logcommon
存取的纪录文件(access_log)利用自定的common格局
·#CustomLog/usr/local/httpd/logs/referer_logreferer
 #CustomLog/usr/local/httpd/logs/agent_logagent
 #CustomLog/usr/local/httpd/logs/agent_logcombined
这三个纪录文件也是利用自界说格局(分离是referer、agent、combined),不外注解起来暗示未利用这三个文件
·ServerSignatureOn
设为On时,在server所发生的网页(像是毛病产生时)上,会有apache的版本、主机、毗连端口的一行信息;假如设为Email,则会有mailto:给***的超链接
·Alias/icons/"/usr/local/httpd/icons/"
利用较短的别号,其格局为:Alias别号原名。
·ScriptAlias/cgi-bin/"/usr/local/httpd/cgi-bin/"
和Alias一样,只是这是设定serverscript的目次
·IndexOptionsFancyIndexing
显现悦目的文件清单(共同上面各文件所对应的图形)
·AddIconByEncoding(CMP,/icons/compressed.gif)x-conpressx-gzip
·AddIcon/icons/blank.gif^^BLANKICON^^DefaultIcon/icons/unknow.gif
这些是在显现文件清单(之前所说的FancyIndex)时,各类文件范例的对应图形。比方.ps.si.eps这三种文件的暗示图形都是a.gif
·#AddDescription"GZIPconpresseddocument".gz
 #AddDescription"tararchive".tar
 #AddDescription"GZIPcompressedtararchive".tgz
这些是在显现文件清单时,在文件前面附上申明,其格局为:
AddDescription"申明"文件名
比方:AddDescription"Itisprivatetxt"my.txt
·ReadmeNameREADME
显现文件清单时,在最上面显现README的文件内容
设置CGI剧本/将httpd.conf做为独一的设置文件/用户受权和会见把持等
关于Apache的设置及利用,在LinuxAid中已有很多文章做了具体的论述,本文会商了在利用Apache时,有关设置文件的利用及对文件的会见把持等外容,算是对Apache的利用所做的一些增补吧!
假如您对Apache有必定的懂得,出格是对几个设置文件有必定的懂得,这将会有助于您对本文内容的了解;假如刚巧您不是很懂得这几个设置文件的利用,那末就借着这个时机来一同熟习一下吧。
1、关于CGI实行剧本的设置
这里有两种设置CGI剧本的***。第1、CGI的剧本文件以.cgi为扩大名;第2、设置剧本可实行目次。可是这两种***都必要将要实行的文件设置为711,才能够被实行。
第一种***,我们必要在access.conf文件种将你要刊行的目次设置为OptionExecCGIAll,在srm.conf资本设置文件中,加高低列一句:
AddHandlecgi-script.cgi
如许在一切的目次种只需你的文件是.cgi为扩大名的,且文件会见权限为711的,不管给文件在你刊行目次的任何一个中央都能够做为CGI被Apache办事器挪用。这类***一样平常没有第二种***宁静。
第二种***,是将一个目次作为一个可实行目次,将一切的cgi文件都放在个中,这里就纷歧定非得是以.cgi为扩大名得文件能够实行,而是只需有711属性的文件就能够被实行,并且别的的非可实行文件都被克制会见。我们的默许设置文件种就有一个很好的例子:
access.conf:
<Directory/home/httpd/cgi-bin/>
AllowOverrideNone
OptionsExecCGI
</Directory>
srm.conf
ScriptAlias/cgi-bin//home/httpd/cgi-bin/
如许只需在/home/httpd/cgi-bin/目次中的可实行文件都能够被Web办事器挪用,而别的的非可实行文件将被回绝会见。
2、设置用户的刊行目次
这里有两种设置***:
第一种是体系的默许***,即用户目次下的public_html目次为用户的刊行目次,且默许的主页文件为index.html,且该目次不撑持CGI。
第二种是在别的目次种专门为用户设置公布目次,如我想在/home/html目次做为用户的web目次,那***就应当在该目次下为每个用户设置一个子目次,如:/home/html/user01、/home/html/user02等。那末,你的srm.conf文件中的UserDir前面就不克不及再是public_html了,应当改成:UserDir/home/html/*/,注重这里的“*”代表anyone,当你再扫瞄器中哀求一个如http://www.domain/~user01时,Apache...ndex.html文件。
这类设置不必要到access.conf中设置该目次的会见属性,另有,当我们设置假造主机时也不必设置目次的会见属性,可是假如你想让某个目次具有CGI权限,都要到Access.conf文件中往设置目次的会见权限,如:你想让你的一切用户在他们的公布目次中具有CGI会见权,则必要在你的access.conf中如许设置:
<Directory/home/html/*/cgi-bin/>
AllowOverrideNone
OptionsExecCGI
</Dirctory>
注重这里设置用户目次中的cgi-bin子目次为cgi实行目次,这是一种宁静的设置,并且也是一种UNIX的习气。
3、怎样将Apache办事器设置为inetd的子办事
当你安装了Apache后,默许设置为standalone体例运转,假如你想将它设置为inetd的子办事,起首在每次激活Linux时不激活httpd,然后编纂/etc/inetd.conf,在个中到场以下语句:httpstreamtcpnowaitroot/usr/sbin/httpdhttpd
然后从头激活inetd办事器。如许你用ps-aux下令检察历程运转情形时,你不会发明httpd的历程的存在,可是一旦有客户哀求一个页面时,inetd就激活一个httpd历程为该哀求办事,以后就主动开释,这类运转体例有助于节俭体系资本,可是假如你的web办事很主要,一样平常不倡议设置为这类体例运转。
4、将httpd.conf做为独一的设置文件
在Apache中给用户供应了三个设置文件:srm.conf、access.conf和httpd.conffiles。实践上这三个文件是同等的,一切的设置都能够放在一个独自的httpd.conf文件中,现实上在Apache1.3.2中就已如许做了,在httpd.conf中应包含以下两条指令来避免Apache对srm.conf和access.conf两个设置文件的会见:
AccessConfig/dev/null
ResourceConfig/dev/null
在apache1.3.2中只需正文失落以下这两行便可:
AccessConfigconf/access.conf
ResourceConfigconf/srm.conf
5、用户受权和会见把持
你大概在会见某些网站时会碰到过如许的情形,当你点击某个毗连时,你的扫瞄器会弹出一个身份考证的对话框,请求输出账号及暗码,假如没有,就没法持续扫瞄了。有人会觉得这是用CGI做出来的,实在否则,这是WWW办事器的用户受权和会见把持机制在发扬感化。
你是不是还记得在设置Apache办事情况的过程当中,有<Directory>……..<./Directory>这个指令,能够对分歧的目次供应分歧的回护。可是如许的设定,必要从头启动办事器才会失效,天真性较差,经由过程AccessFile指令指定会见把持文件的体例则对照天真,在Apache办事器中设置用户的会见把持权限步骤以下:
1、起首对httpd.conf文件举行设置以下:
<Directory/home/httpd/html>
#AllowOverrideFileInfoAuthConfigLimit
#OptionsMultiViewsIndexesSymLinksIfOwnerMatchIncludesNoExec
OptionsIncludesFollowSymLinksIndexes
AllowOverrideAll//*注重AllowOverride必定要设置为All,如许前面的.htaccess文件才会起感化
<LimitGETPOSTOPTIONSPROPFIND>
Orderallow,deny
Allowfromall
</Limit>
#<LimitPUTDELETEPATCHPROPPATCHMKCOLCOPYMOVELOCKUNLOCK>
#Orderdeny,allow
#Denyfromall
#</Limit>
</Directory>
#指定设置存取把持权限的文件称号
AccessFileName.htaccess
2、创立.htaccess文件热
要把持某目次的会见权限必需创建一会见把持文件,文件名后面指定的“.htaccess”,其内容格局以下:
AuthUserFile用户帐号暗码文件名
AuthGroupFile群组帐号暗码文件名
AuthName画面提醒笔墨
AuthType考证体例
<LimitGET>
暗码考证体例
</Limit>
用户考证体例AuthType今朝供应了Basic和Digest两种。
暗码查验设定***与httpd.conf中的相干设定不异。
详细例子以下:
AuthUserFile/etc/secure.user
AuthName宁静认证中央
AuthTypeBasic
<LimitGET>
requirevalid-user
</Limit>
3、创建用户暗码文件
假如你是第一次创立用户暗码,下令格局以下:
htpasswd-c暗码文件名用户称号
在下面的例子中,我们将用户暗码文件放到了/etc/secure.user文件中,以是这里应依照以下举行操纵:
htpasswd-c/etc/secure.usersword
步伐会提醒你输出两次用户的口令,然后用户暗码文件就已创立sword这个用户也增加终了了。
假如要向暗码文件中增加新的用户,依照以下下令格局举行操纵:
htpasswd暗码文件用户称号
如许,从头启动httpd后,举行该WEB目次时就会有一个对话框弹出,请求输出用户名及用户口令了。
4、怎样削减会见把持对Apache功能的影响
频仍的利用会见把持会对Apache的功能发生较年夜的影响,那末,怎样才干削减这类影响呢?最复杂也是最无效的***之一就是削减.htaccess文件的数量,如许能够制止Apache对每个哀求都要依照.htaccess文件的内容举行受权反省。它不但在以后的目次中查找.htaccess文件,它还会在以后目次的父目次中查找。
/
/usr
/usr/local
/usr/local/etc
/usr/local/etc/httpd
/usr/local/etc/httpd/htdocs
/usr/local/etc/httpd/htdocs/docs
一般在根目次下没有htaccess文件,但Apache仍旧会举行例行反省以断定该文件的确不存在。这是影响很影响办事器事情效力的事变。上面的***能够打消这个厌恶的历程:将AllowOverride选设置为None,如许Apache就会反省.htaccess文件了。将/根目次的AllowOverride选项设为None,只将必要举行会见把持的目次下的AllowOverride选项设置为all,以下面的例子中将/根目次的AllowOverride选项封闭了,只翻开了/usr/local/etc/httpd/htdocs目次下的AllowOerride选项,如许,体系就只在/usr/local/etc/httpd/htdocs中反省.htaccess文件,到达的进步办事效力的目标。
<Directory/>
AllowOverrideNone
</Directory>
<Directory/usr/local/etc/httpd/htdocs>
AllowOverrideAll
</Directory>

假如除根目次之外,另有别的寄存WWW文件的目次,你也能够接纳一样的***举行设置。好比:假如你利用UserDir来同意用户会见本人的目次,AllowOverride的设置以下:
<Directory/home/*/public_html>
AllowOverrideFileInfoIndexesIncludesNOEXEC
</Directory>
5、避免用户会见指定的文件
体系中有一些文件是不合适供应给WWW用户的,如:.htaccess、htpasswd、*.pl等,能够用<Files>到达这个目标:
<Files.htaccess>
orderallow,deny
denyfromall
</Files>
用户会见把持三个.htaccess文件、.htpasswd和.htgroup(用于用户受权),为了宁静起见,应当避免用户扫瞄个中内容,能够在httpd.conf中到场以下内容制止用户对其举行会见:
<Files~”/.ht”>
Orderdeny,allow
Denyfromall
</Files>
如许这三个文件就不会被用户会见了。
6、限定某些用户会见特定文件
<Directory>能够对目次举行束缚,要限定某些用户对某个特定文件的会见可使用<Location>,好比:不同意非domain.com域内的用户对/prices/internal.html举行会见,能够用以下的设置:
<Location/prices/internal.html>
orderdeny,allow
denyfromall
allowfrom.domain.com
</Location>
假如你要授于响应权限的呆板没有公然的域名,请在你的/etc/hosts文件中,将其IP地点映照到某个指定的称号,然后在Location中对其举行设置,不然该选项是不起感化的。
7、只承受来自特定链接的会见
比方,只让一切来自http://www.ckuyun.com.cn/*的链接的用户进进此目次,由别的链接来的访客都不得进进;"*"暗示此网站底下一切的链接。个中的http://www.ckuyun.com.cn/*也能够是:http://202.106.184.200/*或是指定文件http://www.ckuyun.com.cn/news.html
.htaccess文件的内容以下:
AuthUserFile/dev/null
AuthGroupFile/dev/null
AuthNameExampleAllowFromSpecificURL
AuthTypeBasic
<LimitGET>
orderdeny,allow
denyfromall
refererallowfromhttp://www.ckuyun.com.cn/*
</Limit>
6、怎样经由过程Apache会见挂接到mnt中的目次内容
在Linux下,要扫瞄光盘的内容,必需要先将光盘挂接到/mnt/cdrom上,在Linux下会见dos或别的分区也一样,都要将其先挂接到/mnt下。上面供应的***,能够经由过程Apache显现上挂的目次内容:
1、先将必要挂接的内容挂接到mnt下,如:
mount&ndash;tiso9660/dev/cdrom/mnt/cdrom
2、修正/usr/local/etc/httpd/conf中的srm.conf文件(在Apache1.3.2中修正httpd.conf)
到场别号撑持:
#Aliasfakenamerealname
#aliasfornetwareserver//
Alias/netware//mnt/MYDOM_NW/vol1/home/htmldocs/
Alias/winNT//mnt/MYDOM_NT/
Alias/unix//mnt/MYDOM_UNIX
实在这一步另有个最复杂的***就是间接在WWW文件目次下创建链接目次,好比:
ln&ndash;s/mnt/MYDOM_NT/winNT
也能到达一样的效果。
3、最初,用Directory分离指定用户对下面这几个目次的会见权限:
<Direcory“/mnt/MYDOM_NT”>
OptionsIndexesMultiViews
AllowOverrideNone
Orderallow,deny
Allowfromall
</Directory>
注重,Options中的Indexes必定要说明,不然被翻开的目次中若没有Index.html文件,用户没法扫瞄全部目次的布局,办事器会前往毛病唆使。
这些事情都完成后,别忘了从头启动Apache。在客户端经由过程http://www.yourdomain/CDROM/会见光盘内容,其他体系以此类推

Apache的基础设置次要交由httpd.conf来设定办理,我们要修正Apache的相干设定,次要仍是经由过程修正httpd.cong来完成。上面让我们来看看httpd.conf的内容,它次要分红3年夜部分:
Section1:GlobalEnvironment
Section2:Mainserverconfiguration
Section3:VirtualHosts
【第一部分】
·ServerTypestandalone
这暗示Apache是以standalone启动,也能够是inetd。所谓standalone是指启动一次来接听一切的连线;而inetd是接到http的连线请求才启动,跟着连线的停止而停止,如许包袱是否是很但呢?以是一样平常都是以standalone启动。
·ServerRoot"/usr/local/httpd"
此为apache的目次
·#LocdFile/use/local/httpd/logs/httpd.lock
保存预设值,不更动
·PidFile/usr/local/httpd/logs/httpd.pid
此文件纪录着apache的父处置步伐id
·ScoreBoardFile/usr/local/httpd/logs/httpd.scoreboard
此文件存储处置步伐的信息
·#ResourceConfigconf/srm.conf
·#AccessConfigconf/access.conf
因为我们兼顾由httpd.conf来办理,以是这两个文件预设是注解起来的,能够保存预设值不更动
·Timeout300
设盯超时的工夫。假如用户端凌驾300秒还没连上server,或server凌驾300秒还没传送信息给用户端,即断线。
·KeepAliveOn
同意用户真个连线有多个哀求,设为Off暗示不同意
·MaxKeepAliveRequests100
每次连线最年夜的哀求树木,数字愈年夜,效能愈好。0暗示不限定
·MinSpareServer5
·MaxSpareServers10
MinSpareServer5暗示起码会有5个闲置的处置步伐,假如实践的数量少于此数量,则会增添处置步伐。MaxSpareServers10暗示最年夜的闲置处置步伐数量,假如你的网站需求量很年夜,能够将此数量设年夜一些,年夜不要任意将此数量设得太年夜。
·StartServers5
启动时Server的数量
MaxClients150
限定同工夫最年夜的连线数量,固然不克不及设得太小,一旦到达此数量,就没法再增添用户端
·MaxRequestPerChild0
限定子处置步伐了局前的请求数量,0暗示不限定
·#Listen3000
·#Listen12.34.56.78:80
利用别的的毗连端口或IP
·BindAddress*
能够接听*(一切IP地点)、指定的IP地点或是完全的域名
·#LoadModulefoo_modulelibexec/mod_foo.so
利用DSO模块
·#ExtendedStatusOn
可校阅apache的形态信息,预设是Off(注解起来)
【第二部分】
假如之前的ServerType是inetd,请间接跳到ServerAdmin。
·Port80
Standalone办事器接听的毗连端口,固然也能够是其他小于1023的端标语
·Usernobody
·Groupnobody
实行httpd的用户和群组
·ServerAdmin***的电子邮件地点
这是***的电子邮件地点,假如apache有成绩的话,会寄信关照***,固然你也能够创建一个专门卖力web的帐号来收信
·ServerName你的主机称号
此为主机称号,假如没有域名,也能够用IP
·DocumentRoot"usr/local/httpd/htdocs"
此目次为apache安排网页的中央,内里的index.html即为连到此主机的预设首页
·
  OptionsFollowSymLinks
  AllowOverridenone
 
此目次设定用户安排网页的目次(public_html)的实行举措。具体的目次存取***会在前面申明
·
  OptionsIndexesFolloeSymLinks
  AllowOverrideNone
  Orderallow,deny
  Allowfromall
 
此目次设定apache的网页目次(htdocs)的实行举措
·UserDirpublic_html
用户可在本人的目次下创建public_html目次来安排网页,输出http://主机地点/~用户称号便可毗连到...劳撤胖玫牡胤?/a>
·DirectoryIndexindex.html
这里设定预设主页的称号
·AccessFileName.htaccess
这个是把持存取的文件称号,一样平常接纳预设的.htaccess称号,前面会申明htaccess的利用***
·
  Orderallow,deny
  Denyfromall
 
这用来避免其别人看到.ht开首的文件内容,不但是回护.htaccess的内容,还回护.htpasswd的内容。固然也能够间接写成。假如你有变动AccessFilename,比方将.htaccess改成.accessht,请记得也要在此做相干的变动,云云才干避免其别人看到哦
·#CacheNegotiatedDocs
注解起来是告知Proxy不要将互动发生的文件存进cache,假如拿失落#,则会存在cache中
·UseCanonicalNameOn
利用尺度的称号,预设是On。假定有一个webserver的全名是www.sample.com,一样平常称为www;假如us...http://www/abc
·TypeConfig/usr/local/httpd/conf/mime.types
指定寄存MIME文件范例的文件。你能够自行编纂mime.types文件。
·DefaultTypetext/plain
当server不认得此文件范例时的预设格局,此设定是当做一样平常笔墨
·
  MIMEMagicFile/usr/local/httpd/conf/magic
 
mod_mime_magic模块可以使server由文件内容决意其MIME范例。假如有载进mod_mime_magic模块,才会处置MIMEMagicFile这一段。假如是…,则暗示假如没有载进该模块,才会处置这一段
·HostLookupsOff
假如为On,则每次城市向nameserver剖析该IP,纪录此连线的称号(比方www.apache.org)自换岷牟簧偈奔洌...为Off,仅纪录IP
·ErrorLog/usr/local/httpd/logs/error_log
指定产生毛病的纪录文件(error_log)地位。假如在没有指定产生毛病的纪录文件,则会相沿此文件
·LogLevelwarn
纪录分红良多品级,在此是warn。各品级以下:品级申明
debugdebug信息
info一般信息
notice主要信息
warn告诫信息
error产生毛病
crit告急情形
alert即刻要处置的情形
amerg体系将近逝世了
·LogFormat"%h%l%u%t"%r"%>s%b"{Referer}i""${UserAgent}i""combined
 LogFormat"%h%l%u%t"%r"%>s%b"commom
 LogFormat"%{Referer}i->%U"referer
 LogFormat"%{User-agent}i"agent
自定四种纪录格局:combined、common、referer、agent
·CustomLog/usr/local/httpd/logs/access_logcommon
存取的纪录文件(access_log)利用自定的common格局
·#CustomLog/usr/local/httpd/logs/referer_logreferer
 #CustomLog/usr/local/httpd/logs/agent_logagent
 #CustomLog/usr/local/httpd/logs/agent_logcombined
这三个纪录文件也是利用自界说格局(分离是referer、agent、combined),不外注解起来暗示未利用这三个文件
·ServerSignatureOn
设为On时,在server所发生的网页(像是毛病产生时)上,会有apache的版本、主机、毗连端口的一行信息;假如设为Email,则会有mailto:给***的超链接
·Alias/icons/"/usr/local/httpd/icons/"
利用较短的别号,其格局为:Alias别号原名。
·ScriptAlias/cgi-bin/"/usr/local/httpd/cgi-bin/"
和Alias一样,只是这是设定serverscript的目次
·IndexOptionsFancyIndexing
显现悦目的文件清单(共同上面各文件所对应的图形)
·AddIconByEncoding(CMP,/icons/compressed.gif)x-conpressx-gzip
·AddIcon/icons/blank.gif^^BLANKICON^^DefaultIcon/icons/unknow.gif
这些是在显现文件清单(之前所说的FancyIndex)时,各类文件范例的对应图形。比方.ps.si.eps这三种文件的暗示图形都是a.gif
·#AddDescription"GZIPconpresseddocument".gz
 #AddDescription"tararchive".tar
 #AddDescription"GZIPcompressedtararchive".tgz
这些是在显现文件清单时,在文件前面附上申明,其格局为:
AddDescription"申明"文件名
比方:AddDescription"Itisprivatetxt"my.txt
·ReadmeNameREADME
显现文件清单时,在最上面显现README的文件内容
设置CGI剧本/将httpd.conf做为独一的设置文件/用户受权和会见把持等
关于Apache的设置及利用,在LinuxAid中已有很多文章做了具体的论述,本文会商了在利用Apache时,有关设置文件的利用及对文件的会见把持等外容,算是对Apache的利用所做的一些增补吧!
假如您对Apache有必定的懂得,出格是对几个设置文件有必定的懂得,这将会有助于您对本文内容的了解;假如刚巧您不是很懂得这几个设置文件的利用,那末就借着这个时机来一同熟习一下吧。
1、关于CGI实行剧本的设置
这里有两种设置CGI剧本的***。第1、CGI的剧本文件以.cgi为扩大名;第2、设置剧本可实行目次。可是这两种***都必要将要实行的文件设置为711,才能够被实行。
第一种***,我们必要在access.conf文件种将你要刊行的目次设置为OptionExecCGIAll,在srm.conf资本设置文件中,加高低列一句:
AddHandlecgi-script.cgi
如许在一切的目次种只需你的文件是.cgi为扩大名的,且文件会见权限为711的,不管给文件在你刊行目次的任何一个中央都能够做为CGI被Apache办事器挪用。这类***一样平常没有第二种***宁静。
第二种***,是将一个目次作为一个可实行目次,将一切的cgi文件都放在个中,这里就纷歧定非得是以.cgi为扩大名得文件能够实行,而是只需有711属性的文件就能够被实行,并且别的的非可实行文件都被克制会见。我们的默许设置文件种就有一个很好的例子:
access.conf:
<Directory/home/httpd/cgi-bin/>
AllowOverrideNone
OptionsExecCGI
</Directory>
srm.conf
ScriptAlias/cgi-bin//home/httpd/cgi-bin/
如许只需在/home/httpd/cgi-bin/目次中的可实行文件都能够被Web办事器挪用,而别的的非可实行文件将被回绝会见。
2、设置用户的刊行目次
这里有两种设置***:
第一种是体系的默许***,即用户目次下的public_html目次为用户的刊行目次,且默许的主页文件为index.html,且该目次不撑持CGI。
第二种是在别的目次种专门为用户设置公布目次,如我想在/home/html目次做为用户的web目次,那***就应当在该目次下为每个用户设置一个子目次,如:/home/html/user01、/home/html/user02等。那末,你的srm.conf文件中的UserDir前面就不克不及再是public_html了,应当改成:UserDir/home/html/*/,注重这里的“*”代表anyone,当你再扫瞄器中哀求一个如http://www.domain/~user01时,Apache...ndex.html文件。
这类设置不必要到access.conf中设置该目次的会见属性,另有,当我们设置假造主机时也不必设置目次的会见属性,可是假如你想让某个目次具有CGI权限,都要到Access.conf文件中往设置目次的会见权限,如:你想让你的一切用户在他们的公布目次中具有CGI会见权,则必要在你的access.conf中如许设置:
<Directory/home/html/*/cgi-bin/>
AllowOverrideNone
OptionsExecCGI
</Dirctory>
注重这里设置用户目次中的cgi-bin子目次为cgi实行目次,这是一种宁静的设置,并且也是一种UNIX的习气。
3、怎样将Apache办事器设置为inetd的子办事
当你安装了Apache后,默许设置为standalone体例运转,假如你想将它设置为inetd的子办事,起首在每次激活Linux时不激活httpd,然后编纂/etc/inetd.conf,在个中到场以下语句:httpstreamtcpnowaitroot/usr/sbin/httpdhttpd
然后从头激活inetd办事器。如许你用ps-aux下令检察历程运转情形时,你不会发明httpd的历程的存在,可是一旦有客户哀求一个页面时,inetd就激活一个httpd历程为该哀求办事,以后就主动开释,这类运转体例有助于节俭体系资本,可是假如你的web办事很主要,一样平常不倡议设置为这类体例运转。
4、将httpd.conf做为独一的设置文件
在Apache中给用户供应了三个设置文件:srm.conf、access.conf和httpd.conffiles。实践上这三个文件是同等的,一切的设置都能够放在一个独自的httpd.conf文件中,现实上在Apache1.3.2中就已如许做了,在httpd.conf中应包含以下两条指令来避免Apache对srm.conf和access.conf两个设置文件的会见:
AccessConfig/dev/null
ResourceConfig/dev/null
在apache1.3.2中只需正文失落以下这两行便可:
AccessConfigconf/access.conf
ResourceConfigconf/srm.conf
5、用户受权和会见把持
你大概在会见某些网站时会碰到过如许的情形,当你点击某个毗连时,你的扫瞄器会弹出一个身份考证的对话框,请求输出账号及暗码,假如没有,就没法持续扫瞄了。有人会觉得这是用CGI做出来的,实在否则,这是WWW办事器的用户受权和会见把持机制在发扬感化。
你是不是还记得在设置Apache办事情况的过程当中,有<Directory>……..<./Directory>这个指令,能够对分歧的目次供应分歧的回护。可是如许的设定,必要从头启动办事器才会失效,天真性较差,经由过程AccessFile指令指定会见把持文件的体例则对照天真,在Apache办事器中设置用户的会见把持权限步骤以下:
1、起首对httpd.conf文件举行设置以下:
<Directory/home/httpd/html>
#AllowOverrideFileInfoAuthConfigLimit
#OptionsMultiViewsIndexesSymLinksIfOwnerMatchIncludesNoExec
OptionsIncludesFollowSymLinksIndexes
AllowOverrideAll//*注重AllowOverride必定要设置为All,如许前面的.htaccess文件才会起感化
<LimitGETPOSTOPTIONSPROPFIND>
Orderallow,deny
Allowfromall
</Limit>
#<LimitPUTDELETEPATCHPROPPATCHMKCOLCOPYMOVELOCKUNLOCK>
#Orderdeny,allow
#Denyfromall
#</Limit>
</Directory>
#指定设置存取把持权限的文件称号
AccessFileName.htaccess
2、创立.htaccess文件热
要把持某目次的会见权限必需创建一会见把持文件,文件名后面指定的“.htaccess”,其内容格局以下:
AuthUserFile用户帐号暗码文件名
AuthGroupFile群组帐号暗码文件名
AuthName画面提醒笔墨
AuthType考证体例
<LimitGET>
暗码考证体例
</Limit>
用户考证体例AuthType今朝供应了Basic和Digest两种。
暗码查验设定***与httpd.conf中的相干设定不异。
详细例子以下:
AuthUserFile/etc/secure.user
AuthName宁静认证中央
AuthTypeBasic
<LimitGET>
requirevalid-user
</Limit>
3、创建用户暗码文件
假如你是第一次创立用户暗码,下令格局以下:
htpasswd-c暗码文件名用户称号
在下面的例子中,我们将用户暗码文件放到了/etc/secure.user文件中,以是这里应依照以下举行操纵:
htpasswd-c/etc/secure.usersword
步伐会提醒你输出两次用户的口令,然后用户暗码文件就已创立sword这个用户也增加终了了。
假如要向暗码文件中增加新的用户,依照以下下令格局举行操纵:
htpasswd暗码文件用户称号
如许,从头启动httpd后,举行该WEB目次时就会有一个对话框弹出,请求输出用户名及用户口令了。
4、怎样削减会见把持对Apache功能的影响
频仍的利用会见把持会对Apache的功能发生较年夜的影响,那末,怎样才干削减这类影响呢?最复杂也是最无效的***之一就是削减.htaccess文件的数量,如许能够制止Apache对每个哀求都要依照.htaccess文件的内容举行受权反省。它不但在以后的目次中查找.htaccess文件,它还会在以后目次的父目次中查找。
/
/usr
/usr/local
/usr/local/etc
/usr/local/etc/httpd
/usr/local/etc/httpd/htdocs
/usr/local/etc/httpd/htdocs/docs
一般在根目次下没有htaccess文件,但Apache仍旧会举行例行反省以断定该文件的确不存在。这是影响很影响办事器事情效力的事变。上面的***能够打消这个厌恶的历程:将AllowOverride选设置为None,如许Apache就会反省.htaccess文件了。将/根目次的AllowOverride选项设为None,只将必要举行会见把持的目次下的AllowOverride选项设置为all,以下面的例子中将/根目次的AllowOverride选项封闭了,只翻开了/usr/local/etc/httpd/htdocs目次下的AllowOerride选项,如许,体系就只在/usr/local/etc/httpd/htdocs中反省.htaccess文件,到达的进步办事效力的目标。
<Directory/>
AllowOverrideNone
</Directory>
<Directory/usr/local/etc/httpd/htdocs>
AllowOverrideAll
</Directory>
假如除根目次之外,另有别的寄存WWW文件的目次,你也能够接纳一样的***举行设置。好比:假如你利用UserDir来同意用户会见本人的目次,AllowOverride的设置以下:
<Directory/home/*/public_html>
AllowOverrideFileInfoIndexesIncludesNOEXEC
</Directory>
5、避免用户会见指定的文件
体系中有一些文件是不合适供应给WWW用户的,如:.htaccess、htpasswd、*.pl等,能够用<Files>到达这个目标:
<Files.htaccess>
orderallow,deny
denyfromall
</Files>
用户会见把持三个.htaccess文件、.htpasswd和.htgroup(用于用户受权),为了宁静起见,应当避免用户扫瞄个中内容,能够在httpd.conf中到场以下内容制止用户对其举行会见:
<Files~”/.ht”>
Orderdeny,allow
Denyfromall
</Files>
如许这三个文件就不会被用户会见了。
6、限定某些用户会见特定文件
<Directory>能够对目次举行束缚,要限定某些用户对某个特定文件的会见可使用<Location>,好比:不同意非domain.com域内的用户对/prices/internal.html举行会见,能够用以下的设置:
<Location/prices/internal.html>
orderdeny,allow
denyfromall
allowfrom.domain.com
</Location>
假如你要授于响应权限的呆板没有公然的域名,请在你的/etc/hosts文件中,将其IP地点映照到某个指定的称号,然后在Location中对其举行设置,不然该选项是不起感化的。
7、只承受来自特定链接的会见
比方,只让一切来自http://www.ckuyun.com.cn/*的链接的用户进进此目次,由别的链接来的访客都不得进进;"*"暗示此网站底下一切的链接。个中的http://www.ckuyun.com.cn/*也能够是:http://202.106.184.200/*或是指定文件http://www.ckuyun.com.cn/news.html
.htaccess文件的内容以下:
AuthUserFile/dev/null
AuthGroupFile/dev/null
AuthNameExampleAllowFromSpecificURL
AuthTypeBasic
<LimitGET>
orderdeny,allow
denyfromall
refererallowfromhttp://www.ckuyun.com.cn/*
</Limit>
6、怎样经由过程Apache会见挂接到mnt中的目次内容
在Linux下,要扫瞄光盘的内容,必需要先将光盘挂接到/mnt/cdrom上,在Linux下会见dos或别的分区也一样,都要将其先挂接到/mnt下。上面供应的***,能够经由过程Apache显现上挂的目次内容:
1、先将必要挂接的内容挂接到mnt下,如:
mount&ndash;tiso9660/dev/cdrom/mnt/cdrom
2、修正/usr/local/etc/httpd/conf中的srm.conf文件(在Apache1.3.2中修正httpd.conf)
到场别号撑持:
#Aliasfakenamerealname
#aliasfornetwareserver//
Alias/netware//mnt/MYDOM_NW/vol1/home/htmldocs/
Alias/winNT//mnt/MYDOM_NT/
Alias/unix//mnt/MYDOM_UNIX
实在这一步另有个最复杂的***就是间接在WWW文件目次下创建链接目次,好比:
ln&ndash;s/mnt/MYDOM_NT/winNT
也能到达一样的效果。
3、最初,用Directory分离指定用户对下面这几个目次的会见权限:
<Direcory“/mnt/MYDOM_NT”>
OptionsIndexesMultiViews
AllowOverrideNone
Orderallow,deny
Allowfromall
</Directory>
注重,Options中的Indexes必定要说明,不然被翻开的目次中若没有Index.html文件,用户没法扫瞄全部目次的布局,办事器会前往毛病唆使。
这些事情都完成后,别忘了从头启动Apache。在客户端经由过程http://www.yourdomain/CDROM/会见光盘内容,其他体系以此类推
#

DocumentRoot"/usr/local/apache/htdocs"
#设置寄存站点html文件的目次。
<Directory/>
OptionsFollowSymLinks
AllowOverrideNone
</Directory>
#设置/目次的指令。详细地申明:
Option:界说在目次内所能实行的操纵。
None:暗示只能扫瞄,
FollowSymLinks:同意页面毗连到别处,
ExecCGI:同意实行CGI,
MultiViews:同意看动画或是听音乐之类的操纵,
Indexes:同意办事器前往目次的格局化列表,
Includes:同意利用SSI。这些设置能够复选。
All:则能够做任何事,但不包含MultiViews。
AllowOverride:加None参数暗示任何人都能够扫瞄该目次下的文件。
别的的参数有:FileInfo、AuthConfig、Limit。
小知识:退一万步讲,即使CentOS项目终结,正在运行它的企业也可以很轻松的转移到另一个企业Linux的克隆版。

admin 发表于 2015-1-17 07:30:16

通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?

灵魂腐蚀 发表于 2015-1-24 15:53:29

Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。

谁可相欹 发表于 2015-2-2 11:11:27

随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).

第二个灵魂 发表于 2015-2-7 19:32:16

未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。

若天明 发表于 2015-2-23 13:47:17

熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:

只想知道 发表于 2015-3-7 10:29:11

安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果Linux说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。

精灵巫婆 发表于 2015-3-15 03:32:24

把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。

山那边是海 发表于 2015-3-21 20:28:14

熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。
页: [1]
查看完整版本: 来讲讲:httpd.conf文件设置详解