Apache服务器

Apache服务器
Apache服务器

8.3 Apache服务器

8.3.1 Apache概述

Apache是Internet上最流行的Web服务器软件,它安全、高效、稳定、适用于各种平台,关键它还是免费的和开发源代码的。从1995年开始直到今天,经过不断的发展,Apache 小组开发的Apache HTTPd服务器软件已经成为市场的领导者。在所有的Web服务器软件中,Apache占有绝对优势,远远领先于Microsoft的IIS服务器软件。

许多世界知名的网站都是基于Linux操作系统的,如yahoo、Hotmail等网站。在Linux 系统上架设Web服务器所使用的最多最广泛的软件就是Apache。它功能强大,高度稳定,与Linux配合得十分完美,是在Linux上构建Web站点时首选的方案。另外,也有Windows 平台下的Apache软件。可以到官方网站https://www.360docs.net/doc/b45227653.html,免费下载Apache最新的版本。

8.3.2 Apache服务器的安装

在安装Red Hat Linux 9时,可以选择安装Apache服务器,而在Red Hat Linux 9中内置的Apache服务器版本为httpd-2.0.40-21,如果不知道是否已安装此版本的软件,可以使用下面的方法来判断。

[root@rh9 root]# rpm -qa httpd

httpd-2.0.40-21.i386.rpm

如果看到上面的结果,则表示该软件已经安装。否则,需要找出第二张安装光盘,保存在RedHat/RPMS目录的httpd-2.0.40-21.i386.rpm。可以使用下面的命令进行安装。

[root@rh9 root]# mount /mnt/cdrom

[root@rh9 root]# cd /mnt/cdrom/Red Hat/RPMS

[root@rh9 root]# rpm -ivh httpd-2.0.40-21.i386.rpm

另外,为了使用图形化的Apache服务器管理工具,建议用户也安装redhat-config-httpd-1.0.1-18.i386.rpm软件包。

8.3.3 Apache服务器的基本配置

Apache的配置文件是包含了若干指令的纯文本文件,其文件名为httpd.conf,在Apache 启动时,会自动读取配置文件中的内容,并根据配置指令影响Apache服务器的运行。配置文件改变后,只有在下次启动或重新启动后才会生效。

配置文件中的内容分为注释行和服务器配置命令行。行首有“#”的即为注释行,注释不能出现在指令的后边,除了注释行和空行外,服务器会认为其他的行都是配置命令行。配置文件中的指令不区分大小写,但指令的参数通常是对大小写敏感的。对于较长的配置命令,行末可使用反斜杠“\”换行,但反斜杠与下一行之间不能有任何其他字符(包括空白)。可以使用apachectl或者httpd的命令行参数-t来检查配置文件中的错误,而无需启动Apache 服务器。

[root@rh9 root]# httpd -t

httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1

for ServerName

Syntax OK

[root@rh9 root]# apachectl -t

httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1

for ServerName

Syntax OK

整个配置文件总体上划分为3部分(section),第1部分为全局环境设置;第2部分是服务器的主要配置;第3部分用于设置和创建虚拟主机。下面介绍一些常用的配置命令。

1.常规配置指令

1)ServerRoot

所谓ServerRoot是指整个Apache目录结构的最上层,在此目录下可包含服务器的配置、错误和日志等文件。如果安装时使用rpm版本的方式,则默认目录是/etc/httpd,一般不需要修改。注意,这里不能在目录路径的后面加上斜线(/)。

2)ServerName

设置服务器用于辨识自己的主机名和端口号,该设置仅用于重定向和虚拟主机的识别。命令用法为:“ServerName 完全合格的域名[:端口号]”。

对于Internet Web服务器,应保证该名称是DNS服务器中的有效记录。默认配置文件中对此没有设置,应根据服务器的实际情况进行设置。比如当前Web服务器的域名为https://www.360docs.net/doc/b45227653.html,,则可设置为:ServerName https://www.360docs.net/doc/b45227653.html,或设置为ServerName https://www.360docs.net/doc/b45227653.html,:80。

当没有指定ServerName时,服务器会尝试对IP地址进行反向查询来获得主机名。如果在服务器名中没有指定端口号,服务器会使用接受请求的端口。为了加强可靠性和可预测性,应使用ServerName显式地指定一个主机名和端口号。

3)Listen

Listen命令告诉服务器接受来自指定端口或者指定地址的某端口的请求。如果Listen仅指定了端口,则服务器会监听本机的所有地址;如果指定了地址和端口,则服务器只监听来自该地址和端口的请求。利用多个Listen指令,可以指定要监听的多个地址和端口,比如在使用虚拟主机时,对不同的IP、主机名和端口需要作出不同的响应,此时就必须明确指出要监听的地址和端口。其命令用法为:“Listen [IP地址]:端口号”。Web服务器使用标准的80号端口,若要对当前主机的80端口进行侦听,则配置命令为:Listen 80,假设当前服务器绑定了61.186.160.104和61.186.160.105 IP地址,现需要对其80端口和8080端口进行监听,则配置命令是:

Listen 61.186.160.104:80

Listen 61.186.160.104:8080

Listen 61.186.160.105:80

Listen 61.186.160.105:8080

4)ServerAdmin

用于设置Web站点管理员的E-mail地址。当服务器产生错误时(如指定的网页找不到),服务器返回给客户端的错误信息中将包含该邮件地址,以告诉用户该向谁报告错误。其命令用法为:“ServerAdmin E-mail地址”。

5)DocumentRoot

用于设置Web服务器的站点根目录,其命令用法为:“DocumentRoot 目录路径名”,默认设置为:DocumentRoot "/var/www/html",注意,目录路径名的最后不能加“/”,否则将会发生错误。

6)ErrorDocument

用于定义当遇到错误时,服务器将给客户端什么样的回应,通常是显示预设置的一个错

误页面。其命令用法为:“ErrorDocument 错误号所要显示的网页”。在默认的配置文件中,预定义了一些对不同错误的响应信息,但都注释掉了,只需去掉前面的“#”号即可开启。

7)DirectoryIndex

用于设置站点主页文件的搜索顺序,各文件间用空格分隔。例如,要将主页文件的搜索顺序设置为index.php、index.html、index.htm、default.htm,则配置命令为:“DirectoryIndex index.php index.html index.htm default.htm”。

8)User和Group

User用于设置服务器以哪种用户身份来响应客户端的请求。Group用于设置将由哪一组来响应用户的请求。User和Group是Apache安全的保证,千万不要把User和Group设置为root。

9)AddDefaultCharset

用于指定默认的字符集。在HTTP的回应信息中,若在HTTP头中未包含任何关于内容字符集类型的参数时,此指令将指定的字符集添加到HTTP头中,此时将覆盖网页文件中通过META标记符所指定的字符集。命令用法为:“AddDefaultCharset 字符集名称”。

Apache默认的字符集为ISO-8859-1,对于含有中文字符的网页,若网页中没有指定字符集,则在显示中文的时候会出现乱码,解决的办法就是将默认字符集设置为GB2312,其配置命令为:“AddDefaultCharset GB2312”。

2.性能配置指令

一般情况下,每个HTTP请求和响应都使用一个单独的TCP连接,服务器每次接受一个请求时,都会打开一个TCP连接并在请求结束后关闭该连接。若能对多个处理重复使用同一个连接,则可减小打开TCP连接和关闭TCP连接的负担,从而提高服务器的性能。

1)Timeout

用于设置连接请求超时的时间,单位为秒。默认设置值为300,超过该时间,连接将断开。若网速较慢,可适当调大该值。

2)KeepAlive

用于启用持续的连接或者禁用持续的连接。其命令用法:“KeepAlive on|off”,配置文件中的默认设置为KeepAlive on。

3)MaxKeepAliveRequests

用于设置在一个持续连接期间允许的最大HTTP请求数目。若设置为0,则没有限制;默认设置为100,可以适当加大该值,以提高服务器的性能。

4)KeepAliveTimeout

用于设置在关闭TCP连接之前,等待后续请求的秒数。一旦接受请求建立了TCP连接,就开始计时,若超出该设定值还没有接收到后续的请求,则该TCP连接将被断开。默认设置为10秒。

5)控制Apache进程

对于使用prefork多道处理模块的Apache服务器,对进程的控制,可在prefork.c模块中进行设置或修改。配置文件的默认设置为:

StartServers 8

MinSpareServers 5

MaxSpareServers 20

MaxClients 150

MaxRequestsPerChild 1000

在配置文件中,属于特定模块的指令要用指令包含起来,使之有条件地生效。表示如果prefork.c模块存在,则在之间的配置指令将被执行,否则不会被执行。下面分别介绍各配置项的功能。

①Startservers

用于设置服务器启动时启动的子进程的个数。

②MinSPareservers

用于设置服务器中空闲子进程(即没有HTTP处理请求的子进程)数目的下限。若空闲子进程数目小于该设置值,父进程就会以极快的速度生成子进程。

③MaxSPareservers

用于设置服务器中空闲子进程数目的上限。若空闲子进程超过该设置值,则父进程就会停止多余的子进程。一般只有在站点非常繁忙的情况下,才有必要调大该设置值。

④Maxclient

用于设置服务器允许连接的最大客户数,默认值为150,该值也限制了httpd子进程的最大数目,可根据需要进行更改,比如更改为500。

⑤MaxRequestsPerChild

用于设置子进程所能处理请求的数目上限。当到达上限后,该子进程就会停止。若设置为0,则不受限制,子进程将一直工作下去。

3.日志配置指令

日志对于Web站点必不可少,它记录着服务器处理的所有请求、运行状态和一些错误或警告等信息。要了解服务器上发生了什么,就必须检查日志文件,虽然日志文件只记录已经发生的事件,但是它会让管理员知道服务器遭受的攻击,并有助于判断当前系统是否提供了足够的安全保护等级。

