第十一章 WEB服务器配置文档格式.docx

上传人:b****6 文档编号:19122351 上传时间:2023-01-04 格式:DOCX 页数:11 大小:118.28KB
下载 相关 举报
第十一章 WEB服务器配置文档格式.docx_第1页
第1页 / 共11页
第十一章 WEB服务器配置文档格式.docx_第2页
第2页 / 共11页
第十一章 WEB服务器配置文档格式.docx_第3页
第3页 / 共11页
第十一章 WEB服务器配置文档格式.docx_第4页
第4页 / 共11页
第十一章 WEB服务器配置文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

第十一章 WEB服务器配置文档格式.docx

《第十一章 WEB服务器配置文档格式.docx》由会员分享,可在线阅读,更多相关《第十一章 WEB服务器配置文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

第十一章 WEB服务器配置文档格式.docx

由于各Web站点的信息包含站点本身的信息。

信息的提供者可以经常对站点上的信息进行更新,如某个协议的发展状况,公司的广告等。

一般各信息站点都尽量保证信息的时间性。

所以Web站点上的信息是动态的。

(6)Web是交互的。

Web的交互性,首先表现在它的超级链接上,用户的浏览顺序和所到站点完全由用户自己决定。

另外通过FORM的形式可以从服务器方获得动态的信息。

用户通过填写FORM可以向服务器提交请求,服务器可以根据用户的请求返回相应信息。

2.WWW的结构

WWW是基于客户机/服务器结构的。

客户机/服务器计算模式是目前最流行的计算模式,在Internet上运行的所有程序以及许多网络和数据库系统都是根据客户机/服务器计算模式工作的。

在这种设计方案中,应用程序(如FTP或WWW)的任务被划分为两个部分,分别由两个程序完成,即服务器端程序和客户端程序。

服务器端程序负责处理查询和提供数据;

客户端程序负责处理与服务器连接和发送文件或信息传输请求,大部分的Internet应用系统有很多不同的客户端程序可供利用,它们能够分别在DOS、Windows、Macintosh和UNIX环境下运行。

WWW服务器与客户端的浏览器使用HTTP(HypertextTransferProtocol,超文本协议)协议通信。

HTTP协议的一个创新在于用字符串来表示唯一的地址以指向所需的信息。

这种字符串称为URL(统一资源定位符),是全球WWW系统服务器资源的标准寻址定位编码,用于确定所需文档在Internet上的位置。

URL由3个部分组成:

网络传输协议+主机号(即域名,有时需要指定端口号)+文档在主机上的路径及文件名。

网络传输协议指定访问所需文档时使用的协议,可以是以下几种形式:

(1)http:

// 

说明访问的是Web服务器,使用的是http协议。

(2)ftp:

使用FTP(文件传输协议)连接到FTP服务器上。

(3)telnet:

使用远程登录协议启动一个会话,访问某台主机。

(4)gopher:

说明访问的是基于菜单驱动的Gopher服务器。

(5)wais:

说明访问的是广域信息服务器WAIS。

(6)file:

访问本地计算机中的文件。

主机号(域名)与文档路径之间用"

/"

分隔,而后者也是采用"

来分隔文档的描述路径。

有时Web服务器提供一个默认的页面为首页,此时可以省略文档路径及其文件名。

11.2 

安装Apache

Apache是世界使用排名第一的Web服务器,可以运行在几乎所有广泛使用的计算机平台上。

Apache服务器拥有以下特性。

 

●支持最新的HTTP通信协议。

“

 

●拥有简单而强有力的基于文件的配置过程。

●支持通用网关接口。

●支持基于IP和基于域名的虚拟主机。

●支持多种方式的HTTP认证。

●集成代理服务器模块。

●支持实时监视服务器状态和定制服务器日志。

●支持服务器端包含指令(SSI)。

●支持安全Socket层(SSL)。

“

●提供用户会话过程的跟踪。

● 

支持FastCGI。

●通过第三方模块可以支持Javaservlets。

如果用户准备选择Web服务器,Apache毫无疑问是最佳选择。

获取Apache信息最好的网站是Apache的Web站点http:

