asp是随着iis 5.0自动安装的,设置程序为用户提供了大多数配置决定。根据计算机的主ip地址,自动设置一个缺省的web站点并绑定在该地址上。这意味着可使用机器名(在局域网上)或者使用计算机的url访问web站点: http://sunspot < -通过局域网访问缺省站点 http://sunspot.stonebroom.com < -全局访问缺省站点 请记住,iis 5.0不仅仅是一个通过http提供www服务的web服务器,还能够提供服务以支持ftp(file transfer protocol, 文件传输协议)和smtp(simple mail transfer protocol,简单邮件传输协议),并提供一个radius服务以允许远程用户验证,加上内建的安全性及用户权限管理等特性。 iis的安装 安装windows 2000服务器时,缺省状态是不安装iis的,因为不是所有的服务器都用作web服务器。然而,在windows 2000安装过程完成后,windows 2000 configure server页将在i e中打开,这是安装iis及相关的软件和服务的地方。 假如已经安装了不带iis的windows 2000,可以在start菜单处,选择programs|administrative tools|configure server,打开这个页面。 在图1 - 7中,选择advance选项,点击optional components。在右侧的页面,点击start the windows components wizard,将打开显示一系列可供安装的组件的对话框(类似nt 4中的option pack)。 也可以在控制面板中使用add/remove programs打开这个对话框。在图1 - 8中,选择internet information services (iis)选项,点击details按钮。 出现的窗口中列出了iis 5.0的一些子组件,这些子组件多数已被缺省选中,包括ftp和www ( world wide web server)服务,如图1 - 9所示。 在学习asp时,值得把iis全部(或大多数)子组件安装在计算机上,这样当研究asp和使用windows其他服务的应用程序时,能够获得这些子组件的所有文档。 完成设置后, 可通过services对话框(start|programs| administrative tools | services )关闭不需要的子组件服务,以减少服务器的负载。 假如想通过iis提供邮件服务,必须选择smtp service选项。在本书后面将看到,这将安装在创建asp邮件应用程序时所需要的各种文件。根据需要也可安装网络新闻传输协议(network news transfer protocol,nntp)服务,提供“新闻组”功能。 确保选择internet information service manager snap-in选项,这可通过start菜单中的internet services manager来从mmc管理web服务器。如果想使用visual interdev或frontpage 访问在服务器上的网页,可以安装frontpage 2000 server extensions。 在设置过程中需要提供给iis的唯一信息是缺省的web和f t p站点路径。设置程序建议用户采用\inetpub\www root和\inetpub\ftproot。如果你有多个驱动器,你可能只想改变驱动器。也可以把它们放在与包含windows系统文件的驱动器不同的另外一个物理驱动器上,以提高对文件的访问速度。 其他有用的windows组件 回到主windows component wizard对话框,如图1 - 1 0所示,可选择其他想安装的windows服务。在本书中,我们将要用到message queuing services(msmq)和microsoft indexing service(nt 4 option pack中的index server)。可以马上安装它们,对这两个均选择缺省选项安装。可以在这个向导中安装的一个有用工具是microsoft script debugger。我们将在第7章中介绍这个工具,你可以看到该工具使调试页面非常方便。然而确保不要在一个公用服务器或“生产”服务器上安装script debugger,而仅安装在试验或开发用的服务器上。 安装iis以后,可以直接使用它们,安装的缺省页面指出了此站点正在建设中。还有一个页面描述了iis的功能和用途,并且有与各个管理程序的链接。这个页面在http://server_ name _ or_url/localstart.asp中,只有在站点根目录下没有default.asp或default.htm页时才加载。 需要记住,访问asp页使用的是http协议。假如想在explorer中查看web目录的内容,即使是在作为web服务器的同一个机器上或通过一个局域网,也不能通过双击它们来加载,必须在浏览器的地址栏中键入机器的url (以http://开始)。 iis管理工具 安装的各种服务后,windows components wizard允许安装用来管理iis的工具。其中一个是已经提到过的internet services manager(ism),这是microsoft management console(mmc)的一个插件。还有一组html页面能够用来管理iis,它们是windows 2000的可选子组件。 这些页面和ism都能提供远程管理功能,差别在于ism必须安装在远程计算机上,而html管理页面只要求远程计算机安装浏览器(最好安装ie 4.0或更高版本)。 i s m的html版本 html管理网页为远程管理iis提供真正简便的方式,而且更快、更有效。在服务器上,可以通过选择start菜单中的internet services manager(html)来打开它。图1 - 11为缺省web站点的内容。 注意,这个页面的url包含了一个端口号,这个端口号是6369。安装程序产生一个介于1 0 0 0~9 9 9 9之间的随机端口号,并将之分配给安装html管理页面时所创建的管理web站点(administration web site )。必须在url中指定这个端口号,它被自动加到start菜单项中。这个初步的安全措施防止不知道端口号的人员的访问。 从远程的计算机上访问html管理页面,必须知道端口号。这可以从administration web site的properties对话框中得到。这个tcp的端口号显示在这个对话框的web site选项卡上,如图1 - 1 2所示。 然而,那还不是全部。缺省时,只有安装在web服务器上的浏览器能够调出这些页面,这是因为也设置了ip限制。在administration web site,选择iis admin虚拟应用程序,打开这个程序的properties对话框,然后在directory security(目录安全)选项卡上,在“ ip address and domain name restrictions”( ip地址和域名限制)框中选择edit按钮,如图1 - 1 3所示。 这时打开一个对话框,可以看到这个限制,见图1 - 1 4。只有ip地址为1 2 7 . 0 . 0 . 1 (本地服务器)才能访问这个页面,即使从其他ip地址传来的请求包含正确的端口号,也不能访问。 可根据需要改变这个设置,既可删除这个限制(如果与internet相连,则这是一个危险的方法),也可在列表中增加自己的ip地址。该地址可以是局域网上远程计算机的ip地址,或者是代理服务器或i s p的ip地址(如果通过网络连接)。然而,为了安全,应该通过证书为此应用程序建立一个安全的目录,并通过https ( http secure )访问而不是通过http访问,即使用s s l或类似的方法。我们在后面讨论这些主题内容。 常见的管理任务 iis的缺省配置对于大多数的应用是合适的。在开始建立站点时,当然可以改变这种配置,使asp与iis以不同方式工作。我们已经看到过一些缺省web站点的properties对话框。假如你习惯于在iis 4.0上使用asp 2.0,就会发现多数的设置是相当熟悉的。许多新设置选项的意义可以通过控件标签理解。 在properties对话框中最可能需要改变的设置,显示在图1 - 1 5中。多数情况下,对于一个完整的web站点,可通过这个站点的properties对话框进行这些设置。而对站点内的各个目录进行设置时,要打开目录的properties对话框。 1. home directory 选项卡 站点的文件或目录方面的设置要在home directory选项卡中设置。注意,最上面的选项允许指定用户请求应被定向到哪儿,这可以是在本地计算机的一个目录,远程计算机上的一个共享目录,甚至可以是一个url。最后一种选择允许将浏览者重定向到另外一台计算机上。 中间部分的选项,包含控制这个站点或目录上什么功能被启用的设置。可以打开或关闭“写”和“读”权限;可浏览这个目录(没有缺省的web页时);可通过microsoft indexing service ( mis )建立页面索引,记录访问和用户。也可以允许访问源文件,有些windows 2000 新增选项用于使用distributed authoring and versioning (dav )等远程编辑技术。 此选项卡的下部是设置的虚拟应用程序的地方。缺省web站点(图1 - 1 5中所示)被自动安装为一个虚拟的应用程序,与由安装程序创建的用于管理的目的或由其他服务使用的其他目录一样。在页面中开始使用active server component时,将详细讨论虚拟应用程序。 2. web site选项卡 web site选项卡用来向外界标识此web站点,管理并发连接的数量及控制访问日志。 上部的选项设置站点的ip地址和icp端口。对于缺省站点,web服务将响应对于服务器来说可用的所有ip地址(假如有多个网络适配器或一个网络适配器中多个地址),除非它们被分配给另一个站点。缺省的www访问端口是端口80,如图1 - 1 6所示。使用这个端口号意味着浏览者在他们请求中不需指定端口号。 中间的选项控制可接受的并发连接数目和长时间运行asp脚本而不能完成执行的中止时限。也允许指定是否使用http keep-alives,这可为浏览器提供更好的性能,支持它们为多个请求保持连接打开状态。 在下部可设置想采用的访问日志的格式。缺省的是w3c扩展日志文件格式(w3c extended log file format)。也可以用properties按钮,打开一个对话框,进一步指定记录信息的细节。如果要记录到一个数据库,需要选择odbc logging选项,并且为所使用的数据库表提供的odbc 系统数据源名称(一个系统dsn,见第8章)。 3. documents选项卡 此选项卡比上面提到的两个选项卡要简单得多。如果访问一个目录而没有指定文件名,将显示它指定的缺省页。例如,按图1 - 1 7中所示的设置,对于对http://stone broom.com的请求,将返回给用户的网页是http://stonebroom.com/default.asp。 在windows 2000中,不像早期版本,设置程序把default.asp放在列表的第一位,后面是default.htm。这是因为不包含asp脚本的. asp页面的处理速度几乎与纯html一样快,因此微软推荐所有的页面均采用.asp文件扩展名。 这个列表下面的复选框允许我们指定,将加到每个响应末尾的文本或asp文件的名称,这样可以为从这个站点或目录发送的所有页面加上一个标准的页脚。 4. http headers选项卡 先讨论一下什么是http报头,如何和为什么使用它们,细节在下一章中讨论。先看一下http headers选项卡,对其所能完成的工作有一个感性认识,并说明如何找到相应的控件以改变相应的设置。 http headers选项卡如图1 - 1 8所示,上部选项是设置这个站点或目录中每一个文档的有效期的日期和时间。在这个时间后,在浏览器或代理服务器的缓存中的任何页面拷贝将变成无效的,并且不能显示。这个选项允许用户控制在必须从站点载入新页面之前缓存中的页间“保存”多长时间。 中间的选项允许在从这个站点或目录返回的所有页面响应中增加定制的http报头。这主要应用于定制的客户端应用程序,或特定的定制的数据管理。 下部的两个选项允许设置这个站点或目录页内容的等级划分,以及服务器发回客户端的mime 类型报头。内容等级划分用来描述页面上的内容的等级, 如“性”、“暴力”、“恶性语言”等内容级别。mime类型报头用来指明客户期望从服务器上得到的数据类型。 5. server extensions选项卡 这里要讨论的最后一个选项卡是server extensions 选项卡。iis的一个令人激动的新功能是distributed authoring and versioning (dav),尽管在windows 2000没有完全实现,但dav最终将提供一个良好环境允许用户在他们各自的浏览器上编辑存放在web服务器上的文档。dav扩展了目前由微软的visual interdev和frontpage提供的功能,它允许编辑非web文档如word文档或excel电子表格,对于一个intranet环境,这些特征为用户提供了更加灵活和易于交互的系统。 dav可使用一系列驻留web服务器上的软件扩展,类似于frontpage扩展( frontpage扩展用来使interdev和frontpage能够访问和下载服务器上的文件)。我们将在后续章节详细研究dav,先看一下server extensions选项卡,如图1 - 1 9所示。 这个选项卡允许控制这个虚拟应用程序所用到的著作和版本控制特性也包括指定用于网页编辑命中次数这种扩展功能的方式(协调服务器和控制页面的缓存从而得到最佳的性能)。当使用dav时,还可提供从页面上发送电子邮件的缺省设置,并设定安全性限制来保护内容。