l)ErrorLog

用于指定服务器存放错误日志文件的位置和文件名,默认设置为:“ErrorLog logs/error_log”。

此处的相对路径是相对于ServerRoot目录的路径。在error_log日志文件中,记录了Apache守护进程httpd发出的诊断信息和服务器在处理请求时所产生的出错信息。在Apache 服务器出现故障时,可以查看该文件以了解出错的原因。

2)LogLevel

用于设置记录在错误日志中的信息的数量,其中可能出现的记录等级依照重要性降序排列分别是:debug、info、notice、warn、error、crit、alert和emerg系。

当指定了某个特定级别后,所有级别高于它的信息也将被记录在日志文件中。配置文件中的默认配置级别为warn,可根据需要进行调整。级别设置过低,将会导致日志文件的急剧增大。以下是/var/log/httpd/error_log记录中的部分内容。

[root@rh9 root]# more /var/log/httpd/error_log

[Mon Nov 09 14:11:01 2009] [notice] Digest: generating secret for digest authentication ...

[Mon Nov 09 14:11:01 2009] [notice] Digest: done

[Mon Nov 09 14:11:02 2009] [notice] Apache/2.0.40 (Red Hat Linux) configured --resuming normal operations

[Mon Nov 09 14:11:21 2009] [warn] child process 6052 still did not exit, sending a SIGTERM

[Mon Nov 09 14:11:21 2009] [warn] child process 6053 still did not exit, sending a

SIGTERM

[Mon Nov 09 14:11:21 2009] [notice] caught SIGTERM, shutting down

--More--(25%)

3)LogFormat

此选项用来定义“CustomLog”指令中使用的格式名称,以下是系统默认的格式,可以直接使用这些默认值。

[root@rh9 root]# grep LogFormat /etc/httpd/conf/httpd.conf

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

4)CustomLog

此选项可以用来设置记录文件的位置和格式,默认值是:“CustomLog logs/access_log combined”。

5)PidFile

用于指定存放httpd主(父)进程号的文件名,便于停止服务。其默认值是:“PidFile run/httpd.pid”。

4.容器与访问控制指令

1)容器指令简介

容器指令通常用于封装一组指令,使其在容器条件成立时有效,或者用于改变指令的作用域。容器指令通常成对出现,具有以下格式特点:

<容器指令名参数>

例如:

Include conf/ssl.conf

容器用于判断指定的模块是否存在,若存在(被静态地编译进服务器,或是被动态装载进服务器),则包含于其中的指令将有效,否则会被忽略。此处的配置指令的含义是:若mod_ssl.c模块存在,则用Include指令,将conf/ssl.conf配置文件包含进当前的配置文件中。

容器可以嵌套使用。若要使模块不存在时所包含的指令有效,只需在模块名前加一个“!”即可。比如配置文件中的以下配置:

User nobody

除了容器外,Apache还提供了等容器指令。其中,用于定义虚拟主机;等容器指令主要用来封装一组指令,使指令的作用域限制在容器指定的目录、文件或某个以

URL开始的地址。在容器中,通过使用访问控制指令可实现对这些目录、文件或URL地址的访问控制。

2)访问控制指令

访问控制指令由Apache的内建模块mod_access提供,它能实现基于Internet主机名的访问控制,其主机名可以是域名,也可以是一个IP地址,建议尽量使用IP地址,以减少DNS域名解析。相关的指令主要有Allow、Deny和Order。

①Allow命令

用法:Allow from hosolist,命令功能:指定允许访问的主机。hostlist代表主机名列表,各主机名间用空格分隔。该指令常用于等容器中,以设置允许访问指定目录、文件或URL地址的主机。比如允许61.186.160.104主机访问,则实现命令为:Allow from 61.156.160.104。若要允许所有的主机访问,则实现命令可表达为:Allow from a11。

②Deny命令

用法:Deny from host-list,命令功能:该命令与Allow刚好相反,用于指定禁止访问的主机名。

③Order命令

用于指定allow和deny语句,哪一个被先执行。其具体用法有以下三种:order allow,deny | deny, allow | mutual-failure。

“order allow,deny”:表示allow语句在deny之前执行,若主机没有被特别指出允许访问,则该主机将被拒绝访问资源;

“Order deny,allow”:deny在allow之前进行控制。若主机没有被特别指出拒绝访问,则该资源将被允许访问;

“Order mutual-failure”:只有那些在allow语句中被指定,同时又没有出现在deny语句中的主机,才允许访问。若主机在两条指令中都没有出现,则将被拒绝访问。

3)对目录、文件和URL操作的容器

容器

容器用于封装一组指令,使其对指定的目录及其子目录有效。该指令不能嵌套使用,其命令用法:

……

容器中所指定的目录名可以采用文件系统的绝对路径,也可以是包含通配符的表达式。比如要设置所有主机均能访问/var/www/html目录,则容器指令应表达为:

Order allow,deny

Allow from all

若要禁止所有主机通过Apache服务访问文件系统的根目录,则配置指令为:

Order deny,allow

Deny from all

目录名可使用“*”或“?”通配符,“*”代表任意个字符,但不能通配“/”符号。“?”代表一个任意的字符。比如要对所有普通用户的主目录下的public_html子目录进行配置,

则此时的容器指令应该表达为:

Order allow,deny

Allow from all

如果有多个容器配置段符合包含某文档的目录(或其父目录),那么指令将以最短目录、最先应用的规则进行应用。另外,还提供了一个名为的容器,其用法与相同,只是在指定目录名时,可直接使用正则表达式。若要使用正则表达式,则需要在正则表达式前加“~”符号。

容器

容器作用于指定的文件,而不管该文件实际存在于哪个目录。其命令用法:

……

文件名可以是一个具体的文件名,也可以使用“*”和“?”通配符。另外,还可使用正则表达式来表达多个文件,此时要在正则表达式前多加一个“~”符号。

比如配置文件中的以下配置,将拒绝所有主机访问位于任何目录下的以.ht开头的文件,如.htaccess和.htpasswd等系统重要文件。

Order allow,deny

Deny from all

该容器通常嵌套在容器中使用,以限制其所作用的文件系统范围。比如:

order allow,deny

Deny from all

以上配置将拒绝对html目录及其所有子目录下的private.html文件进行访问。

容器与用法相同,只是可以直接使用正则表达式来通配多个文件。

容器

Location容器是针对URL地址进行访问限制的,而不是Linux的文件系统。其命令用法:

……

比如要拒绝除61.186.160.105以外的主机,对URL以/assistant开头的访问,则配置命令为:

Order deny,allow

Deny from all

Allow from 61.186.160.105

容器中,/assistant代表Web站点根目录下的assistant目录。而在容器中,最左边的“/”代表的是Linux文件系统的根目录。通过以上设置后,除61.186.160.105主机外,对Web站点根目录下的assistant目录,以及对其下子目录中的页面访问,都将被禁止。

5.其它配置指令

1).htaccess文件

.hiaccess文件也称为分布式配置文件,在该文件中也可放置一些配置指令,以作用于该文件所在的目录以及其下的所有子目录。该文件可位于多个目录中,以分别对这些目录进行控制。功能上类似于容器,但容器不能用在.htaccess文件中,容器可以用于该文件。.htaccess文件是在httpd.conf配置文件中,由以下命令配置指定的。

AccessFileName .htaccess

在配置文件指定分布式配置文件.htaccess后,若站点的根目录为/var/www/html,当用户在浏览器中请求index.html页面时,服务器会在该文档的各个路径中去查找第一个存在的.htaccess配置文件,即Apache会试图打开/.htaccess、/var/.htaccess、/var/www/.htaccess、/var/www/html/.htacces。

对系统的配置均可在httpd.conf文件中实现,搜寻.htaccess文件会降低系统性能,可通过在中使用Allowoverride None命令,来禁止系统查找该文件。

Allowoverride None

Allowoverride命令用于设置原来设定的权限是否可以被.htaccess文件中的权限所覆盖,其选项有All和None两个。若设置为None,则不受.htaccess的权限覆盖,此时系统就不再寻找和读取.htaccess文件中的配置内容。

2)Options命令

Optinns命令控制在特定目录中将使用哪些服务器特性,通常用在容器中,其命令用法为“Options 功能选项列表”。可用的选项及功能如表8.1所示。对于Linux系统的根目录和Web站点根目录的访问控制,通常可设置为以下形式:

表8.1 Options命令可用的选项

Options FollowSymLinks

Allowoverride None

Order allow,deny

Deny from all

Options Indexes FollowSymLinks

Allowoverride None

Order allow,deny

Allow from all

8.3.3 配置虚拟主机

虚拟主机(Virtual Host)是指在一台主机上运行的多个Web站点,每个站点均有自己独立的域名,虚拟主机对用户是透明的,就好像每个站点都在单独的一台主机上运行一样。如果每个Web站点拥有不同的IP地址,则称为基于IP的虚拟主机;若每个站点的IlP地址相同,但域名不同,则称为基于名字或主机名的虚拟主机,使用这种技术,不同的虚拟主机可以共享同一个IP地址,以解决IP地址缺乏的问题。

要实现虚拟主机,首先必须用Listen指令告诉服务器需要监听的地址和端口,然后为特定的地址和端口建立一个段,并在该段中配置虚拟主机。

1.基于主机名的虚拟主机

基于主机名(域名)的虚拟主机是根据客户端提交的HTTP头中,关于主机名部分决定的。配置虚拟主机之前,应首先配置DNS服务器,让每个虚拟主机的域名,都能解析到当前服务器所使用的IP地址,然后再配置Apache服务器,使其能辨识不同的主机名即可。由于SSL协议自身的原因,基于主机名的虚拟主机不能做成SSL安全服务器。