//www.apache.org,或者是的ApacheWeekWeb网站。

RedHatLinux系统包括一个Apache的版本。

可以在Linux系统FTP服务器的/pub/contrib目录中获得rpm安装文件形式的Apache。

或者从Apache站点直接获得源代码。

Apache的安装步骤如下:

1.下载

Apache可以从ApacheHTTP服务器下载站点及其镜像站点下载。

大多数类UNIX系统的Apache用户最好的选择是下载源代码并编译一个适合自己的版本,这个过程(下面将要讲述)是很简单的,它允许你根据自己的需求进行定制。

另一方面编译好的二进制版本通常没有进行及时的更新。

如果你下载的是编译好的二进制版本,请按照其中的INSTALL.bindist文件进行安装。

下载完毕后,应该对下载来的tar包作PGP签名校验,以确保其完整而且未被篡改过。

2.解压

解压Apachehttpd的tar包很简单:

$gzip-dhttpd-NN.tar.gz

$tarxvfhttpd-NN.tar

这样就在当前目录下新建了一个包含发行版源代码的目录,必须cd进入这个目录以继续服务器的编译。

3.配置源代码树

这一步是根据你的特定平台和个人需求配置源代码树。

位于发行源代码根目录的configure脚本会完成这个步骤(对下载ApacheCVS版源代码的开发者,需要装有autoconf和libtool,并需要执行buildconf,对于官方的发行版则没这个必要)。

要想用所有的默认值配置源代码树只要简单的执行./configure命令就可以了,同时configure还可以接受命令行参数以改变默认值。

最重要的选项是Apache安装目录的前缀:

--prefix,因为Apache需要知道这个目录才能正常运作。

这样,就可以通过在配置选项中指定要启用或禁用哪些模块来定制Apache的特性。

Base组的模块默认包含在Apache中。

其他组的模块可以通过--enable-module指令启用。

其中module是模块名去掉"

mod_"

并将下划线转换成连字符后的字符串。

也可以使用--enable-module=shared指令将模块编译为可在运行时加载和卸载的动态共享对象(DSO)。

同样的,你也可以使用--disable-module指令禁用Base组的模块。

注意,使用这些指令的时候configure不会对你拼写错误的模块发出警告说找不到某某模块,而只是简单的忽略这个选项。

另外,有时候还必须提供给configure脚本关于编译器、库、头文件位置的更多信息。

这些可以通过环境变量或者命令行选项传递给configure脚本。

此例演示编译Apache,并将其安装在/sw/pkg/apache目录,指定了一个特定的编译器以及编译参数,而且允许今后将两个附加的模块mod_rewrite和mod_speling通过DSO机制在运行时动态加载:

$CC="

pgcc"

CFLAGS="

-O2"

\

./configure--prefix=/sw/pkg/apache\

--enable-rewrite=shared\

--enable-speling=shared

configure需要运行几分钟,以测试指定的功能在你的系统中是否有效,并建立稍后编译时所需的许多Makefile文件。

4.编译

运行以下命令你就可以编译Apache的各个部分了:

$make

请耐心等候,因为对一个基本配置的编译,需要运行几分钟左右,实际需要的时间会因为你的硬件和选择的模块数量有很大不同。

5.安装

现在可以在PREFIX目录(参见上述的--prefix参数)下安装了,执行:

$makeinstall

如果是升级,安装程序不会覆盖你的配置文件和文档。

6.配置

接着,通过修改PREFIX/conf/目录下的配置文件,来配置ApacheHTTP服务器。

$viPREFIX/conf/httpd.conf

docs/manual/下有Apache使用手册,http:

//httpd.apache.org/docs有最新的文档

7.测试

现在,可以执行下述命令立即启动ApacheHTTP服务器:

$PREFIX/bin/apachectl-kstart

可以用http:

//localhost/来请求你的第一个网页了,这个网页位于DocumentRoot目录下,通常是PREFIX/htdocs/。

随后,可以这样停止服务器:

$PREFIX/bin/apachectl-kstop

11.3设置Apache服务器

