XP系统下安装IIS5.1及一些问题的解决
以下文字为个人总结,曾经花费了我大量时间去找问题的解决方法。希望对新学的朋友有所帮助。
一、已经装过IIS但又不能用的,卸载重装。没装过的转到步骤“二”。
我的系统是XP Server Pack 3,这个很重要。不同的操作系统用不同版本的IIS。XP系统一般用IIS5.1。由于我之前装过IIS5.1,但一直运行不了,默认网站没法启动。上网查了很多资料,各有各的说法。我最后在CSDN论坛里找到一个较保险的说法。
a)把整个IIS卸载
b)把 %windir%\system32\inetsrv 删除掉
把 %windir%\iisX.log删除掉。X是(w2k-iis5.log,xp-iis6.log)
也把 \inetpub\ 目录删除掉 (可以在safe-mode里删除)
c)重装IIS,打上最新补丁
我用了ab两步,基本解决问题。只有inetsrv文件夹有三个DLL只能通过安全模式删除(开机时按F8,选择进入安全模式)。b中的\iisX.log在我电脑上是\iis6.log。
注:刚接触IIS的人可能不太清楚,IIS的卸载跟一般的程序不一样。要通过控制面板---添加或删除程序---添加/删除Windows组件(A),随后出现“Windows 组件向导”,把组件中的“Internet 信息服务(IIS)”前面的勾去掉,然后“下一步”,完成卸载。
二、安装IIS5.1。打开“控制面板”-----添加或删除程序-----
把“Internet 信息服务(IIS)”打上勾,下一步。
找到IIS解压的路径即可。
会重复出现两次。没其它意外的话就开始安装。
这时可能会出现如下的“文件保护”(这个我一直搞不明是什么原因,请高手赐教)。
点“取消”后。
选“是”。多点几次就消失了。
IIS5.1初步安装好。能不能用就要测试一下了。
打开“控制面板”-------“管理工具”---------“Internet信息服务”,展开“网站”节点。
默认网站后面没有“(停止)”字样,则IIS5.1已经安装上了。
问题:
每当我重新启动电脑时,这个网站就会被“停止”,如下:
“右键”启动,则出现如下错误。
打开“控制面板”------“管理工具”------“服务”,发现World Wide Web Publishing没有启动,而这一项在装完IIS5.1后是自动启动的。点击“启动”后,出现如下错误
这个问题主要是由KB2290570这个补丁造成的!你可以在开始---设置---控制面板---添加或删除程序,记得上面的“显示更新”打上勾!找到KB2290570直接卸载!卸载完成后重启,重启以后我们可以看到World Wide Web Publishing服务已经启动!OK!问题解决!如果还不行的话把其他有关IIS的那几个补丁全部干掉!
点击“删除”。
看来这个补丁很重要。但为了IIS5.1的使用,点击“是”。
完成。重启电脑。重新启动电脑后金山提示如下:
先不管。这是IIS的一个远程漏洞,修复KB2290570后,IIS5.1将不能运行。这个补丁好像只针对xp系统的,xp系统一般是自己做开发用的,网站没有采用xp做服务器。自己用,不会导致计算机安全问题。
打开“服务”,发现World Wide Web Publishing已自动启动。
而相应的Internet信息服务已经正常,如下:
右键“浏览”,不料“无权查看网页”(当时不懂40×系列,未经授权问题)。
症状
HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
原因
IIS匿名用户一般属于Guests组,而我们一般把存放网站的硬盘的权限只分配给administrators组,这时候按照继承原则,网站文件夹也只有administrators组的成员才能访问,导致IIS匿名用户访问该文件的NTFS权限不足,从而导致页面无法访问。
解决方案
给IIS匿名用户访问网站文件夹的权限,方法:进入该文件夹的安全选项,添加IIS匿名用户,并赋予相应权限,一般是读、写。
继续展开相应的节点:
“右键”浏览,发现可以正常显示了。
至此,IIS5.1运行正常。
继续用此IIS配置ASP.NET页面。先打开默认网站的“属性”,转到“ASP.NET”,选择其版本,如下:
再右键“默认网站”。
选择“新建-------虚拟目录”。
下一步。
选择一个目录。
默认。“下一步” 。
完成。可以看到虚拟目录建好了。
展开节点,看能不能浏览页面。
此时错误又出现了,是个新问题。
解决办法
1、依次点击“开始”-“运行”。
2、在“运行”栏内输入
“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i ”(不含引号),然后点“确定”按钮。
3、出现的cmd窗口中显示“开始安装ASP.NET XXX”等内容,等待这个窗口自动关闭。
再次运行“Default.aspx”页面,不幸得很,又有问题。
配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误消息: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
这个错误是由于没有设置网站的虚拟目录,最有效的解决办法是在IIS中把网站直接配置成站点。
方法:在IIS里,点击你源码的虚拟目录,右键-》属性-》应用程序名-》创建,即:web.config要在站点的根目录下
注:但是这个好像不行。个人认为问题在 “文件位置”的地方,我一开始是把虚拟目录放在E盘中的一个文件夹下面,所以web.config并不在站点的根目录下。
如下:
为了验证,我重新把webtest这个文件夹(里面是一个ASP.NET2.0的网站)直接拷到C:\Inetpub\wwwroot目录下。此时Internet信息服务截图如下:
右键点击webtest的属性。
创建,确定后,发现可以正常运行页面了。
至此,一个简单的ASPX页面可以正常运行(还没有考虑数据库的配置)。
注:以上文字部分参考了网友的博客。由于是一年前整理的,现在已经记不起在哪个网站看到的。如果引用了你的成果,请告诉我。我是一个新手,错误在所难免,请多多包涵,也请多多指正,好让我有前进的动力。