IIS 7 and Above
Moving asp Web site from IIS 6 to IIS 7.5 on Windows 2008 R2
Last post Jun 26, 2012 02:15 PM by joesmeats
Jun 19, 2012 02:50 PM|joesmeats|LINK
I am stumped and could use some help. I have a .asp Web site that runs on Windows 2003 Small Business Server (IIS6) (32 bit). We have a new server, (Windows 2008 R2 with IIS 7.5) (64 bit). I have moved the folders containing the Web content from the old
server to the new server and created a new site in IIS 7.5. If I try to browse to the site, I get a HTTP Error 500 - Internal Server Error.
I do have 2 other sites running on IIS 7.5 on alternate ports...(other than port 80) both are working fine.
To add confusion to the mix, I changed the port for the .asp site last evening to port 84, tested it, and it worked fine, both internally and over the Web. I then moved it to port 80 and again, all good. This morning I checked it and started getting the
Internal Server Error messages again. It was strange when it worked, as I hadn't changed much, other than trying Port 84.
At this time, I have the Web site running on port 80 on the old Windows 2003 Small Business Server. I have the copied site on IIS 7.5 running on port 84, but cannot get it to work without Error 500. A trace gives me 2 errors, ASP Application Onstart Error,
ErrorCode 2147614977 and a ASP LOG ERROR, ErrorCode ASP 0147.
I would appreciate any help trying to troubleshoot this issue.
Internal Server Error
Jun 19, 2012 03:53 PM|jamiefurr|LINK
You may need to enable the IIS:ASP role service either in Server Manager or via the Web Platform Installer. Then once that is installed, you can create a new Application Pool with the following attributes:
Configure the App Pool ".Net Framework version" to use "No Managed Code"
Set the "Managed pipeline mode" to "Classic"
Set "Enable 32 bit Applications" to true, in the "Advanced Settings".
Set the "Identity" to "Network Service", in the "Advanced Settings".
Once you configure the new App Pool just set your site to run in the new App Pool in the Advanced Site Settings. This should get your site up and running on IIS 7.5
Jun 20, 2012 11:01 AM|joesmeats|LINK
Thanks for the prompt help. Sorry for delay in trying this...my cable connection to my home was severed yesterday by a county lawn mower...still dealing with that. Anyway, I did the following and I am still getting a 500-Internal Server Error. Here
is what I did:
1. From Server Manager, Roles, Web Server (IIS), checked Role Services and ASP is installed.
2. Configured a new App Pool and called it .Net Framework Version. Set it to use No Managed Code. Set Managed Pipeline Mode to Classic. Set Enable 32 bit applications to True. Also set identity to Network Service.
Tested internally at server by clicking on Browse Web Site link, getting the HTTP 500 Internal Server Error. The website cannot display the page.
Tested from outside over Web and get 500-Internal Server Error. There is a problem with the resource you are looking for, and it cannot be displayed.
Any other suggestions greatly appreciated.
Jun 21, 2012 02:39 PM|joesmeats|LINK
More strange behavior.... not sure if related or not, but I created a 1 page .aspx site on the same IIS7.5 server. It worked fine both checking it from that server and from the Web. I haven't changed anything with the 1 page test site, however today, when
testing it, I get a HTTP Error 500.19 - Internal Server Error. Under config error, it reads: "This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault
= "Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".
It is now a few hours later and that test site is working again. Very strange. Any suggestions on what might be happening here?
Jun 21, 2012 04:36 PM|Rick Barber|LINK
As far as the ASP page goes, you should note that IIS 7.5 has ASP errors turned off for security reasons as rendering the actual error might expose some of your code. Because of that, all errors return a 500 status code.
In IIS Manager for the site double click on the ASP icon, expand Debugging Properties, and set 'Send Errors to Browser' to True. You also may need to enable Client-side or Server-side Debugging depending on where you are hitting the page from.
I recommend that you change those back to their default setting of False once you find your error and fix it.
Jun 22, 2012 11:26 AM|joesmeats|LINK
Jun 22, 2012 11:32 AM|Rick Barber|LINK
Jun 22, 2012 11:39 AM|joesmeats|LINK
Jun 22, 2012 12:08 PM|Rick Barber|LINK
I didn't see that before but I do now. Since client debugging doesn't appear to be working for you, I would next recommending making a change at the server level in IIS manager. If you look at the ASP settings in the site level you'll see that 'Log Errors
to NT Log' is greyed out. Click on the server in the left pane, then go back to the ASP settings at the server level. Make sure this is set to true. This should log the actual error to the Windows Application Logs when you reproduce it again.
Jun 25, 2012 08:30 AM|joesmeats|LINK
Jun 25, 2012 11:08 AM|jamiefurr|LINK
Did you set your site to run in the new app pool you created? Do you have a web.config file located in the site's content directory?
Jun 25, 2012 11:22 AM|joesmeats|LINK
Yes, sure did.
I have the physical path to the Web files/folders on the D drive on the server. I have the site bound to main.localhost on port 84 for testing. In the servers hosts file, I have an entry 127.0.0.1 main.localhost. When I test the site internally, I get
"An error occurred on the server when processing the URL. Please contact the system administrator. If you are the system administrator please click here to find out more about this error." If I click here I am taken to learn.iis.net, page referencing Running
Classic ASP Applications on IIS 7.0 and IIS 7.5.
Jun 25, 2012 11:23 AM|joesmeats|LINK
Copy of the Web.config file:
<?xml version="1.0" encoding="UTF-8"?>
<add value="Default.asp" />
<add value="index.html" />
<add value="default.aspx" />
<add value="index.htm" />
<add value="iisstart.htm" />
<remove name="ISAPI-dll" />
<add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\System32\inetsrv\asp.dll" resourceType="File" requireAccess="Execute" allowPathInfo="true" preCondition="bitness64" />
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" />
<failureDefinitions statusCodes="500" />
<directoryBrowse enabled="true" />
<identity impersonate="true" />
<authentication mode="Forms" />
<compilation targetFramework="4.0" />
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
Jun 26, 2012 02:15 PM|joesmeats|LINK
I was able to resolve the issue with the help of all suggestions. Thanks! Here is what I did.
1. Uninstalled asp role from the server, rebooted, then reinstalled asp.
2. For the asp site I was having issues with, changed Send Errors to Browser from False to True. In browser, unchecked Show friendly HTTP error messages.
3. Tested the page and this time I received the following error:
Microsoft OLE DB Provider for ODBC Drivers
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
/include/ConnOpen.inc, line 9
I thought this was odd, as I didn't think the site had any database connections. Upon closer inspection, I did find an Access database as part of the site. That lead me to the Global.asa file for the site.
4. Opened Global.asa in Microsoft Visual Web Developer Express and found the path to the Access database pointing to the data drive on the old server, which was the E drive. On the new server, it is on the D drive. I edited the Global.asa file to point to
D. Once I did that, the site worked without a hitch.
Again, thanks to those that helped get me here.
ODBC Driver Manager