在RedHatLinux8.0版本以前,配置Apache是一件很繁琐的事情,但自从RedHatLinux8.0中ApacheHTTP服务器被升级到了2.0之后,软件包的名称变成了httpd。

可以使用ApacheHTTP配置工具很轻松地进行配置。

1.使用GUI

ApacheHTTP配置工具提供了一个图形化的用户界面,可以简化Apache服务器的httpd.conf文件的配置。

它可以配置诸如虚拟主机、日志属性和最大连接数等。

要启动该工具可以采用以下步骤:

在【桌面】面板选择【系统】中【系统配置】|【服务器设置】|【HTTP服务器】命令;

也可以从提示符状态下启动该工具,方法是输入命令:

system-config-httpd

2.设置【主】选项卡

第一次进行配置时,首先要设置【主】选项卡,如图11-1所示。

在【虚拟主机】选项卡,可以设置默认的虚拟主机。

如果想要为多个URL或者虚拟主机服务,那么可以在这里添加。

【服务器】选项卡可以对服务器的配置进行进一步的更改。

在【调整性能】选项卡,可以对连接进行一些具体的设置。

图11-1主配置选项卡

在该选项卡中,需要给出维护该Web服务器网管的电子邮件地址。

该条目的内容要和httpd.conf文件中ServerAdmin所指示的内容相一致。

该邮件地址主要是在系统出现问题时便于及时通知系统管理员。

一般而言,这个系统管理员就是用户自己,系统默认的情况下这个地址是root@localhost。

可以使用一个比较人性化的名字,以方便记忆。

在基本配置中有一项【服务器名】的设置,如果用户不指定服务器名称,Web服务器会使用系统的IP地址。

当然,这里可以灵活掌握,比如,虽然实际的DNS名称是linuxsystem.apache_,但可以把服务器命名为www.apache_。

使用【可用地址】列表框来定义服务器接受进入连接请求的端口。

该选项和httpd.conf中的Listen指令相对应。

RedHat默认配置ApacheHTTP服务器在端口80上监听非安全的WWW通信。

可用地址:

在【主】选项卡中,可用地址也是一个特别值得注意的地方,在此可以定义服务器接受哪一个端口的请求。

如果看httpd.conf文件,就会发现这些内容由Listen来指示。

默认情况下,RedHat的HTTP服务器监听的是80端口。

如果想改变这一设置,单击右侧的【添加】按钮,这时会打开一个如图10-8所示的对话框。

在这里可以定义其他可以接受请求的端口,可以选择让服务器监听所有的地址,或者指定一个专门的IP地址。

为了避免出现DNS查找错误,可以使用IP地址来代替域名。

如果还有错误,可以对这些内容再进行一些更改。

图11-2可用地址

3.【虚拟主机】选项卡

在【虚拟主机】选项卡中,可以更改Web服务器的一些默认设置。

在此也可以在同一台Linux计算机上,通过设置让不同的服务器对应于不同的IP地址、主机名或不同的端口。

然后单击【编辑默认设置】按钮,会出现如图11-3所示的对话框。

在该对话框中可以对WWW服务器配置进行设置。

如果添加了一个虚拟主机,那么为该虚拟主机配置的设置会被优先采用。

对于虚拟主机内没有定义的指令,就会使用默认值。

图11-3虚拟主机的属性

在【目录页搜索列表】中列出的项目定义DirectoryIndex指令。

DirectoryIndex是用户通过在目录名后指定“/”来请求目录索引时,由服务器提供的默认网页。

例如,当某用户请求网页Index网页,或由服务器生成的目录列表。

服务器会试图寻找DirectoryIndex指令中列出的文件,并提供所找到的第一个文件。

如果没找到任何文件,并且OptionsIndexes为该目录设置,服务器就会生成并返回一个HTML格式的列表,列出该目录中的子目录和文件。

使用【错误代号】列来配置ApacheHTTP服务器在出现错误和问题时,把客户重导向给本地或外部URL。

该选项和ErrorDocument指令相对应。

如果当客户试图连接ApacheHTTP服务器时出现了问题或错误,默认行动是显示【错误代号】列中的简单错误信息。