l)虚拟主机的创建步骤

①在DNS服务器中为每个虚拟主机所使用的域名进行注册,让其能解析到服务器所使用的IP地址。

②在配置文件中使用Listen指令,指定要监听的地址和端口。Web服务器使用标准的80号端口,因此一般可配置为Listen 80,让其监听当前服务器的所有地址上的80端口。

③使用NameVirtualHost指令,为一个基于域名的虚拟主机指定将使用哪个IP地址和端口来接受请求。如果对多个地址使用了多个基于域名的虚拟主机,则对每个地址均要使用此指令。命令用法:“Name VirtualHost地址[:端口]”,端口号为可选项,若虚拟主机使用的是非标准的80号端口,则应明确指定所使用的端口号。比如,若基于域名的虚拟主机使用61.186.160.104这个IP地址,则指定方法为:“NameVirtualHost 61.186.160.104”。

另外也可表达为NameVirtualHost *。此处的“*”通配任意的IP地址。当IP地址无法确定时,使用“*”是很方便的,比如,若服务器使用的是动态IP地址,而域名也是使用动态域名解析时,因为“*”匹配任何IP地址,无论IP地址如何变化,都不需要修改虚拟主机的配置。

如果希望在一个IP地址上运行一个基于域名的虚拟主机,而在另外一个地址上运行一

个基于IP的或是另外一套基于域名的虚拟主机,此时就必须使用具体的IP地址,而不能使用“*”。

④使用容器指令定义每一个虚拟主机。容器的参数必须与NameVirtualHost后面所使用的参数保持一致。在容器中至少应指定ServerName和DocumentRoot,另外可选的配置还有ServerAdmin、DirectoryIndex、ErrorLog、CustomLog、TransferLog、ServerAlias、ScriptAlias等,大部分的配置命令都可用在容器中,但与进程控制相关的PidFile、TypesConfig、ServerRoot、Listen和NameVirtual不能使用。

2)虚拟主机的匹配方式

当一个请求到达时,服务器会首先检查它是否使用了一个能和NameVirtua1Host相匹配的IP地址。如果匹配,就会查找每个与这个IP地址相对应的配置段,并尝试找出一个ServerName或ServerAlias配置项与请求的主机名(域名)相同的,若找到则使用该虚拟主机的配置,并响应其访问请求,否则将使用符合这个IP地址的第一个列出的虚拟主机。从中可见,排在最前面的虚拟主机成为默认虚拟主机。当请求的IP地址与NameVirtua1Host指令中的地址匹配时,主服务器中的DocumentRoot将永远不会被用到,因此,若要在现有的Web服务器上增加虚拟主机,必须也要为主服务器提供的Web站点,创建一个配置块,在该虚拟主机中ServerName和DocumentRoot的内容应该与全局的ServerName和DocumentRoot保持一致,还要把这个虚拟主机放在所有的最前面,让其成为默认主机。

下面以几个具体的例子来说明基于IP地址的虚拟主机的应用,以及配置过程。

例子1:假设当前服务器的IP地址为192.168.168.154,现要在该服务器上创建两个基于域名的虚拟主机,使用端口为标准的80,其域名分别为https://www.360docs.net/doc/b45227653.html,和https://www.360docs.net/doc/b45227653.html,,站点根目录分别为/var/www/mywebl和/var/www/myweb2,日志文件分别放在/var/rhlogs/mywebl/和/var/rhlogs/myweb2/目录下面,Apache服务器原来的主站点采用域名https://www.360docs.net/doc/b45227653.html,进行访问。服务器配置步骤如下:

①注册虚拟主机所要使用的域名。

对于测试,可直接使用/etc/hosts名称解析文件来进行域名的注册。对用于Internet的虚拟主机域名,则应在位于Internet的DNS服务器上进行注册登记。编辑/etc/host文件,添加以下行“192.168.168.154 https://www.360docs.net/doc/b45227653.html, https://www.360docs.net/doc/b45227653.html, https://www.360docs.net/doc/b45227653.html,”。然后使用命令ping判断域名是否解析正常,如果能ping的通则表示域名解析正常。

[root@rh9 root]# vi /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 rh9 localhost.localdomain localhost

192.168.168.154 https://www.360docs.net/doc/b45227653.html, https://www.360docs.net/doc/b45227653.html, https://www.360docs.net/doc/b45227653.html,

[root@rh9 root]# ping https://www.360docs.net/doc/b45227653.html,

[root@rh9 root]# ping https://www.360docs.net/doc/b45227653.html,

[root@rh9 root]# ping https://www.360docs.net/doc/b45227653.html,

②创建所需的目录。

[root@rh9 root]# mkdir -p /var/rhlogs/myweb1

[root@rh9 root]# mkdir -p /var/rhlogs/myweb2

[root@rh9 root]# mkdir -p /var/www/myweb1

[root@rh9 root]# mkdir -p /var/www/myweb2

③编辑httpd.conf配置文件,设置Listen指令侦听的端口。

Listen 192.168.168.154:80

④在httpd.conf配置文件的第三部分中,添加对虚拟主机的定义。添加的配置内容为:

NameVirtualHost 192.168.168.154

ServerName https://www.360docs.net/doc/b45227653.html,

DocumentRoot /var/www/html

ServerAdmin webrnaster@https://www.360docs.net/doc/b45227653.html,

ServerName https://www.360docs.net/doc/b45227653.html,

DocumentRoot /var/www/mywebl

DirectoryIndex index.php index.html index.htm default.html default.html

ServerAdmin webmaster@https://www.360docs.net/doc/b45227653.html,

ErrorLog /var/vhlogs/mywebl/error_log

TransferLog /var/vhlogs/mywebl/access_log

ServerName https://www.360docs.net/doc/b45227653.html,

DocumentRoot /var/www/myweb2

Directorylndex index.php index.htm index.html default.htm default.html

ServerAdmin webmaster@https://www.360docs.net/doc/b45227653.html,

ErrorLog /var/vhlogs/myweb2/error_log

TransferLog /var/vhlogs/myweb2/access_log

利用DirectoryIndex可为每个虚拟主机独立设置各主页文件的解析顺序。

⑤对用于存放Web 站点的目录,设置访问控制。

Options FollowSymLinks

Allowoverride None

Order deny , allow

Allow from all

⑥保存httpd.conf配置文件,利用命令“apachectl -t”检查并确保虚拟主机配置正确。使用命令“service httpd restart”重启Apache服务器,以使配置生效。

⑦测试虚拟主机。

利用VI编辑器,在虚拟主机的站点根目录,分别创建index.html页面文件,并在页面的与之间输入不同的正文内容,以示区别。在图形界面下启动浏览器,然后在地址栏中分别键入https://www.360docs.net/doc/b45227653.html,、https://www.360docs.net/doc/b45227653.html,和https://www.360docs.net/doc/b45227653.html,并回车,若能看到index.html页面的内容,则虚拟主机创建成功。

配置段中,可以单独为每个虚拟主机指定日志文件,若未指定,则日志统一记录在主日志文件中。主日志文件默认位于/etc/httpd/logs目录下,文件名分别为error_log和access_log。

当虚拟主机很多,而且每个主机又都使用了不同的日志文件时,Apache可能会遇到耗

尽file handles的情况,从而无法创建文件。Linux/UNIX操作系统限制了每个进程可以使用的filehandles的数量,典型上限为64个,但可以扩充,直至到达一个很大的硬限制为止。若服务器上的虚拟主机很多,为防止日志文件过多,也可在配置段中不指定,而统一记录在系统的主日志文件中,此时为了记录该日志是哪一个虚拟主机产生的,应修改日志的记录内容和格式,并在日志内容的最开头添加“%v”变量,以记录虚拟主机的名称。

当需要分析阅读日志文件时,可使用split-logfile程序,将日志按虚拟主机名分组,拆分成一个个独立的日志文件,每个日志文件采用“虚拟主机名.log”形式命名,其中包含了该虚拟主机所产生的日志记录。

例子2:现有某企业的服务器,配有两块网卡,IP地址分别为内网的192.168.168.10和外网地址61.186.160.104,在Internet网中,企业域名https://www.360docs.net/doc/b45227653.html,指向61.186.160.104地址,在企业内网的DNS服务器中,同样的域名指向192.168.168.10。现要求为来自内网和外网的请求提供同样的Web服务。实现方法:在企业内网中应配置一个DNS服务器,并对https://www.360docs.net/doc/b45227653.html,域名进行注册,使其解析到192.168.168.10地址。对于不能解析的域名,该DNS服务器应向上级DNS服务器提交域名解析请求。内网中的主机应配置DNS客户为内网DNS服务器的地址,以便在请求域名https://www.360docs.net/doc/b45227653.html,时,能优先解析为192.168.168.10,这样才能通过内网访问服务器。

要实现上述功能,用户需要在httpd.conf配置文件中,添加以下虚拟主机配置:

NameVirtualHost 192.168.168.10

NameVirtualHost 61.186.160.104

DocumentRoot /var/www/Serverl

ServerName https://www.360docs.net/doc/b45227653.html,

例子3:当前服务器的IP地址为192.168.168.154,现要在该服务器上创建两个基于域名(主机名)的虚拟主机,域名分别为https://www.360docs.net/doc/b45227653.html,和https://www.360docs.net/doc/b45227653.html,,每个虚拟主机的80端口和8080端口,分别服务一个Web站点,其站点根目录分别为/var/www/myweb3-80、/var/www/myweb3-8080、/var/www/myweb4-80、/var/www/myweb4-8 080。https://www.360docs.net/doc/b45227653.html,的80端口作为默认Web站点。服务器配置步骤如下:

①在/etc/hosts文件中注册虚拟主机所要使用的域名,并测试是否能够解析。

②分别在/var/www下面创建所需的子目录:myweb3-80、myweb3-8080、myweb4-80、myweb4-8080。

③编辑httpd.conf配置文件,设置Listen指令侦听的端口。

Listen 192.168.168.154:80

Listen 192.168.168.154:8080

④在httpd.conf配置文件的第三部分中,添加对虚拟主机的定义。添加的配置内容为:

NameVirtualHost 192.168.168.154:80

NameVirtualHost 192.168.168.154:8080

ServerName https://www.360docs.net/doc/b45227653.html,

DocumentRoot /var/www/myweb3-80

ServerName https://www.360docs.net/doc/b45227653.html,

DocumentRoot /var/www/myweb3-8080

ServerName https://www.360docs.net/doc/b45227653.html,

DocumentRoot /var/www/myweb4-80

ServerName https://www.360docs.net/doc/b45227653.html,

DocumentRoot /var/www/myweb4-8080

⑤保存httpd.conf配置文件,利用命令“apachectl -t”检查并确保虚拟主机配置正确。使用命令“service httpd restart”重启Apache服务器,以使配置生效。

⑥利用VI编辑器,在虚拟主机的站点根目录,分别创建index.html页面文件,并在页面的与之间输入不同的正文内容,以示区别。

⑦测试虚拟主机。

利用域名虚拟主机,结合使用不同的端口,同一个IP地址,可以创建出很多Web站点。在目前实际应用的虚拟主机服务中,对于同一个域名,通常开放了几个端口,80端口服务于该域名的主Web站点,而将8080或其它端口提供的网站,用作对主网站的后台管理或用于提供该域名的基于Web的E-mail服务。

2.基于IP地址的虚拟主机

基于IP的虚拟主机拥有不同的IP地址,这就要求服务器必须同时绑定多个IP地址。这可通过在服务器上安装多块网卡,或通过虚拟IP接口(Red Hat Linux将其称为IP别名)来实现,即在一张网卡上绑定多个IP地址。有两种配置方法使Apache支持基于IP地址的虚拟主机,一是为每个主机运行一个httpd守护进程,各守护进程的配置文件不同,分别以不同的User、Group、Listen和ServerRoot来运行,并通过Listen指令来指定为哪个IP地址和端口的虚拟主机服务。该方法适合于虚拟主机彼此间安全性要求很高的场合。启动httpd 守护进程时,可使用命令“httpd -f 配置文件名及路径”来指定所要加载的配置文件:另一种方法是使用一个httpd守护进程来支持所有的虚拟主机。在服务器需要为大量请求服务的情况下,该方法可以获得较高的性能。下面主要针对该方法介绍基于IP地址的虚拟主机的实现方法。

例子4:当前服务器有192.168.167.156和192.165.167.157两个IP地址,对应的域名分别为https://www.360docs.net/doc/b45227653.html,和https://www.360docs.net/doc/b45227653.html,,试为其创建基于IP地址的虚拟主机,端口使用80。这两个站点的根目录分别为/var/www/example2和/var/www/example3。

服务器配置步骤如下:

①注册虚拟主机所要使用的域名。编辑/etc/hosts文件,在文件中添加以下两行内容:

192.168.167.156 https://www.360docs.net/doc/b45227653.html,

192.168.167.157 https://www.360docs.net/doc/b45227653.html,

②创建Web站点根目录/var/www/example2和/var/www/example3。。

③编辑httpd.conf配置文件,保证有以下Listen指令。

Listen 80

④配置虚拟主机。

ServerName https://www.360docs.net/doc/b45227653.html,

DocumentRoot /var/www/example2

ServerName https://www.360docs.net/doc/b45227653.html,

DocumentRoot /var/www/example3

⑤在/var/www/example2和/var/www/example3目录中,利用vi编辑器创建index.html 主页文件。

⑥重启Apache服务器,然后测试虚拟主机。若键人http://localhost,返回的将是服务器的主站点的主页内容。

基于IP地址的虚拟主机,可以使用域名访问,也可使用IP地址访问。基于主机名的虚拟主机,应采用域名访问,若使用IP地址,则访问的是服务器的主站点。另外,在同一台主机上,还可以混用基于域名的虚拟主机和基于IP地址的虚拟主机。

8.3.4 Apache服务器的启停与测试

1.启动Apache服务器

在安装后,可以利用以下的方法来启动,并查看是否启动成功。

[root@rh9 root]# /etc/rc.d/init.d/httpd

{start|stop|restart|condrestart|reload|status|fullstatus|graceful|help

|configtest}

[root@rh9 root]# /etc/rc.d/init.d/httpd start

启动httpd:[ 确定]

[root@rh9 root]# ps -aux | grep httpd

(USER PID% CPU% MEM VSZ RSS TTY STA T START TIME COMMAND) root 6336 1.8 2.4 19516 8188 ? S 14:36 0:00 /usr/sbin/httpd apache 6339 0.0 2.4 19540 8216 ? S 14:36 0:00 [httpd]

……

apache 6346 0.0 2.4 19540 8216 ? S 14:36 0:00 [httpd]

root 6348 0.0 0.1 4816 640 pts/5 S 14:36 0:00 grep httpd

2.重启Apache服务器

可以利用以下的方法重新启动Apache服务器。

[root@rh9 root]# service httpd restart

停止httpd:[ 确定]

启动httpd:[ 确定]

3.停止Apache服务器

可以利用下面的方法关闭Apache服务器。

[root@rh9 root]# /etc/rc.d/init.d/httpd stop

停止httpd:[ 确定]

4.开机时自动启动Apache服务器

因为Web服务在服务器中是相当重要的,所以在一般情况下应该设置为开机时自动启

动,以节约每次手动启动的时间,并且避免因为忘记启动而导致的服务器停止。这里仅介绍使用命令chkconfig的实现方法。

[root@rh9 root]# chkconfig --level 35 httpd on

[root@rh9 root]# chkconfig --list httpd

httpd 0:关闭1:关闭2:关闭3:启用4:关闭5:启用6:关闭

5.测试Apache服务器

在客户端使用的Web浏览器中输入Apache服务器的IP地址进行访问,如出现Apache 的测试页面,如图8-18所示,则表示Apache服务器安装正确并且已经正常工作。

图8-18 Apache的测试页面

8.3.5 图形化配置Apache服务器

Apache简单的配置可以使用图形配置工具,依次单击【系统】→【管理】→【服务器设置】→【HTTP服务器】,或者在X Window环境下直接执行“apacheconf”命令,就可启动如图8-19所示的图形配置管理工具。

图8-19 Apache图形配置工具

Apache服务器图形配置工具包括主、虚拟主机、服务器、调整性能等几个选项卡,每个选项卡都包含不同功能的配置。

1.“主”选项卡

1)服务器名

在服务器名输入框中输入服务器的名字,这个名字应该是一个完全符合域名规则的名字,这里服务器名的设置与Apache的主配置httpd.conf中的ServerName指令对应。这个名字是Web服务器的主机名。如果不指定服务器名,则Apache服务器使用从系统获得的IP 地址表示Apache服务器。Apache服务器的名字不一定必须是计算机的IP地址所对应的实际域名。

2)网主电子邮件地址

输入负责维护Apache服务器的管理员的E-mail地址。这个选项对应于httpd.conf配置文件中的ServerAdmin指令。如果在服务器的出错页面上包含了这个E-mail地址作为联系用电子邮件,则发现错误的用户可以向Apache服务器的管理员发送电子邮件报告问题。默认地址是root@localhost。

3)可用地址

设置Apache服务器进程监听客户端时使用的IP地址和端口号码。默认会在所有IP地址上的80连接端口进行监听。这个选项对应于配置文件httpd.conf中的listen指令。

单击【添加】按钮,弹出如图8-20所示的窗口,可以添加其它接受请求的端口。也可以选择监听所有地址的上的某个端口,或者选择监听指定地址上的指定端口,不过每个端口只能指定一个IP地址。如果要为多个IP地址指定相同的监听端口,则必须为每个IP地址添加一条监听端口记录。推荐使用IP地址而不是域名,避免DNS解析失败造成的服务器不能正常工作和访问。如果在地址框中输入“*”,则与选择“监听所有地址”作用相同。

单击【编辑】按钮,弹出选中监听端口记录的编辑窗口,可以修改IP地址或者端口设置。单击【删除】按钮,可以删除选中的监听端口记录。如果是1024以上的端口做为监听端口,则可以由普通用户启动HTTP服务器,否则须以root账户启动HTTP服务器。

图8-20 添加新的监听端口

2.“虚拟主机”选项卡

该选项卡是用来管理虚拟主机的一大利器,在窗口中的“虚拟主机”列表中列出了目前Apache服务器上建立的所有虚拟主机名称及地址,如图8-21所示。

图8-21 添加新的监听端口

1)编辑默认设置

在新建虚拟主机前,必须事先定义虚拟主机的默认内容,而这些设置也会自动套用在此后所有新建的虚拟主机中。如果要编辑虚拟主机的默认内容,首先单击“虚拟主机”选项卡左下角的【编辑默认设置】按钮,则系统会出现“虚拟主机的属胜”窗口,如图所示。这也是一个包含多个选项的窗口,包括:站点配置、记录日志、环境和性能。下面分别说明这些选项的作用。

①“站点配置”选项

在右侧窗口的“目录搜索列表”中,可用定义客户端连接到服务器时默认启动的网页,这与httpd.conf文件中的“DirectoryIndex”功能相同,可用利用右侧的按钮来添加、编辑或删除列表内容项目,如图8-22所示。

