第十一章 WEB服务器配置文档格式.docx
- 文档编号:19122351
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:11
- 大小:118.28KB
第十一章 WEB服务器配置文档格式.docx
《第十一章 WEB服务器配置文档格式.docx》由会员分享,可在线阅读,更多相关《第十一章 WEB服务器配置文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
由于各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指令相对应。
ApacheHTTP服务器在转储内核前会试图转换到该目录中,默认值是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,从而影响
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十一章 WEB服务器配置 第十一 WEB 服务器 配置
![提示](https://static.bdocx.com/images/bang_tan.gif)