We are excited to announce that the IIS.NET Forums are moving to the new Microsoft Q&A experience. Learn more >

Migrate intranet website from iis6/2003 to iis6/2008 [Answered]RSS

32 replies

Last post Dec 04, 2009 02:47 PM by driftfly

  • Migrate intranet website from iis6/2003 to iis6/2008

    Nov 03, 2009 03:20 PM|driftfly|LINK

    Hello,

    I recently purchased a new server running Windows 2008 and IIS 7.  I bought this server to replace our aging 2003/IIS6 box.  We have a large intranet site that I need to move over to the new box.  I am not an IIS expert by any means.  Is there a painless or semi-painless approach to doing this? 

     Thanks

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 03, 2009 04:11 PM|moshaikh|LINK

    One very simple step that would carry over all your settings, sites, content etc from the old server to the new one is given below. From the location where you have msdeploy installed run the following:

    msdeploy -verb:sync -source:webserver60 -dest:webserver60,computername=yournewiis7server  -whatif -verbose

    This command you have to run from your old w2k3 box. -whatif will make it NOT sync and It will show you the changes it will carry out when you actually sync. This way you can know what all will happen. When you are all set to go then you can run the command without the whatif switch and it should do the job for you. For this you need to have msdeploy installed on the destination server as well as the source. [If you dont have it on the destination then you can use tempAgent]

    Let us know if you need more information

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 04, 2009 09:51 AM|driftfly|LINK

    Moshaikh,

     Thanks for the quick reply.  Would I plugin the names of my servers under -source: and -dest: instead of webserver 60?  I know this seems pretty obvious, I just want to get it right.  I'm also concerned about some of the programs the website uses like a datepicker and spellchecker.  I guess I'll have to double-check the program to see where the references point.  I would also like to fine tune it once the swap is complete and working.  Any tips would be greatly appreciated.

     Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 04, 2009 12:30 PM|moshaikh|LINK

    webserver60 is a provider and not the computer name. You can read more about providers here. So if you are syncing from COMP1 to COMP2 and you are running this command from some other system (not one of these) then you would do it as follows:

    msdeploy -verb:sync -source:webserver60,computername=COMP1,username=<yourusername>,password=<yourpassword> -dest:auto,computername=COMP2,username=<yourusername>,password=<yourpassword>

    If you are logged in a user that has admin permissions on COMP1 and COMP2 then you dont need to specify the username and password.

    You either have to install msdeploy on all those servers and start the msdepsvc agent or if you dont have msdeploy installed on those servers then you dont need to and you can use tempAgent switch as follows: [As long as you have WMI allowed thru the firewall on those boxes]

    msdeploy -verb:sync -source:webserver60,computername=COMP1,tempAgent=true -dest:auto,computername=COMP2,tempAgent=true

    Let us know if you need more information.

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 04, 2009 12:51 PM|driftfly|LINK

    Moshaikh,

    Once again, thanks for the great information!  I noticed you went from the "webserver60" provider to the "auto" provider for the destination server on this latest post.  We are going from a 2003/IIS6 box to a 2008/IIS7 box.  I read that you cannot use the "webserver60" provider going the other way, but it doesn't say anything about going this way.  Is there any significance to this provider change?

    Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 04, 2009 01:04 PM|moshaikh|LINK

    All auto does is it tells msdeploy to get the right provider for the destination based on the source provider. SO in this case it knows the source is a webserver60 so it will resolve to webserver60 for destination automatically.

    webserver60 is the provider you use from syncing from win2k3/WinXP to IIS07 or iis 7.5 and  for win2k3 to win2k3.

    For iis7 to iis7 (or 7.5 to 7.5) you use webserver provider.

     

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 04, 2009 01:05 PM|driftfly|LINK

    Moshaikh,

    What would the command be to go from a 2003/IIS6 box to a Vista Ultimate 64/IIS7 box?

    Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 04, 2009 02:56 PM|moshaikh|LINK

    Same command as above. No difference. 

    msdeploy -verb:sync -source:webserver60,computername=COMP1,username=<yourusername>,password=<yourpassword> -dest:auto,computername=COMP2,username=<yourusername>,password=<yourpassword>

     The only time you will use webserver is when BOTH servers are iis7 or higher.

     

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 05, 2009 11:49 AM|driftfly|LINK

    Moshaikh,

     Actually, the last post was asking about a migration from iis6/2003 to a iis7/Vista Ultimate 64 bit machine.  I don't know where the iis6/2003 to iis6/2008 came from.  I greatly appreciate the correspondence though.  This is valuable information.

    Anyway, when I perform this migration, does the IIS service need to be stopped on both servers or anything?  Can this be done while the source server is serving up web pages (live)?  Once again, I really appreciate your knowledge.

    Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 05, 2009 01:58 PM|driftfly|LINK

    Where do I find the msdepsvc agent to start?

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 05, 2009 02:01 PM|driftfly|LINK

    Okay, it is the Web Deployment Agent Service.  Sorry!

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 05, 2009 02:44 PM|driftfly|LINK

    Mashaikh,

     I ran the command with the whatif verbose switches and everything seems fine.  I have a couple of warnings though.

     Warning: The DependencyCheckInUse rule handler detected HttpRedirect. Use Windows Setup to install the component.

    Warning: The Dependency Check In Use Rule detected ASP.NET version v1.1. Make sure that ASP.NET is installed and configured with IIS on the destination.

    Any tips and/or thoughts on these warnings?

     Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 05, 2009 02:54 PM|moshaikh|LINK

    MSDeploy does not install IIS components or dependencies for you. So the message is trying to tell you that you can go ahead with the sync but make sure that you install and / or configure the required components, modules etc on the target server

     

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 05, 2009 03:45 PM|driftfly|LINK

    Moshaikh,

    The only warning I'm not able to get rid of is the second one:

    Warning: The Dependency Check In Use Rule detected ASP.NET version v1.1. Make sure that ASP.NET is installed and configured with IIS on the destination.

    Exactly how do I check this one?  As far as I can see, ASP.NET is installed.  In Server Manager under Web Server (IIS) and Role Services directly under Application Development it is definitely installed.

    Thanks,

    Mike

  • Rovastar Rovastar

    5495 Posts

    MVP

    Moderator

    Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 05, 2009 08:32 PM|Rovastar|LINK

    You may have other issues going from Windows 2003 server/IIS6 to non-server Vista OS and IIS7. Vista the desktop OS is not designed as a server for websites.

    Troubleshoot IIS in style
    https://www.leansentry.com/
  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 09, 2009 05:37 AM|WenJun Zhang - MSFT|LINK

    Hi Mike,

    On your IIS7 server, please check application pool used by your destination site and verify the .net framework version. By default, it's .net fx 2.0 on IIS7 Windows 2008.

     

     

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 09, 2009 01:38 PM|driftfly|LINK

    WenJun Zhang and/or Moshaikh,

     Okay, I have moved on to the real task at hand and migrating from 2003/iis6 to 2008/iis7.  I ran the web deployment tool successfully over the weekend.  I went through the file permissions and duplicated them on the new server.  I am getting a 500.19 error when I attempt to runt he website locally.  It references the web.config file as missing a 'name' attribute.  Here is the complete error message.

    HTTP Error 500.19 - Internal Server Error

    Calling LoadLibraryEx on ISAPI filter "C:\PHP\php5isapi.dll" failed

    Detailed Error Information:

    Module - IIS Web Core

    Notification - BeginRequest

    Handler - Not yet determined

    Error Code - 0x8007000d

    Config Error - Missing required attribute 'name'

    Config file - \\?       \C:\inetpub\wwwroot\DynaSystems\web.config

    Requested URL - http://localhost:80/Dynasystems

    Physical Path - C:\inetpub\wwwroot\Dynasystems

    Logon Method - Not yet determined

    Logon User - Not yet determined

    The error page goes on to reference the line in the web.config file where the error is.  This website runs fine on the original server.  Any ideas?

    Thanks,

    Mike

     

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 09, 2009 01:44 PM|moshaikh|LINK

    1. Do you have php installed and configured on the destination server? ( http://php.iis.net/ )

    2. Have you compared the web.config and other configs under DynaSystems are same on the source and destination?

     

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 09, 2009 02:34 PM|driftfly|LINK

    Moshaikh,

    First of all, I'd like to thank you once again for the continued help on this migration.  I fixed the php error.  We have several sites that I migrated all at once.  I forgot that one of them uses php.  I simply copied the php directory over and the php error went away.  However, I am still gettting the web.config error for the attribute 'name.'  I'll take another look at the two web.config files and go from there.

    Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 09, 2009 03:20 PM|driftfly|LINK

    Moshaikh,

    I have printed the two web.config files from the source and destination servers.  They are identical.  IIS7 is having an issue with a line of code under the <handlers> tag.  There is a line of code that starts with

     <add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler"/>

    All of the other lines under the handlers tag start with <add name> or <remove name>.  Here is the code for the handlers tag.

    <handlers>
       <remove name="WebServiceHandlerFactory-Integrated"/>
       <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
       <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
       <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
                           <add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler"/>

      </handlers>

    The last line that begins with <add verb> is the issue.  Does IIS7 have a different requirement for this tag or something?  Because it works just fine on the old server.

    Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 09, 2009 03:39 PM|driftfly|LINK

    Moshaikh,

    I removed the lines of code causing the problems after making a copy of it.  Now I am getting redirected to the old server when I type in the path to the local website on the server.  Here is the path that I type in:

    http://759-Gigantis/dynasystems

    It is then changed to http://759-Kumonga/dynasystems/dynasystems and bombs out of course.

    This must be a DNS issue here?  How can I run/test this thing locally without having to go live and screw up everything?

    Thanks,

    Mike

  • Rovastar Rovastar

    5495 Posts

    MVP

    Moderator

    Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 09, 2009 04:49 PM|Rovastar|LINK

    Set up new dns/hosts entry and binding for the site and test it from there.

    Troubleshoot IIS in style
    https://www.leansentry.com/
  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 09, 2009 05:32 PM|driftfly|LINK

    Rovastar,

    Hmmm, okay.  Like I said, I don't want this site live yet, so I am very hesitant to make any dns changes yet.  The bindings are set to the same as the original server with type = http, host name = blank, port = 80, ip address = *, binding information = blank.  I have never set bindings on a website before.  It seems pretty straightforward though.  I suppose I could change the host name until testing is finished though.  Any suggestions?

    Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 11, 2009 12:29 PM|driftfly|LINK

    Moshaikh,

    I am getting real close to making this work.  The website is up and running.  Just a few little snafus left and I think we'll be good.  First of all, I have to type in the default home page (login.aspx) in the url to get the login page.  Also, when I try to access a file within the application in a directory, I get this error message:

    System.Runtime.InteropServices.COMException (0x800A13E9): There is insufficient memory. Save the document now. at Word.Documents.Add(Object& Template, Object& NewTemplate, Object& DocumentType, Object& Visible) at DataLayerClass.createRFILetter1(Boolean insertToFile, String RFINumber, String projectID, String rfiid, String Attention, String Company, String CostImpact, String DelayingJob, String DetailDesign, String DetailDesignRequired, String DiscussedWith, String DiscussedDate, String InformationRequested, String JobName, String JobNumber, String Response, String ResponseBy, String ResponseDate, String RfiBy, String RfiDate, String RfiNumber, String Subject, String ToName)

    I know the default home page will be easy, but I cannot figure out this file access problem.

    Thanks,

    Mike

     

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 11, 2009 01:08 PM|driftfly|LINK

    Moshaikh,

    I fixed the default home page issue.  I'm just having the directory file access problem now.

    Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 11, 2009 02:21 PM|moshaikh|LINK

    This might be an issue with ACLS of the folders that the files reside in.

    By default we dont carry over the ACLS for you when you do a sync. But you can ask for the ACLS to be carried over as:

    msdeploy -verb:sync -source:webserver60,includeALCS=true -dest:auto,computername=name -verbose

    The includeACLS switch instructs that the ACLS of the files and fodlers be carried to the destination system.

    Let me know how this goes.

     

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 11, 2009 03:59 PM|driftfly|LINK

    Moshaikh,

    I don't mean to be rude, but that would have been nice to have known beforehand.  I have already sync'd the sites.  If I run this again with the includeACLS switch, will the web deployment program just overwrite the existing files?  Thank you so much for the valuable information you've provided to date.

    Thanks,

    Mike

  • Rovastar Rovastar

    5495 Posts

    MVP

    Moderator

    Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 12, 2009 05:40 AM|Rovastar|LINK

    driftfly

    Rovastar,

    Hmmm, okay.  Like I said, I don't want this site live yet, so I am very hesitant to make any dns changes yet.  The bindings are set to the same as the original server with type = http, host name = blank, port = 80, ip address = *, binding information = blank.  I have never set bindings on a website before.  It seems pretty straightforward though.  I suppose I could change the host name until testing is finished though.  Any suggestions?

    Thanks,

    Mike

    When depolying a site to a new box where an the site is already live you can setup additional host headers, etc or change you own host file on your local machien to force it to point to the new box.

    If you do the local host file only you will see the changes no other users are effected. Then you can test it to see what the issues are and tweak easily rather than waiting to go live changeover and when problems occur.

    Troubleshoot IIS in style
    https://www.leansentry.com/
  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 12, 2009 01:57 PM|driftfly|LINK

    Moshaikh and/or Rovastar,

    Thanks for the information.  Can I run the web deployment tool again with the ACLS switch without any problems, seeing as how I've already ran it without it?

    Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 12, 2009 05:22 PM|moshaikh|LINK

    Yes you can run the tool again with the includeACLS switch but it will undo any changes that you might have done to your destination after the earlier sync.

    I would suggest syncing just the content folder in question with the includeACLS switch as this is the minimum risk and also run with whatif  for the first time to see what its doing without actually making any changes. Then when you see the changes are what you want run it again without the whatif switch

    For e.g if the offending application is in c:\inetpub\wwwroot\WebApps\OffendingApp I would :

    msdeploy -verb:sync -source:dirPath=C:\inetpub\wwwroot\webapps\offendingapp,includeACLS=true -dest:auto,computername=yourserver -whatif -verbose

    Let us know how this goes. Sorry for the inconvenience caused to you.

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 12, 2009 07:38 PM|cheesebugah|LINK

    Moshaikh,

    There is absolutely no need to apologize for anything.  You're expertise on this subject is greatly appreciated.  You have helped me out a lot and I am very grateful.  Thanks for the outstanding information and I'll let you know how i goes.

    Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Nov 28, 2009 01:49 PM|cheesebugah|LINK

    Moshaikh,

    Once again, I thank you for all of your help on this topic.  I am this (" ") close to turning this new server over to the masses.  However, I cannot get my alias to work.  I deleted the old alias to the old server in DNS and created a new one to the new server and it is not working.  I flushed the dns cache on the DNS server and the workstation I'm using to test the website with and it is not working.  Any ideas?

    Thanks,

    Mike

  • Re: Migrate intranet website from iis6/2003 to iis6/2008

    Dec 04, 2009 02:47 PM|driftfly|LINK

    Moshaikh,

    Almost there.  When I try to run the application in Visual Studio on the new server to debug it, I get this error message in IE.  It appears VS is automatically generating a port number and it bombs with the 401.2 error.  If I take out the port number generated randomly by VS, it works.  How can I get around this problem?

    URL:  http://localhost:49732/DynaSystems/Admin/ChangeOrders

    Error message in IE:

    Access is denied.

    Server Error in '/DynaSystems' Application.

    Access is denied.

    Description: An error occurred while accessing the resources required to serve this request.  The server may not be configured for access to the requested URL.

    Error message 401.2: Unauthorized Logon failed due to server configuration. Verify that you have permission to view this directory or page based on the credentials you supplied and the authentication methods enabled on the web server. Contact the Web server's administrator for additional assistance.

    Version information: Micrososft .NET Framework Version 2.0.50727.3603; ASP.NET Version 2.0.50727.3601.

    Is something configured wrong in IIS?

     

    Thanks,

    Mike