要取代默认配置,选择这个错误代号,然后单击【编辑】按钮。

选择【默认】来显示默认的简短错误信息。

选择URL来把客户重导向到一个外部URL,并在【位置】字段中输入包括http:

//在内的URL。

选择【文件】来把客户重导向到一个内部URL,并在WWW服务器的文件根下输入文件的路径。

位置必须以“/”开头,并相对于文件根的位置。

譬如,要把【404没有找到】错误代号重导向到用户在404.html文件中创建的网页,把404.html复制到DocumentRoot/errors/404.html。

在这个例子里,DocumentRoot是定义的文档根目录。

然后,选择【文件】作为【404-没有找到】错误代号的行为,然后输入/errors/404.html作为【位置】。

从【默认错误页页脚】菜单中,可以选择下列选项之一:

显示页脚和电子邮件地址在所有错误页面中显示默认页脚以及在ServerAdmin指令中指定的网站维护者的电子邮件地址。

显示页脚 

“在错误页的底部只显示默认的页脚。

无页脚 

“在错误页的底部不显示页脚。

在【虚拟机的属性】配置界面中,还有以下几个选项菜单:

1.记录日志

服务器默认把传输日志写入/var/log/httpd/access_log文件,把错误日志写入/var/log/httpd/error_log文件。

传输日志包含一个所有对WWW服务器有连接企图的列表。

它记录试图连接的客户的IP地址,试图连接的日期和时间,以及试图检索的WWW服务器上的文件。

输入要储存该信息的路径和文件名。

如果路径和文件名不以“/”开头,该路径就是相对于配置的服务器根目录而言。

该选项与transferlog指令相对应。

2.环境变量

为了CGI脚本或服务器端嵌入(SSI)页,有时有必要修改环境变量。

ApacheHTTP服务器可以使用mod_env模块来配置被传递给CGI脚本和SSI页的环境变量。

使用【环境变量】来为该模块配置指令。

3.目录

使用【目录】来为指定目录配置选项。

它与Directory指令相对应。

单击右上角的【编辑】按钮来为所有没有在下面的【目录】列表中指定的目录配置【默认目录选项】。

所选择的选项被列举在Directory指令内的Options指令中。

可以配置下列选项:

ExecCGI 

⌝允许执行CGI脚本。

如果该选项没有被选,CGI脚本就不会被执行。

FollowSymLinks 

允许追随符号链接。

Includes 

⌝允许服务器端嵌入。

IncludesNOEXEC 

⌝允许服务器端嵌入,但是在CGI脚本中禁用#exec和#include命令。

Indexes 

如果请求的目录中不存在Directory⌝Index,则显示目录内容的格式化了的列表。

Multiview 

支持content-negotiated⌝multiviews,该选项被默认禁用。

SymLinksIfOwnerMatch 

⌝只有在目标文件或目录和链接的所有者相同时,才追随该符号链接。

4.【服务器】选项卡

在该选项卡中,可以对服务器的一些基本设置进行更改,如图11-4所示。

不过,一般这些设置都是适当的,因此无需对其进行更改。

特别需要注意的是,除非很了解自己在做什么,否则不要把【用户】设置为root,因为这样可能使服务器存在很大的安全漏洞。

图11-4【服务器】选项卡

【锁文件】的值和LockFile指令相对应。

在服务器使用USE_FCNTL_SERIALIZED_“ACCEPT或USE_FLOCK_SERIALIZED_ACCEPT编译时,该指令把路径设为锁文件所用的路径。

它必须储存在本地磁盘上。

如果logs目录位于NFS共享上,应该把默认值改为本地磁盘上某处只能被root用户读取的目录。

【PID文件】的值和PidFile指令相对应。

该指令设置服务器记录进程ID(PID)的文件。

该文件应该只能够被root用户读取。

多数情况下,选择使用默认值。

【内核转储目录】的值和CoreDumpDirectory指令相对应。

Apache“HTTP服务器在转储内核前会试图转换到该目录中,默认值是ServerRoot。

如果运行服务器的用户所使用的身份没有到该目录的写权限,内核转储就无法被写入。