另一个列表中包含的是网页发生错误时响应客户端的信息,它与httpd.conf文件中的“ErrorDocument”功能相同。如果希望修改错误信息的内容,首先由列表选中错误信息,然后单击【编辑】按钮,系统会出现“ApacheConf.py”窗口,如图8-23所示。在“ApacheConf.py”窗口中,可从“行为”下拉列表中选择“默认”(使用原来错误信息)、“文件”(使用指定的文件内容)或“URL”(导向外面的URL),然后在“位置”字段中输入对应的文件路径。

而最后的“默认错误页页脚”下拉列表,可用来选择错误信息中的页尾内容,可以选择加入默认页尾、管理员电子邮件地址或不显示页尾等。

图8-22 “站点配置”选项卡

图8-23 “ApacheConf.py”窗口

②“记录日志”选项

“记录日志”选项卡如图8-24所示。在右侧窗口的“传输日志”选项组中,可以设置记录客户端访问的方式,这与httpd.conf中的“TransferLog”功能相同,可以选择记录到文件、记录到程序或系统记录文件。“使用定制记录设施”选项与httpd.conf中的“LogFormat”功能相同,可以定制的错误格式输入到“定制日志字串”字段中。

图8-24 “记录日志”选项卡

在“错误日志”选项组中,可以设置记录错误事件的方式,这个与httpd.conf中的“LogLevel”功能相同,可以选择记录到文件、记录到程序或系统记录文件。

“记录等级”下拉列表可以用来选择记录时使用的类型,这与httpd.conf文件中的“TransferLog”功能相同,可以选择的类型有Emergency、Alert、Critical、Error、Warm、Notice、Info和Debug等。

“逆向DNS查询”下拉列表与httpd.conf中的“HostnameLookups”功能相同,可以在此设置是否允许Apache服务器在接受客户端请求时,向DNS服务器请求反向解析客户端的IP地址。

③“环境变量”选项卡

在右侧“为CGI脚本设置”窗口中会列出目前系统已经设置的环境变量,这些环境变量时提供给CGI或SSI网页使用的,如图8-25所示。

图8-25 “环境变量”选项卡

如果要新建环境变量,可以单击【新建】按钮,则系统会出现“环境变量”窗口,以供输入环境变量及其值,这与httpd.conf文件中的“SetEnv”功能相同,如图8-26所示。

图8-26 新建环境变量及赋值图8-28 “目录选项”窗口“传递给CGI脚本”列表中显示的环境变量值,会在Apache服务器第一次启动CGI 程序时传入,它与httpd.conf文件中的“PassEnv”功能相同。可以输入“env”指令来查看已传入的环境变量值。

“解除CGI程序代码的设置”列表,用来设置要删除的环境变量。这样,这些环境变量便不再提供给CGI或SSI网页使用,这与httpd.conf文件中的“UnsetEnv”功能相同。

④目录

这个选项卡的功能httpd.conf文件中的区块相同,都是用来设置指定目录的配置内容,如图8-27所示。

图8-27 “目录”选项卡

在窗口上方的“默认目录选项”下,显示的是所有目录的默认选项(但下方列表中的目录选项可以覆盖此处的设置),其默认值为ExecCGI、FollowSymLinks、Includes、IncludesNOEXEC、Indexes和SymLinksIf OwnerMatch等。如果要修改默认值,可以单击右侧的【编辑】按钮,然后在出现的“目录选项”窗口中选择或取消指定的选项,如图8-28所示。

图8-29 新建目录及选项

在“目录”下显示的是定制选项的目录名称,如果要在此处新建目录及选项,可以单击右侧的【添加】按钮,然后系统会出现“目录选项”窗口,如图8-29所示。在“目录选项”窗口中,必须设置访问此目录时的顺序、目录名称、目录选项及其他内容。

2)虚拟主机设置

“虚拟主机”选项卡中的另一项功能为虚拟主机的设置,在“虚拟主机”列表中显示目前Apache服务器上已经建立的虚拟主机,而要新建其它虚拟主机,可以单击窗口右侧的【新建】按钮,则系统会出现“虚拟主机的属性”窗口,如图所示。在出现的“虚拟主机的属性”

监视并记录Apache网站服务器的运行

监视并记录Apache网站服务器的运行 LogFormat 指令承诺你告诉Apache你想要记录要求的哪些方面。而你仍需附加的指令来告诉Apache在哪里记录那些信息,这在下一章中将会介绍。下面的例子显示了两种最受欢迎的格式的配置:一般日志格式和整合日志格式。当Apache收到一个要求,他将会用相应的要求属性来替代以%为前缀的每一个域。假如您正在使用一般日志格式,您的日志文件里 尽管有附件提供日志格式的详尽索引,下表描述了一些最为重要的域: # %h: 客户端(例如,扫瞄器)向服务器发出连接要求时自己的当时的IP地址或域名(需开启HostNameLookups)。 # %u: 使用方式认证用户时,记录下的用户的编号。 # %t: 服务器同意到连接要求的时刻。 # %r: 客户端发出的原始连接要求中的文本信息,包含所使用的方法。 # %>s: 服务器应答扫瞄器后的返回状态代码,200表示要求成功。. # %b: 服务器应答扫瞄器发出的单个要求的回传对象的内容大小(字节为单位),不统计数据包头部字节。 整合日志格式在一般日志格式的基础上扩展出了两个附加的域。定义为: # %{Referer}i: 连接要求数据包包头,包含指向当前页面的文档关联信息。 # %{User-agent}i: 用户代理连接要求数据包包头,包含客户扫瞄器的信息。 创建一个自定义日志文件 您可能会想创建Apache自带以外的新的日志文件。下面的例子将运用CustomLog来创建一个新的日志文件,并储存由一个之前定义好的日志格式,即前一章提到的common,所定义的信息。您还能够用格式本身的定义来替换昵称。一个附加的,更为简单的指令是Transferlog,它只同意最后一个LogFormat指令提供的定义。

搭建Apache服务器

实训时间:2010年6月28日上午 搭建Apache服务器 实验目的 1.掌握配置用户个人站点的方法; 2.掌握配置目录访问控制与用户认证的方法; 3.掌握基于IP地址不同端口的虚拟主机的架设方法; 4.掌握基于不同IP地址的虚拟主机的架设方法; 实验内容 根据Apache服务器的默认设置,Web站点的相关文件保存在/var/www目录,而Web站点的日志文件保存于/var/log/httpd目录。安装安装Apache服务并进行相应的设置。 实验准备 两台计算机,一台安装RHEL Server5,另一台安装Windows XP。 一、建立Apache服务器的应用环境 1.安装Apache服务器软件包 (1)以超级用户登录到字符界面,输入“rpm -qa|grep httpd”命令,查看是否已安装Apache软件包,如没安装,则进行下一步。 (2)利用mount命令挂载安装光盘,依次输入如下命令: mount -t iso9660 /dev/cdrom /mnt rpm –ivh /mnt/Server/apr-1.2.7-11.i386.rpm rpm –ivh /mnt/Server/apr-util-1.2.7-6.i386.rpm rpm –ivh /mnt/Server/httpd-2.2.3-6.el5.i386.rpm 2.设置RHEL Server5计算机,其IP地址为192.168.0.10,子网掩码为255.255.255.0;允 许www服务通过防火墙,关闭SELinux,并启动Apache服务器。 (1)超级用户在字符界面输入“setup”命令,启动文字模式的系统设置程序。使用方向键将光标移至“Network configuration”(网络配置)选项,按回车,显示网卡信息。(2)选中网卡,再次按回车,出现网卡配置界面,按Tab键将光标移至“Use DHCP” 后的“*”,按[Space]键取消选择,然后在“Static IP”后输入IP地址“192.168.0.10”,在“Netmask”后输入掩码“255.255.255.0”。然后按Tab键将光标移至“OK”按钮按回车键,保存网卡设置。 (3)回到网卡设备选择界面,移动光标至“Quit”按回车。回到工具选择界面,选择“Firewall configration”(防火墙配置)选项按回车,出现防火墙配置界面,移动光标至“Disabled”,并按【Space】键选择此项。 (4)移动光标至“Customize”按钮按回车,出现防火墙自定义配置界面,选中“www” 选项。最后关闭此程序。 (5)为让系统设置起效,重启计算机。 3.测试Apache服务器。 在Windows计算机中启动IE浏览器,在地址栏中输入RHEL Server5主机的IP地址,将显示/var/www/html目录下index.html文件的内容。 二、配置个人Web站点。 1.配置Apach服务器,允许Linux用户架设其个人Web站点。 超级用户首先备份配置文件httpd.conf,输入命令“cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.back”,以保证即使Apache服务器的配置错误也可以恢复初始设置。(1)输入“vi /etc/httpd/conf/httpd.conf”。 (2)在vi 命令模式下输入“/mod_userdir.c”按回车,查找文件中的“mod_userdir.c”字符

Apache服务器配置实验报告

在Linux下配置Apache服务器 一、实验目的 完成本次实训,将能够: ●配置基本的Apache服务器 ●配置个人用户Web站点。 ●配置虚拟目录别名功能。 ●配置主机访问控制。 ●配置用户身份验证功能.。 ●配置基于IP地址的虚拟主机. 二、实验环境 1、RedHat Linux4AS. 2、Apache 2.0 三、实验内容 1.配置基本的Apache服务器 2.配置个人用户Web站点。 3.配置虚拟目录别名功能。 4.配置主机访问控制。 5.配置用户身份验证功能.。 6.配置基于IP地址的虚拟主机。 四、实验要求 在Linux操作系统下配置Apache服务器。 五、注意事项 1.在修配置文件下注意区分大小写、空格。 2.在每次重新开机后都必须启动Apachec服务器。 3.在每次修改完主配置文件后保存起来,必须重启Apachec服务器,如果不重启会 导致配置无效,最终导致实验失败。 六、实验步骤 1、检测是否安装了Apache软件包: A、首先为服务器网卡添加一个固定的IP地址。 B、在Web浏览器的地址栏中输入本机的IP地址,若出现Test Page测试页面(该 网页文件的默认路径为var/www/html/index.html)如下图1所示就说明Apache 已安装并已启动。

