阿帕奇 HTTP 服务器参考手册.docx

上传人:b****2 文档编号:24247666 上传时间:2023-05-25 格式:DOCX 页数:81 大小:50.17KB
下载 相关 举报
阿帕奇 HTTP 服务器参考手册.docx_第1页
第1页 / 共81页
阿帕奇 HTTP 服务器参考手册.docx_第2页
第2页 / 共81页
阿帕奇 HTTP 服务器参考手册.docx_第3页
第3页 / 共81页
阿帕奇 HTTP 服务器参考手册.docx_第4页
第4页 / 共81页
阿帕奇 HTTP 服务器参考手册.docx_第5页
第5页 / 共81页
点击查看更多>>
下载资源
资源描述

阿帕奇 HTTP 服务器参考手册.docx

《阿帕奇 HTTP 服务器参考手册.docx》由会员分享,可在线阅读,更多相关《阿帕奇 HTTP 服务器参考手册.docx(81页珍藏版)》请在冰豆网上搜索。

阿帕奇 HTTP 服务器参考手册.docx

阿帕奇HTTP服务器参考手册

原始文件:

manual.ps.gz

文件叙述:

阿帕奇HTTP服务器参考手册

文件编号:

LRG.LDTP.GUIDE.002

翻译日期:

1996/09/01

翻译维护:

asdchen@

简体中文版维护:

dfbb,fangh@

APACHE

AnHTTPServer

ReferenceManual

 

@DavidRobinsonandtheApacheGroup,1995

http:

//www.apache.org/

保留所有权利。

这个产品或文件受版权保护并且得在限制其用途,复制

,散播以及编辑的授权下散播。

细节请参阅阿帕奇授权书。

版权所有者不对这份手册的内容作任何保证及建议而且特别声明不保证

符合任何商业目的。

版权所有者保留修订这份手册的权利且其内容得依时变更而不必通知任

何人这些修订与变更。

Allrightsreserved.Thisproductordocumentationprotectedby

copyrightandisdistributedunderlicencesrestrictingits

use,copying,distributionanddecompilation.SeetheApachelicence

fordetails.

Thecopyrightownergivesnowarrantiesandmakesnorepresentations

aboutthecontentsofthismanualandspecificallydisclaims

warrantiesofmerchantabilityoffitnessforanypurpose.

TheCopyrightownerreservestherighttorevisethismanualand

makechangesfromtimetotimeinitscontentswithoutnotifyingany

personofsuchrevisionorchanges.

 

TRADEMARKS

 

UnixisaregisteredtrademarkofUNIXSystemLaboratories,Inc.

SunandSunOsaretrademarksofSunMicrosystems,Inc.Netscapeisa

trademarkofNetscapeCommunicationsCorporation.Allotherproduct

namesmentionedhereinaretrademarksoftheirrespectiveowners.

 

目录(Contents)(略)

 

序(Preface)

这份手册是1.0版阿帕奇服务器(ApacheHTTPserver)的文件。

这个

服务器是阿帕奇计划的产品,此计划试图回应某些对积极发展一套可以

免费取得之HTTP服务器的关心。

这个计划的目标是提供一个安全的,

有效率的而且可以扩充功能的服务器,此服务器提供HTTP服务且符合

目前的HTTP标准。

这套阿帕奇httpd服务器的设计不但与NCSAhttpd1.3相容,并且

提供常常有人要求的特色,像是

 

作为身分验认之用的DBM资料库

自定的(customised)错误与问题回应方式

多重的directoryindex指令

不限次数的Alias以及Redirect指令

以内容为基础的(Content-based)文件协商(negotiation)

虚拟服务器

 

阿帕奇授权书

 

Copyright1995TheApacheGroup.Allrightsreserved.

假若符合下列条件,无论是否经过修改,以原始程序及执行程序的形式

散播与使用都是许可的:

 

1.散播原始程序码必须保留上述的版权告示,这份条件列表以及下列

声明。

2.以执行程序码的形式散播必须在随附散播的文件以及/或是资讯中

重现上述的版权告示,这份条件列表以及下列声明。

3.所有提及或使用这套软体特色的广告都必须显示下列讯息:

`ThisproductincludessoftwaredevelopedbytheApacheGroup

foruseintheApacheHTTPserverproject(http:

//www.apache.org/).'

4.`ApacheServer'以及`ApacheGroup'这些名称没有随附前述的

的许可不得用来为这套软体的衍生产品背书或鼓励采用。

5.以任何形式散播都必须保留下列讯息:

`ThisproductincludessoftwaredevelopedbytheApacheGroup

foruseintheApacheHTTPserverproject(http:

//www.apache.org/).'

Redistributionanduseinsourceandbinaryforms,withorwithout

modification,arepermittedprovidedthatthefollowingcondictions

aremet:

1.Redistributionofsourcecodemustretaintheabovecopyright

notice,thislistofcondictionsandthefollowingdisclaimer.

2.Redistributioninbinaryformmustreproducetheabovecopyright

notice,thislistofcondictionsandthefollowingdisclaimerin

thedocumentationand/orothermaterialsprovidedwiththe

distribution.

3.Alladvertisingmaterialsmentioningfeaturesoruseofthis

softwaremustdisplaythefollowingacknowledge:

`Thisproduct

includessoftwaredevelopedbytheApacheGroupforuseinthe

ApacheHTTPserverproject(http:

//www.apache.org/).'

4.Thenames`ApacheServer'and`ApacheGroup'mustnotbeusedto

endorseorpromptproductsderivedfromthissoftwarewithout

priorwrittenpermission.

5.Redistributionofanyformwhatsoevermustretainthefollowing

acknowledge:

`Thisproductincludessoftwaredevelopedbythe

ApacheGroupforuseintheApacheHTTPserverproject

(http:

//www.apache.org/).'

 

THISSOFTWAREISPROVIDEDBYTHEAPACHEGROUP``ASIS''ANDANY

EXPRESSEDORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THE

IMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARITICULAR

PURPOSEAREDISCLAIMED.INNOEVENTSHALLTHEAPACHEGROUPORITS

CONTRIBUTORSBELIABLEFORANYDIRECT,INDIRECT,INCIDETAL,SPECIAL,

EXEMPLARYORCONSEQUENTIALDAMAGES(INCLUDING,BUTNOTLIMITEDTO,

PROCUREMENTOFSUBSTITUTEGOODSORSERVICES;LOSSOFUSE,DATAOR

PROFITS;ORBUSINESSINTERRUPTION)HOWEVERCAUSEDANDONANYTHEORY

OFLIABILITY,WHERHERINCONTRACT,STRICTLIABILITY,ORTORT

(INCLUDINGNEGLIGENCEOROTHERWISE)ARISINGINANYWAYOUTOFTHEUSE

OFTHISSOFTWARE,EVENIFADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGE.

Thissoftwareconsistsofvoluntarycontributionsmadebymany

individualsonbehalfoftheApacheGroupandwasoriginally

basedonpublicdomainsoftwarewrittenattheNationalCenter

forSupercomputingApplications,UniversityofIllinois,Urbana-

Champaign.FormoreinformationontheapacheGroupandtheApache

HTTPserverproject,pleaseseehttp:

//www.apache.org/.

 

第一章

编译以及安装阿帕奇

 

1.1下载阿帕奇

最新的阿帕奇资讯可以在阿帕奇网站http:

//www.apache.org/找到。

此处会列出目前发行的版本,任何更新的公开测试版,同时还有映射的

(mirror)网站与匿名文件传输(ftp)站之细节。

 

1.2编译阿帕奇

这一版的阿帕奇支援所谓的‘选用性模组’。

然而,为了使这些模组能

有效率,此服务器必须知道哪些模组要编译进去;这需要产生一点短短

的程序码(`modules.c')单纯地列出它们。

如果你满意我们的标准模组集,而且打算继续让它保持这样,那麽你可

以直接编辑我们提供的Makefile并且如同你以前作过的一样编译它。

如果你想要使用选用性模组,那麽无论如何,你都得执行配置指令稿。

这样做:

1.编辑`Configuration'这个文件。

这里面包含每一种机器

的Makefile设定,而且在这底下还有个额外的节区列出要

编译进去的模组,以及包含这些模组的文件名称,你将得:

(a)选择适合你机器的一种编译器以及编译选项。

(b)消掉相对於你想包含进去的模组上面的注解(文件底

端列出模组的那些行)或者加上对应你自己所撰写之

自制(custom)模组的一些新行。

注意,如果你想要有

DBM验认(auth)的话必须明确地配置进去;只要消掉

对应的行上面的注解即可。

2.执行`Configure'这个指令shell;

%Configure

Using`Configuration'asconfigfile

%

这会产生新版的Makefile以及modules.c文件。

如果你

想要维护多个配置,那麽你可以这样,例如

%Configure-fileConfiguration.ai

UsingalternateconfigfileConfiguration.ai

%

3.键入`make'

我们放进阿帕奇发行套件里的模组是我们测试过而且有许多

阿帕奇发展群成员使用的模组。

这些成员或协力团体(third

parties)配合特殊需要或功能而贡献的一些额外模组可以在

http:

//www.apache.org/dist/contrib/modules/>里

找到。

在该网页上有如何连结这些模组到阿帕奇核心程序码

里去的说明。

 

1.3安装阿帕奇

编译之後,你将会在src/目录里获得一份称为`httpd'的可执行文件。

阿帕奇的可执行文件发行套件会提供这个文件。

下一个步骤是为服务器编辑配置档。

你应该会在称为`conf'的目录里

发现三个配置档的发行版本:

srm.conf-dist,access.conf-dist以及

httpd.conf-dist。

把它们复制成所需的srm.conf,access.conf及

httpd.conf文件。

首先编辑httpd.conf。

这设定此服务器一般的属性;端口号,执行者的

身分等等。

接下来编辑srm.conf文件;这设定文件树的根目录,指定像是

服务端剖析的HTML或内部的影像地图(imagemap)剖析等等功能。

最後

编辑access.conf文件,至少作些存取(access)的基本设定。

最後,调用httpd程序,使用-f参数配合httpd.conf所在的完整

路径。

像是,最普遍的例子:

/usr/local/etc/apache/src/httpd-f

/usr/local/etc/apache/conf/httpd.conf

现在服务器应该已经开始执行。

依照预设srm.conf以及access.conf这些文件是藉由名称定位的;

要藉由其它的名称来指定调用它们的话,可以在httpd.conf里面使用

AccessConfig以及ResourceConfig指令。

 

第二章

启动阿帕奇

 

2.1启动阿帕奇

httpd这支程序可以藉由网际网路服务程序inetd在每一次有连线要

进入HTTP服务的时候启动,或者另一种方式,它也可以作为服务程序

(daemon)持续地执行,处理请求。

无论选择哪一种方式,都必须设定这

个ServerType指令告诉服务器它要如何执行。

 

2.2命令列选项

下列选项可以用在httpd的命令列上:

-dserverroot

把ServerRoot这个参数的起始值设定为serverroot。

这可以

藉由在配置文件里面的ServerRoot命令来加以改变。

此预设为

/usr/local/etc/httpd。

-fconfig

启动时执行在config文件里面的指令。

如果config没有以/

作为开始的话,那麽它会被当作相对於ServerRoot的路径。

预设值是conf/httpd.conf。

-X

以单一程序(single-process)模式执行,只用在内部除错;服务

程序不会脱离终端作业或是产生任何子程序。

不要使用这个模式

来提供正常的网页服务。

-v

列印httpd的版本,然後结束。

-?

列印httpd选项的一份列表,然後结束。

 

2.3配置档

此服务器将会读取三个配置指令文件。

任何指令都可以出现在这些文件

任何一个里面。

这些文件的名称是相对於服务器的根目录(serverroot);

这是根是藉由ServerRoot指令,或是-d这个命令列旗标所指定的。

依惯例这些文件是:

conf/httpd.conf

包含控制服务程序运作的指令。

文件名称可以配合-f命令列旗

旗标加以改变。

conf/srm.conf

包含控制服务器提供给客户端之文件规格的指令。

文件名称可以

配合ResourceConfig指令加以改变。

conf/access.conf

包含控制文件之存取的指令。

文件名称可以配合AccessConfig

指令加以改变。

 

无论如何,这些惯例并不需要完全遵奉。

此服务器也会读取一个包含MIME文件型态的文件;这个文件名称藉由

TypesConfig指令设定,而且有个conf/mini.types作为预设。

 

2.4记录档

 

2.4.1pid档

服务程序启动时,它把父程序httpd的程序码(processid)存往这个

log/httpd.pid文件。

这个文件名称可以配合PidFile指令加以改变

这个程序码由管理者用来重新启动或终止服务程序;一个HUP信号

会使服务程序重新读取其配置档而一个TERM信号会使它终止。

如果程序不正常地死掉(或被杀掉),那麽必须杀掉httpd子程序。

 

2.4.2错误记录

服务器会将错误讯息记录到一个记录档去,预设为log/error_log。

文件名称可以藉由ErrorLog指令设定;可以为不同的虚拟主机设定不

同的错误记录。

 

2.4.3传输记录

服务器一般会将每个请求记录到一个传输档,预设为logs/access_log

文件名称可以藉由TransferLog指令设定;可以为不同的虚拟主机

设定不同的传输记录。

 

第三章

阿帕奇核心部份(core)的特色

这些配置参数控制核心部份的阿帕奇特色,而且是固定可以使用的。

 

3.1AccessConfig指令

语法:

AccessConfig文件名称

预设:

AccessConfigconf/access.conf

用於:

serverconfig,virtualhost

状态:

核心

此服务器读取ResourceConfig文件之後将会继续读取这个文件以取得

更多指令。

文件名称系相对於ServerRoot路径。

此特色可以使用如下

的方式关闭:

AccessConfig/dev/null

原本这个文件只包含节区;事实上它现在可以包含任何

可以用於服务器配置的指令。

 

3.2AccessFileName指令

语法:

AccessFileName文件名称

预设:

AccessFileName.htaccess

用於:

serverconfig,virtualhost

状态:

核心

回传文件给客户端的时候,如果目录的存取控制档有启动,服务器会在

到达这份文件的路径中的每个目录里以此名称搜寻存取控制档。

例如:

AccessFileName.acl

在回传/usr/local/web/index.html这份文件前,此服务器将会读取

/.acl,/usr/.acl,/usr/local/.acl以及/usr/local/web/.acl以

取得指令,除非以如下的方式关闭它们:

AllowOverrideNone

 

3.3AllowOverride指令

语法:

AllowOverrideoverrideoverride...

预设:

AllowOverrideAll

用於:

directory

状态:

核心

服务器找到AccessFileName指定的文件时会需要知道该文件所宣告的

哪些指令可以改变稍早的存取资讯。

Override可以设为None在此情况下服务器将不会读取该档,而设为

All的话服务器将会允许所有的指令,或是下列其中之一:

 

AuthConfig

允许验认指令的使用(AuthDBMGroupFile,AuthDBMUserFile,

AuthGroupFile,AuthName,AuthType,AuthUserFileand

require)

FileInfo

允许控制文件型态之指令的使用(AddEncoding,AddLanguage,

AddType,DefaultTypeandLanguagePriority)

Indexes

允许控制目录索引之指令的使用(AddDescription,AddIcon,

AddIconByEncoding,AddIconByType,DefaultIcon,

DirectoryIndex,FancyIndexing,HeaderName,IndexIgnore,

IndexOptionsandReadmeName)

Limit

允许控制存取主机之指令的使用(allow,denyandorder)

Options

允许控制特定目录特色之指令的使用(OptionsandXbitHack)

 

3.4AuthName指令

语法:

AuthName验认领域

用於:

directory,.htaccess

需求:

AuthConfig

状态:

核心

这个指令为某个目录设定验认区域的名称。

这个区域会送给客户端所以

使用者知道要传送的使用者名称以及密码。

它必须藉由AuthType以及

require指令来完成,而且要有像AuthUserFile以及AuthGroupFile

这些指令配合运作。

 

3.5AuthType指令

语法:

AuthType型态

用於:

directory,.htaccess

需求:

AuthConfig

状态:

核心

这个指令为某个目录选择使用这验认型态。

目前只有Basic实作出来

它必须藉由AuthName以及require指令来完成,而且还要有像是

AuthUserFile以及AuthGroupFile这些指令配合运作。

 

3.6BindAddress指令

语法:

BindAddress服务器位址

预设:

BindAddress*

用於:

serverconfig

状态:

核心

一台Unix的http服务器可以监听到该服务机器每个IP位址的连线

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1