如果想把内核转储写入磁盘以用于调试,可以把这个值改为能够被服务器的运行身份写入的目录。

【用户】的值和User指令相对应。

用于提供设置服务器回答请求所用的userid。

用户的设置决定服务器的访问权限。

该用户所无法访问的文件,网站的来宾也不能够访问。

默认的User是apache。

【组群】的值与Group指令相对应。

Group指令和User指令很相似。

用于设置服务器回答请求所用的组群。

默认组群也是apache。

5.【调整性能】选项卡

这个选项卡用来配置用户想使用的服务器子进程的最大数量,以及客户连接方面的ApacheHTTP服务器选项,如图11-5所示。

这些选项的默认设置在多数情况下是恰当的。

改变这些设置会影响WWW服务器的整体性能。

除非重新编译Apache软件,否则这里最多连接数量不能超过256个。

这里的设置和httpd.conf中的MaxClients相对应。

如果选中【允许持久性的连接】单选按钮,并且填了一个很大的数值,那么很可能会使服务器由于等待而导致性能下降。

如果感觉到系统有明显变慢的迹象,那么就要首先查看这里的设置。

6.保存设置

确认所有的配置都无误后,单击【确定】按钮,并且单击【是】按钮来保存所进行的配置。

如果这时想放弃配置,单击【取消】按钮。

一旦选择保存后,所进行的配置就会保存至/etc/httpd/conf/httpd.conf文件中,并且所进行的更改会覆盖原先的内容。

保存设置以后使用命令:

servicehttpdrestart

重新启动httpd进程。

必须是root用户才可以执行。

图11-5【调整性能】选项卡

11.4 

增加用户验证功能

1.实验目标

Apache服务器已经内置用户验证机制,只要适当加以设置,便可以控制网站的某些部分要用户验证。

用户只要跟着一步步做下来就应该能轻松实现用户验证。

这里提醒一下,如果要在计算机上执行该操作,首先必须保证使用的计算机上已经正确安装了Apache。

2.实验过程

1.在Linux桌面上单击鼠标右键,从弹出的快捷菜单中选择【打开终端】命令,打开Linux的终端输入窗口。

2在/var/www(Apache的主页根目录)下创建一个test目录。

由于使用的是命令行创建方式,下面所示的命令就是创建该目录所使用的命令。

mkdir/var/www/test

3.编辑httpd.conf文件。

打开该文件后,在里面添加以下代码:

Alias/test"

/var/www/test"

<

Directory"

>

OptionsIndexesMultiViews

AllowOverrideAuthConfig 

#表示进行身份验证

Orderallow,deny

Allowfromall

/Directory>

其中,#AllowOverrideAuthConfig表示进行身份验证,是整个代码中最为关键的设置。

4.使用vi命令在/var/www/test目录中创建一个.htaccess文件,并在其中添加如下代码:

AuthName"

frankshareweb"

AuthTypeBasic

AuthUserFile/var/www/test/.htpasswd

requirevalid-user

其中,#AuthName用于描述当前任务的目的,用户可以任意输入;

#AuthUserFile/var/www/test/

.htpasswd#requirevalid-user或者requireuserfrank限制是所有合法用户还是指定用户。

此外,#密码文件推荐使用.htpasswd,因为Apache默认系统对.ht开头的文件默认不允许外部读取,安全系数会高一些。

5.下面就可以创建Apache的验证用户了,在shell提示下输入以下代码:

htpasswd-c/var/www/test/.htpasswdfrank

在创建时需要注意:

第一次创建用户要用到-c参数,当第二次添加用户时,则可以省去该参数。

如果需要修改密码,可以输入以下命令:

htpasswd-m.htpasswdfrank

6.重启Apache服务,然后访问http:

//你的网站地址/test,看到一个用户验证的弹出窗口,只要填入第4步创建的用户名和密码,即可进入网站。

此外,为了服务器的性能,一般不推荐使用AllowOverrideAuthConfig或AllowOverrideALL,因为这会使服务器会不断寻找.htaccess,从而影响

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

当前位置:首页 > 自然科学

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

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