另一种方法是使用如下命令查看系统是否已经安装了Apache软件包: [root@rhe14~]# rpm –aq | grep httpd Httpd-suexec-2.0.52-9.ent Httpd-manual-2.0.52-9.ent System-config-httpd-1.3.1-1 Httpd-devel-2.0.52-9.ent 出现以上内容表明了系统已安装Apache软件包。 2、安装Apache软件包 超级用户(root)在图形界面下选择“应用程序”|“系统设置”|“添加/删除应用程序”命令,选择“万维网服务器”软件包组,在单击“更新”按钮就可以安装与Apache相关的软件包。 3、Apache的基本配置 (1)打开终端输入[root@rhe14~]# /etc/rc.d/init.d/httpd start //启动Apache 或者 [root@rhe14~]# apachectl start //启动Apache [root@rhe14~]# apachectl stop //停止Apache服务 [root@rhe14~]# apachectl restart //重启Apache服务 [root@rhe14~]# apachectl configtest //测试Apache服务器配置语法(2)在httpd.conf将Apache的基本配置参数修改、将一些注释的语句取消注释,或将某些不需要的参数注释掉。 (3)将包括index.html在内的相关网页文件复制到指定的Web站点根目下(var/www/html/index.html) (4)重启httpd进程 (5) 在Web浏览器下输入配置的ip地址出现如下图2,那表明基本配置成功了:

Linux下Apache服务器的安装和配置

【实验8】Apache服务器的安装和配置 一、实验目的: 1.掌握Apache Web服务器的安装和配置。 2.使用虚拟主机在同一台服务器上架设多个网站。 二、【实验环境】 1.虚拟机软件VM Ware 6.0,Redhat Enterprise Linux虚拟机或光盘镜像文 件。 2.2台以上机器组成的局域网。 三、【实验原理】 (一)Apache服务简介 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web 服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 (二)虚拟主机 所谓虚拟主机,也叫“网站空间”就是把一台运行在互联网上的服务器划分成 多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务 器(支持WWW、FTP、E-mail等)功能。一台服务器上的不同虚拟主机是各自 独立的,并由用户自行管理。 虚拟主机技术是互联网服务器采用的节省服务器硬体成本的技术,虚拟主机 技术主要应用于HTTP服务,将一台服务器的某项或者全部服务内容逻辑划分 为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬体资源。如果 划分是系统级别的,则称为虚拟服务器。

(三)Linux中虚拟主机的分类 1、基于IP地址的虚拟主机 如果某公司有多个独立的IP地址可用,那么可以用不同的IP地址来配置虚拟主机。 2、基于端口的虚拟主机 如果只有一个IP地址,但是要架设多个站点,可以使用端口来区分,每个端口对应一个站点。这样配置的话,用户在访问的时候必须在 URL中指明端口号才能访问相应的网站。 3、基于名称的虚拟主机 使用基于IP地址或者端口的虚拟主机,能够配置的站点数目有限,而使用基于名称的虚拟主机,可以配置任意数目的虚拟主机,而不需要 额外的IP地址,也不需要修改端口号。 四、实验步骤 本实验请勿使用【系统】→【管理】→【服务器设置】中的【HTTPD】工具来配置,否则后果自负! (一)Apache服务器的启动 1、测试是否已安装Apache服务器: [root@localhost ~]#rpm –qa httpd 2、启动Apache服务器: [root@localhost ~]#service httpd start (二)基于端口的虚拟主机的配置 1、在/etc/httpd目录中,建立一个名为vhostconf.d的子目录,用来存放虚拟 主机的配置文件。 2、在/var/www目录中,建立一个名为websites的子目录,用于存放网站源 文件;在website目录下再建立ipvhost1和ipvhost2文件夹,用于区分各 个站点。

LinuxApacheWeb服务器配置教程

LinuxApacheWeb服务器配置教程 Linux阿帕奇网络服务器配置教程 阿帕奇的主要特点 根据著名的万维网服务器研究公司进行的一项调查,全世界50%以上的万维网服务器使用阿帕奇,排名世界第一。 阿帕奇的出生非常戏剧化。当NCSA万维网服务器项目停止时,那些使用NCSA万维网服务器的人开始用他们的补丁来交换服务器,他们很快意识到有必要建立一个论坛来管理这些补丁。就这样,阿帕奇集团诞生了,后来这个集团在NCSA的基础上建立了阿帕奇。 阿帕奇的主要特点是: 。可以在所有计算机平台上运行; 。支持最新的HTTP 1.1协议; 简单而强大的基于文件的配置; 。支持通用网关接口CGI 。支持虚拟主机; 。支持HTTP认证; 。集成的Perl脚本编程语言; 。集成代理服务器; 。拥有可定制的服务器日志;。支持服务器端包含命令。支持安全套接字层。用户会话过程的跟踪能力;支持FastCGI。支持Java小服务程序。 安装Apache流程

安装Apache 接下来,我们将开始征服阿帕奇的漫长旅程。我们将一步一步地学习使用Apache,从介绍到掌握,通过需求的一步一步的例子。 系统需求 运行Apache不需要太多的计算资源。它运行良好的Linux系统有6-10MB的硬盘空间和8 MB的内存。然而,单独运行Apache可能不是您想要做的。更有可能的是,您希望运行Apache来提供WWW服务,启动CGI流程,并充分利用WWW所能提供的所有惊人功能。在这种情况下,您需要提供额外的磁盘空间和内存空间来反映负载要求。换句话说,它不需要太多的系统资源来启动WWW服务,但是它需要更多的系统资源来为大量的客户提供服务。获取软件 你可以呆在 错误日志命令用于指定错误日志文件名和路径。 命令格式:错误日志[日志文件名] 示例:错误日志/var/ srm.conf Srm.conf是一个资源配置文件,它告诉服务器您想在WWW站点上提供什么资源,在哪里以及如何提供这些资源。 DocumentRoot命令指定主文档的地址。 命令格式:文档根[路径] 示例:文档根目录/主页/ UserDir命令,用于指定个人主页的位置。如果你有一个用户测试,

Apache服务器的安装与配置

