在IIS 5.0和IIS 4.0中,配置数据库采用二进制文件结构,但IIS 6.0放弃了这一做法。IIS 6.0的配置数据由两个XML文件构成:一个是Metabase.xml,包含IIS 6.0服务器的配置信息;另一个是mbschema.xml,包含配置数据的模式定义。IIS管理器提供了一项新的功能,允许保存配置数据副本,只要右击Web网站,然后选择“所有任务”→“将配置保存到一个文件”,然后指定配置数据副本的文件名字和保存路径即可。按照这种方式保存配置数据时,IIS 6.0利用系统的机器码(Machine Key)加密配置数据的某些部分,因此,配置数据的副本只对创建该副本的机器有用。
不过,在“将配置保存到一个文件”对话框中,我们可以选中“用密码对配置进行加密”选项,然后指定密码,用密码来保护导出的配置文件。如果提供了密码,IIS 6.0将用密码来替代机器码,以后只要提供同一个密码,就可以将配置数据导入到另一个服务器。另外,我们可以使用命令行脚本iisback.vbs(在systemroot/System32中)创建和管理远程或本地计算机的IIS配置的备份副本,管理员可以使用此脚本工具创建其IIS配置的备份副本,从备份副本还原IIS配置以及列出和删除备份副本。
有些时候,我们只要保存某个应用程序池、Web网站或虚拟目录的配置,而不是保存全部的配置信息,这时可以按照如下步骤操作:右击要保持配置信息的对象,选择菜单“所有任务”→“将配置保存到一个文件”,如图二所示,如果准备将配置数据导入到另一个服务器,必须提供加密文件的密码。
图二
如果右击一个应用程序池、Web网站组或单个网站,然后选择“新建”→“应用程序池(来自文件)”,或者“新建”→“网站”→“来自文件”,或者“新建”→“虚拟目录(来自文件)”,就可以从保存的配置文件创建新的应用程序池、Web网站或虚拟目录。因此,必要的时候,我们可以只创建和配置一个对象,利用“将配置保存到一个文件”功能导出对象
的配置信息,然后利用“新建”→“虚拟目录(来自文件)”等功能将配置信息导入到多个Web网站。这就是说,我们可以先精心配置一个模板,然后用它来创建和配置新的网站。当然,出现问题时,配置信息副本还可以用来恢复网站的设置。
由于IIS 6.0配置信息是可移植的,它还有另外一个好处,这就是方便了升级。假设我们升级时不能直接在Win 2K/IIS 5.0上安装Windows 2003/IIS 6.0,必须换一台机器,这时就要解决如何将IIS 5.0不可移植的配置数据转移到新的IIS 6.0服务器的问题。利用IIS 6.0配置数据的可移植性,解决办法是:首先安装好新的Windows 2003服务器,为原来的Win 2K服务器做一个完整的备份,然后在Win 2K服务器上安装第二个Windows 2003服务器将它升级,导出第二个Windows 2003服务器的配置数据(用密码加密),然后将配置数据导入到新的Windows 2003服务器。新安装的Windows 2003服务器必须作一些调整,例如允许IUSR帐户等,但至少现在不必重新执行全部配置操作了。
IIS 6.0的配置数据是标准的文本文件(XML文件),所以可以用记事本之类的文本编辑器打开和编辑。如果修改了IIS 5.0或IIS 4.0的配置数据,有时必须重新启动IIS,如果系统上网站的数量很多,可能需要不少时间,例如ISP的服务器就属于这类情况。为了解决这个问题,IIS 6.0支持一种“运行时允许编辑”功能。“运行时允许编辑”功能按照如下方式启用:在IIS管理器中,右击服务器,选择菜单“属性”,然后选中“允许直接编辑配置数据库”选项,如图三所示。启用了这个功能之后,如果我们用记事本打开配置数据文件,插入一个虚拟目录的配置,然后保存并关闭配置文件,IIS 6.0几乎立即就能根据配置文件的设置作相应的修改,根本无需重新启动。
图三
既然允许直接编辑配置文件,因配置文件不合法造成的服务器、应用程序故障也必然增多。为此,IIS 6.0提供了配置文件历史版本目录,即/system32/inetsrv/history,每次修改配置数据或重新启动IIS 6.0,IIS 6.0都会在该目录中保存一份原有的配置数据。
一、安装IIS 6.0
首先从最基本的说起吧。IIS 6.0包含在Windows Server 2003服务器的四种版本之中:数据中心版,企业版,标准版,Web版。另外,顺便再回答一个最常见的IIS 6.0问题:IIS 6.0不能在Windows XP、2000或NT上运行。
安装好Windows 2003之后,马上就可以看到Windows 2003/IIS 6.0的与众不同之处,其中一个关键的变化是,除了Windows 2003 Web版之外,Windows 2003的其余版本默认不再安装IIS。按照微软过去的理念,安装操作系统的同时IIS也自动启动,为许多Web应用提供服务,Windows 2003的做法可谓一大突破。在Windows 2003中,安装IIS有三种途径:利用“管理您的服务器”向导,利用控制面板“添加或删除程序”的“添加/删除Windows组件”功能,或者执行无人值守安装。
第一次启动Windows 2003系统时,“管理您的服务器”向导自动启动,如图一所示。
图一
选择“添加或删除”角色,在“配置服务器”向导中可以看到一系列可配置的服务器角色,其中就有“应用程序服务器(IIS,ASP.NET)”选项,如图二,选中该选项之后点击“下一步”,向导提供了是否安装ASP.NET和Microsoft FrontPage服务器扩展的选项。可以看到,微软在这里采用了一种新型的“安装任何部件之前总是
征求用户意见”的IIS安装策略,对于微软来说,这是一个彻底的转变,证明微软确实在认真对待安全问题。
图二
使用控制面板中的“添加/删除Windows组件”功能还要灵活一些。在向导中选择“应用程序服务器”,再点击“详细信息”,向导显示出一系列组件的清单,其中就有“Internet信息服务(IIS)”选项,还有一些选项是以前的“添加/删除Windows组件”向导没有提供的,表一概括比较了IIS 6.0和IIS 5.0 的主要组件。如果从这里安装IIS 6.0,最后得到的Web服务器可能只支持静态内容(除非在安装期间选中了某些扩展组件)。选中Internet信息服务选项,再点击“详细信息”,可以看到IIS 6.0的子组件,如图三所示。
图三
也许你已经注意到了表一列出的某些新增组件选项,但你注意到IIS 6.0少了什么吗?IIS 6.0中消失不见的最主要的一个项目是文档。在IIS 6.0中,所有文档都以帮助文件的形式发布,不再有IISHelp虚拟目录。在IIS 5.0中,如果从本地访问服务器,默认Web网站自动打开IIS的文档,但在IIS 6.0中,如果打开“
http://localhost”,只能看到一个声明网站正在构建之中的页面。
另外,在IIS 5.0的IISHelp虚拟目录中有一些错误处理页面,这些错误处理页面以ASP的方式实现。如果你要用到定制的(或者修改过的)帮助文件、错误处理页面,在IIS 6.0网站上必须自己创建该目录。
进一步分析IIS 6.0的子组件清单,可以发现:原来在IIS 5.0和IIS 4.0中默认安装的Internet服务管理器(ISM)已经不见了。但是,如果你点击“万维网服务”(IIS 6.0的子组件之一,但图三没有显示出来),再点击“详细信息”,可以发现IIS 6.0的万维网服务还有子组件,如图四所示,其中包括原来的Internet服务器管理器,不过现在已经改名为“远程管理(HTML)”;还有Windows 2003和XP版本的终端服务高级客户端(TSAC)——现在它叫做“远程桌面Web连接”。现在,我们不仅可以方便地添加或删除这两个子组件,对其他子组件也一样,包括:ASP,Internet数据连接器,在服务器端的包含文件,WebDAV发布,当然还有万维网服务。
图四
安装IIS 6.0的最后一种方式是无人值守安装。和以前一样,这仍旧是唯一一种能够将工具和默认Web网站安装到其他驱动器(而不是系统驱动器)的安装方式。Windows 2003无人值守安装方式大体上仍和Win 2K一样,都是用Sysocmgr和一个应答文件实施安装。当然,新的特性需要新的参数、选项,有关这方面的详细说明,可以在Windows 2003 Release Candidate 2 (RC2)找到,地址是:http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsnetserver/proddocs/datacenter/gs_installingiis.asp。
如果将IIS 5.0或IIS 4.0服务器升级到Windows 2003,IIS 6.0不会被设置成自动启动。也就是说,如果采用升级的方式安装,IIS 6.0默认是禁用的,除非遇到下列情况之一:
⑴ 以前的IIS服务器上已经安装了IIS Lockdown工具。
⑵ 存在注册子键
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W3SVC/RetainW3SVCStatus,且它包含一个任意的注册键。例如,你可以创建一个名为EnableIIS6的键,设定它的值为DWORD类型的1。
⑶ 在无人值守的升级安装中,应答文件的[InternetServer]部分存在DisableWebServiceOnUpgrade = True/False条目。
一.下载好php5、mysql5及ZendOptimizer和phpmyadmin的安装程序
PHP下载地址http://www.php.net/downloads.php
MySQL 4下载地址http://dev.mysql.com/downloads/mysql/4.1.html
MySQL 5下载地址http://dev.mysql.com/downloads/mysql/5.0.html
ZendOptimizer下载地址(需注册)http://www.zend.com/store/free_download.php?pid=13
Phpmyadmin下载地址http://www.phpmyadmin.net/home_page/downloads.php
本例中使用的是
php-5.1.2-Win32.zip,mysql-5.0.19-win32.zip,ZendOptimizer-2.6.2-Windows-i386.exe,phpMyAdmin-2.8.0.2.rar
二.配置iis下的php环境
首先解压php-5.1.2-Win32.zip到C:\php目录
用文本编辑软件打开php.ini
找到
将register_globals = Off改为register_globals = On
这个是打开php访问表单数据的简短风格写法支持,在PHP4.2.0版本以后这个选项默认是off的
找到
找到
去掉以下句子前面的分号
extension=php_mbstring.dll
extension=php_dbase.dll
extension=php_gd2.dll
extension=php_ldap.dll
extension=php_mssql.dll
extension=php_mysql.dll
找到date.timezone
[Date]
; Defines the default timezone used by the date functions
date.timezone = Asia/Hong_Kong
然后保存修改后的php.ini
接下来配置IIS的php支持
首先需要你的服务器安装了IIS
然后打开IIS管理器
右键 “默认网站” 选择 “属性”
选择 “ISAPI 筛选器” 标签
点击 “添加”
筛选器名称 填写 php
浏览 选择C:\php\php5isapi.dll
点击 确定
点击 应用
选择 “主目录” 标签
点击 “配置”
点击 “添加”
点击 “浏览” 选择C:\php\php5isapi.dll
在扩展名内填写 .php
点击确定
点击“选项“标签
勾选 “启用父路径”
在 “默认网站”的“属性”页面中选择“文档”标签
点击“添加”
输入index.php后确定
注意:请确定Web目录的应用程序设置和执行许可中选择为纯脚本
关闭 Internet 信息服务管理器
接下来打开iis对php的支持
点击“Internet 服务管理器”左边的“WEB服务扩展”
选中Active Server Pages 并点击中间的允许,打开asp的支持(虽然对php来说这个打开不打开无所谓,但是asp的使用比较广泛,如果没有打开,还是建议打开)
在右边web服务扩展处,右键,选择“添加一个新的web 服务扩展”
在扩展名内填写php
然后点击添加,浏览点选C:\php\php5isapi.dll
勾上下面的“设置扩展状态为允许”
输入cmd后确定
依次输入
net stop iisadmin /y
net start w3svc 在默认网站的目录中新建一个test.php
输入如下信息
<?php
phpinfo();
?>
后保存
在浏览器中执行
http://localhost/test.php
如果前面的配置一切正确,这时候会显示本机的php各相关信息
三.接下来我们开始安装MySQL