Apache服务器的安装与配置 一、安装Apache 双击可执行文件apache_1.3.33-win32-x86-no_src.exe,将Apache服务器软件安装至C:\Apache目录下。 二、设置C:\apache\conf\httpd.donf文件 修改Apache的核心配置文件c:\apache\conf\httpd.conf(说明一点:“#”为Apache的注释符号)。修改方法如下: 1、寻找到ServerName。这里定义你的域名。这样,当Apache Server运行时,你可以在浏览器中访问自己的站点。如果前面有#,记得删除它。 2、寻找到ServerAdmin。这里输入你的E-Mail地址。 (以上两条在安装时应该已经配置好了,所以不必改动,这里介绍一下,主要是为了日后的修改) 3、寻找到。向下有一句Options,去掉后面所有的参数,加一个All(注意区分大小写!A 大写,两个l小写。下同。);接着还有一句Allow Override,也同样去掉后面所有的参数,加一个All。 AllowOverride All Options All Order allow,deny Allow from all 4、寻找到DocumentRoot。这个语句指定你的网站路径,也就是你主页放置的目录。你可以使用默认的,也可以自己指定一个,但记住,这句末尾不要加“/”。此外注意,路径的分隔符在Apache Server里写成“/”。(将DocumentRoot "C:/apache/htdocs"改为DocumentRoot "C:/try") 5、寻找到DirectoryIndex。这就是你站点第一个显示的主页,在index.html的后面加入index.htm index.php index.php3 index.cgi index.pl。注意,每种类型之间都要留一空格!这里添加好了,以后就不用再麻烦了。 6、port(端口号),如果没安装IIS的话,就保持80不要变,否则,就要改一下(因为IIS的WEB服务占据了80),可以改成81等等。 三、Apache的手动启动和停止 Net start apache启动apache服务,Net stop apache停止apache服务。

apache实验

RHCE实验文档— APACHE配置 实验一: 实现安全的APACHE( https ) 实验环境: Redhat 6.0平台 软件包: httpd-2.2.15-5.el6.x86_64.rpm mod_ssl.x86_64 1:2.2.15-5.el6.rpm 实验要求: 搭建一个基本的web服务,并且能够实现通过https协议访问. 步骤一: 安装软件包 [root@station ~]# yum -y install httpd mod_ssl 步骤二: 查看配置文件中证书路径是否启用. [root@station ~]# vim /etc/httpd/conf.d/ssl.conf # certificate can be generated using the genkey(1) command. SSLCertificateFile /etc/pki/tls/certs/localhost.crt –公钥 # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) SSLCertificateKeyFile /etc/pki/tls/private/localhost.key –私钥 注:红色字体分别指出了公钥和私钥的路径,在企业六中默认自动创建了这两个证书. 可以直接使用这两个自签证书. 步骤三:创建用于测试的主页面: [root@station ~]# echo "this is test for https" >/var/www/html/index.html 步骤四:启动服务并将服务设置为开机自启动 [root@station ~]# service httpd start Starting httpd: [ OK ] [root@station ~]# chkconfig httpd on 步骤五:测试 总结:实验到第五步就已经实现了一个最基本的https的web服务器,在实际生产环境中,证书部分可以通过搭建CA证书服务器来签发,或者向第三方的权威CA服务器来申请,从而提高证书的可信性.如果使用第三方的证书时,大家需要注意调整证书的路径. 实验二:创建基于不同域名的虚拟主机 实验环境: Redhat 6.0平台 软件包: httpd-2.2.15-5.el6.x86_64.rpm

三大WEB服务器对比(apache_,lighttpd,nginx)

三大WEB服务器对比分析(apache ,lighttpd,nginx)一.软件介绍(apache lighttpd nginx) 1. lighttpd Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。 Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。 Fastcgi的优点在于: ·从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑. ·从安全性上看, fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮, ·从性能上看, fastcgi把动态逻辑的处理从server中分离出来, 大负荷的IO处理还是留给宿主server, 这样宿主server可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态IO处理完全不需要逻辑程序的参与(注1) ·从扩展性上讲, fastcgi是一个中立的技术标准, 完全可以支持任何语言写的处理程序(php,java,python...) 2.apache apache是世界排名第一的web服务器, 根据netcraft(https://www.360docs.net/doc/b45227653.html,)所作的调查,世界上百分之五十以上的web服务器在使用apache. 1995年4月, 最早的apache(0.6.2版)由apache group公布发行. apache group 是一个完全通过internet进行运作的非盈利机构, 由它来决定apache web服务器的标准发行版中应该包含哪些内容. 准许任何人修改隐错, 提供新的特征和将它移植到新的平台上, 以及其它的工作. 当新的代码被提交给apache group时, 该团体审核它的具体内容, 进行测试, 如果认为满意, 该代码就会被集成到apache的主要发行版中. apache 的特性: 1) 几乎可以运行在所有的计算机平台上. 2) 支持最新的http/1.1协议 3) 简单而且强有力的基于文件的配置(httpd.conf). 4) 支持通用网关接口(cgi) 5) 支持虚拟主机.

Apache服务器配置技巧

1、如何设置请求等待时间 在httpd.conf里面设置: TimeOut n 其中n为整数,单位是秒。 设置这个TimeOut适用于三种情况: 2、如何接收一个get请求的总时间 接收一个post和put请求的TCP包之间的时间 TCP包传输中的响应(ack)时间间隔 3、如何使得apache监听在特定的端口 修改httpd.conf里面关于Listen的选项,例如: Listen 8000 是使apache监听在8000端口 而如果要同时指定监听端口和监听地址,可以使用: Listen 192.170.2.1:80 Listen 192.170.2.5:8000 这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。 当然也可以在httpd.conf里面设置: Port 80 这样来实现类似的效果。 4、如何设置apache的最大空闲进程数 修改httpd.conf,在里面设置: MaxSpareServers n 其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。 同时也可以设置: MinSpareServers n 来限制最少空闲进程数目来加快反应速度。 5、apache如何设置启动时的子服务进程个数 在httpd.conf里面设置: StartServers 5 这样启动apache后就有5个空闲子进程等待接受请求。 也可以参考MinSpareServers和MaxSpareServers设置。 6、如何在apache中设置每个连接的最大请求数 在httpd.conf里面设置: MaxKeepAliveRequests 100 这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。 7、如何在apache中设置session的持续时间 在apache1.2以上的版本中,可以在httpd.conf里面设置: KeepAlive on KeepAliveTimeout 15 这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp

Apache服务器配置毕业设计

A p a c h e服务器配置毕 业设计 目录 摘要 ................................................................................................................ 错误!未定义书签。 1 综述 (1) 1.1 架设WWW网站的意义 (1) 1.2 WWW的工作原理 (1) 1.3 在Linux下构建WWW服务器 (2) 1.3.1 关于硬件配置 (2) 1.3.2 将linux用作www服务器 (2) 2 Red Hat Linux的安装与使用 (4) 2.1 Red Hat Linux9.0简介 (4) 2.1.1 Red Hat Linux的网络功能 (6) 2.1.2 Red Hat Linux的文件类型 (9) 2.2 Red Hat Linux9.0的安装和配置 (11) 2.2.1 合理划分分区 (11) 2.2.2 了解相关信息 (12) 2.2.3 图形化安装过程 (13) 3 WWW服务器的建立 (27) 3.1 Apache的体系结构及性能 (27) 3.1.1 Apache的体系结构 (27) 3.1.2 Apache性能简介 (28) 3.2 配置并启动Apache (31) 3.2.1 配置文件httpd.conf (31) 3.2.2 Apache服务的安装、启动与停止 (32) 3.3 设置用户个人主页 (33) 3.3.1设置Linux系统用户个人主页的目录 (33) 3.3.2设置用户个人主页所在目录的访问权限 (33) 3.4 设置虚拟主机 (34) 3.4.1 配置DNS (34) 4 建立和完善WWW站点 (42) 4.1建立安全传输的WWW站点 (42) 4.1.1认识SSL安全协议 (42) 4.1.2 维护站点安全性应注意的问题 (42) 5 结论 (44) 致谢 ................................................................................................................ 错误!未定义书签。参考文献.. (45) 8

apache服务器的安装与配置实验报告

实验报告---apache服务器配置 一、实验目的: Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web 服务器软件之一。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache的开发遵循GPL协议,由全球志愿者一起开发并维护。它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。 支持最新的HTTP1.1通信协议;强大的可配置性和可扩展性;提供全部源代码和不受限制的使用许可;通过第三方模块可以支持Java Servlets;广泛的应用和支持多种平台。 因此做这个实验的目的是为了熟悉apache服务器的配置,通过实验来加深对它的了解。 二、实验内容: (一)、Apache服务器的安装、启动与停止 (二)、配置用户个人主页 (三)、配置虚拟主机:a、创建基于IP地址的虚拟主机 b、创建基于域名的虚拟主机 三、实验步骤: (一)Apache服务器的安装、启动及访问 1.检验apache服务的软件包是否安装,默认情况下是没有安装的,因此需安装。 # rpm -qa|grep httpd //检验软件包是否安装 # mount /dev/cdrom /mnt/cdrom //加载光驱 # cd /mnt/cdrom/Server //进入光盘的Server目录 # rpm -ivh postgresql-libs-8.1.18-2.e15_4.1.i386.rpm //安装所需要的RPM包 # rpm -ivh apr-1.2.7-11.e15_3.1.i386.rpm # rpm -ivh apr-util-1.2.7-11.e15.i386.rpm # rpm -ivh httpd-2.0.40-21.i386.rpm 注意:由于安装apache软件包有依赖关系,因此按照上述顺序进行安装 2.检验网络的连通性

Apache服务器使用及配置

web服务器的发送和接受 可以通过httpwatch来了解 https://www.360docs.net/doc/b45227653.html, cmd中的操作 1.apache其实就输一个软件,apache安装目录下的bin\httpd.exe 先进入到apache\bin目录 httpd -k start[shutdown][restart] 2.如果你希望在任何一个目录下都可以运行我们的httpd.exe则需要做一个环境变量的设置 重新进入控制台cmd 关于端口: apache默认在80端口监听 一台机器可以有:1-65535号端口(2个字节(256*256)) 查看系统正在监听的端口:netstat -an或netstat -nab(发现是哪个程序在监听) 一台机器的一个端口只能被一个程序监听,一个程序可以监听多个端口 端口分为有名端口1-1024,一般别去用 apache修改配置端口 配置文档位置:apache2.2/conf/http.conf 1.添加Listen 8080 2.重新启动apache apache的目录 /bin 该目录用于存放apache常用的命令,如httpd /cgi-bin 该目录用于存放linux/unix下常用的命令 /conf 该目录用于存放配置文件,如httpd.conf /error 该目录用于存放apache启动关闭的错误 /htdocs 该目录用于存放我们的默认站点的文件夹 /icons 该目录用于存放图标 /logs 该目录用于存放apache的相关日志,如error.log,install.log /manual 该目录用于存放apache的手册 /modules 该目录用于存放apache的模块.so的文件 apache是基于模块化设计的,核心代码并不多,大多数的功能都被分散到各个模块中运行机制: MPM:multi processing modules:多重处理模块 APR:Apache Portable Runtime:可移植运行库 生命周期: 启动,配置=》模块初始化=》子进程初始化=》请求循环=》子进程结束 启动阶段===============================》运行阶段============= Apache配置虚拟目录(默认是htdocs) 1.配置虚拟目录在apache的conf目录下的httpd.conf的节点后面添加如下代码: DirectoryIndex index.php index.html index.htm Alias /myblog "D:/myblog"

实验13-Web服务器的配置(参考答案)

实验13 Web服务器的配置 一、实验目的 1、了解Web工作原理。 2、掌握基于IIS的Web服务器的创建和配置。 二、实验要求 1、设备要求:计算机1台(装有Windows Server 2003操作系统及活动目录、装有网卡), 集线器、交换机,UTP线(直通、交叉);Windows Server 2003安装源。 2、每组1人,独立完成。 三、实验基础 Web服务的实现采用B/W(Browser/Web Server)模式,Server信息的提供者称为Web 服务器,Browser信息的获取者称为Web客户端。Web服务器中装有Web服务器程序,如:Netscape iPlanet Web Server、Microsoft Internet Information Server、Apache等;Web 客户端装有Web客户端程序,即:Web浏览器,如:NetscapeNavigator、Microsoft Internet Explorer、Opea等。 Web服务器是如何响应Web客户端的请求呢?Web页面处理大致分3个步骤: 第一步:Web浏览器向一个特定服务器发出Web页面请求; 第二步:收到Web页面请求的Web服务器寻找所请求的页面并传送给Web浏览器; 第三步:Web浏览器接收所请求的Web页面并将其显示出来。 Web应用的基础还包括HTTP和HTML两个协议。 HTTP协议是用于从Web服务器传输超文本到本地浏览器的传输协议。它使浏览器的工作更高效,从而减轻网络负担;它不仅使计算机传输超文本正确、快速,而且可以确定传输文档的哪一部分以及哪一部分的内容首先显示等。HTTP使用一个TCP/IP连接,默认TCP80端口。 HTML 是用于创建Web文档或页面的标准语言,由一系列的标记符号或嵌入希望显示的文件代码组成,这些标记告诉浏览器应该如何显示文章和图形等内容。 四、内容与步骤 1、IIS6.0的安装、配置和测试; (1)从控制面板安装IIS; 第1步单击“开始” →“添加或删除程序” →“添加/删除Windows组件”,显示“Windows 组件向导”窗口,在“组件”列表框中依次选择“应用程序服务器” →“详细信息”,显示“应用程序服务器”窗口,选中“https://www.360docs.net/doc/b45227653.html,”复选框以启用https://www.360docs.net/doc/b45227653.html,功能,如图所示。

apache服务配置

Apache 安装后启动然后配置即可.记得开启80 端口. iptables –I INPUT –p tcp –dport 80 –j ACCEPT 开启tcp 80 端口 apache 的配置文件: httpd.conf 路径: /etc/httpd/conf/httpd.conf DocumentRoot “/var/www/html”设置主目录的路径 DirectoryIndex index.html index.html.var 设置默认主文档,中间用空格格开 Listen 80 Listen 192.168.1.1:80 设置apache监听的IP地址和端口号,可添加多个 ServerRoot “/etc/httpd”设置相对根目录的路径(存放配置文件和日志文件) ErrorLog Logs/error_log 设置错误日志存放路径 CustomLog Logs/access_log combined (日志格式) 设置访问日志存放路径 如果日志文件存放路径不是以”/”开头,则意味着该路径相对于ServerRoot 的相对路径. ServerAdmin 邮箱地址{设置管理员的E-mail地址 ServerName FQDN名或IP地址{设置服务器主机名 由于Apache默认字符集为西欧(UTF-8),所以客户端访问中文网页时会出现乱码. 将语句“AddDefaultCharset UTF-8”改为“AddDefaultCharset GB2312”方可解决,不过要重新启动Apache服务. 修改完默认字符集后,客户端如需访问,要先清空浏览器的缓存.

创建虚拟目录,添加Alias语句即可 Alias /ftp “/var/ftp”Alias 虚拟目录名物理路径 Options Indexes 定义目录特性 AllowOverride None 一般这样写就行 Order allow,deny 设置访问权限 Allow from all 允许所有用户访问 要实现虚拟目录用户认证,首先要建立保存用户名和口令的文件 htpasswd -c /etc/httpd/mysecretpwd (文件名) text (用户) -c 选项表示无论口令文件是否已经存在,都会重新写入文件并删去原有内容.所以在添加第二个用户到口令文件时,就不需要使用-c 选项了. Alias /ftp “/var/ftp” AuthType Basic 设定认证类型,Basic最常用AuthName “This is a private directory. Please Login:”辛苦点,全背上吧. AuthUserFile /etc/httpd/mysecretpwd 定义口令文件路径Require user text(用户) 定义允许哪些用户可以访问

apache服务器安全问题

Apache服务器安全问题 Apache服务器面临的安全问题 (2) HTTP拒绝服务 (2) 缓冲区溢出 (3) 如何配置一个安全的Apache服务器 (3) 勤打补丁 (3) 建立一个安全的目录结构 (5) 为Apache使用专门的用户和用户组 (5) Web目录的访问策略 (6) 禁止使用目录索引 (6) 禁止默认访问 (6) 禁止用户重载 (6) 配置Apache服务器访问日志 (7) 相关配置文件说明 (7) Web服务器日志轮循 (8) Apache服务器的密码保护 (9) 减少CGI和SSI风险 (11) 使用SSL加固Apache (12) Apache服务器防范DoS攻击 (13)

Apache服务器面临的安全问题 HTTP拒绝服务 攻击者通过某种手段使服务器拒绝对HTTP应答。这使得Apache服务器对系统资源(cpu与内存)需求剧增,最终导致造成系统变慢甚至瘫痪。Apache服务器最大的缺点是他的普及性成为了众矢之的。Apache服务器所面临的拒绝服务攻击主要包括以下几种形式。 数据包洪水工具 1.一种中断服务器或者本地网络的方法是数据包洪水攻击,它通常使用 Internet控制报文协议(ICMP)包或者UDP包。在最简单的情况下,这些攻击都是使服务器或者网络的负载过重,这意味着黑客的网络攻击速度必须比目标的网络速度更快。使用UDP包的优势是不会有任何包返回到黑客的主机。而使用ICMP的优势是使得黑客的攻击更加富有变化。发送有缺陷的包会搞乱并锁住受害者的网络。目前所流行的趋势是黑客欺骗目标服务器,让其相信正在受到来自自身的洪水攻击。 2.磁盘攻击 这是一种更麻烦的攻击,它不仅仅影响目标计算机的通信,还破坏他的硬件。 伪造的用户请求利用写命令攻击目标服务器的硬盘,让其超过极限,并强制关闭。 受攻击者会因为信息暂时不可达,甚至丢失而产生损失。 3.路由不可达 通常,拒绝服务攻击集中在路由器上,攻击者首先获得控制权并操纵目标主机。 当攻击者能够更改路由器的路由表时,会造成整个网络不可达。这种攻击非常阴险,因为它刚开始出现时会让人莫名其妙。因为随后你的服务器就会失效,而整个网络又会不可达,这样你会要调查很多地方。 4.分布式拒绝攻击 这是对Apache服务器最有威胁的工具,即DDoS。当很多堡垒主机被感染时,一起向你的服务器发起拒绝服务攻击,是招架不住的。其中,繁衍式攻击是最恶劣的,因为攻击程序不会通过人为干涉而蔓延。Apache服务器特别容易受到攻击,无论是对分布式攻击还是隐藏来源的工具。原因是Apache服务器无处不在,对于Apache 服务器所制定的病毒,特别是ssl蠕虫潜伏在很多主机上,黑客可以通过操纵蠕虫,

实验4 WEB服务器的安装和配置

实验4Web服务器的安装和配置 7.1实验目的 掌握Web服务器的架设和管理方法。 7.2实验内容 分别采用IIS和Apache软件架设和配置Web服务器。 7.3实验课时 本实验需4学时。(每人一组) 7.4实验步骤 7.4.1IIS5.0建Web服务器 在使用Windows NT 4.0时,IIS就已经成为流行的Web服务器平台。IIS4.0是作为OptionPack4的一部分发行的,需要进行额外的安装才能运行。然而,在Windows2000中,IIS5.0应经完全成为操作系统的一个有机组成部分,如果在安装Windows2000时没有选择安装IIS,也可以单独添加。与IIS4.0相比,IIS5.0提供了方便的安装和管理,增强的应用环境,基于标准的发布协议,在性能和扩展性方面有了很大的改进,为客户提供更佳的稳定性和可靠性。 一、安装IIS 步骤1:单击"开始",指向"设置",单击"控制面板",然后启动"添加/删除程序"应用程序。

图1 步骤2:选择"配置Windows",单击"组件"按钮,在【Windows组件向导】对话框中,选择【Internet信息服务】组件,单击【详细信息】进行进一步设置,例如FTP服务、SMTP 服务、WWW服务通常可以选装。单击【下一步】,从Windows2000安装光盘中拷贝所需文件,安装完毕后如下图2、3、4、5、6所示。

图2 图3

图4 图5

图6 二、创建Web站点 在IIS中创建Web站点是非常容易的,IIS已经为我们准备了详细的Web站点创建向导,遵循向导的步骤,可以在短时间内完成站点创建。 Web站点的创建可以使用默认的站点(即在添加IIS组件时选中WorldWideWeb服务器),系统就已经架设好一个网站,只要我们在默认的目录(Inetpub\wwwroot)中放置政府网页即可。如下图7、图8、图9和图10所示:

WEB服务器的配置实验

Window网络技术NW2002 邹延平邹延平 WEB服务器的配置 邱杭锐 1440217115 ACK04 2015年10月24日

WEB服务器的配置 一、实验目的 1、掌握web服务器的配置与管理; 2、掌握三种虚拟主机技术(端口号、不同IP、主机头); 3、掌握虚拟目录技术。 二、实验要求 设备要求: A机:www服务器,windows 2008安装IIS B机:DNS服务器,windows 2008安装DNS C机:客户机 三、实验基础 阅读本周大课课件。 Web 服务的实现采用B/W(Browser/Web Server)模式,Server 信息的提供者称为Web服务器,Browser 信息的获取者称为Web 客户端。Web 服务器中装有Web 服务器程序,如:Netscape iPlanet Web Server、Microsoft Internet Information Server、Apache 等;Web客户端装有Web 客户端程序,即:Web 浏览器,如:NetscapeNavigator、Microsoft InternetExplorer、Opea 等。 Web 服务器是如何响应Web 客户端的请求呢?Web 页面处理大致分3 个步骤: 第一步:Web 浏览器向一个特定服务器发出Web 页面请求; 第二步:收到Web 页面请求的Web 服务器寻找所请求的页面并传送给Web 浏览器; 第三步:Web 浏览器接收所请求的Web 页面并将其显示出来。 Web 应用的基础还包括HTTP 和HTML 两个协议。HTTP 协议是用于从Web 服务器传输超文本到本地浏览器的传输协议。它使浏览器的工作更高效,从而减轻网络负担;它不仅使计算机传输超文本正确、快速,而且可以确定传输文档的哪一部分以及哪一部分的内容首先显示等。HTTP 使

相关文档
最新文档