Many of the websites today are hosted on IIS 6.0 and the teams are migrating them to IIS 7.0 on a Windows Server 2008 platform. Microsoft Web Deployment tool is the perfect solution for these kinds of website migrations. The Web Deployment Tool simplifies the migration, management and deployment of IIS Web servers, Web applications and Web sites. Administrators can use command-line scripting with the Web Deployment Tool to synchronize IIS 6.0 and IIS 7.0 servers or to migrate an IIS 6.0 server to IIS 7.0. The Web Deployment Tool also enables administrators and delegated users to use IIS Manager to deploy ASP.NET and PHP applications to an IIS 7.0 server.
IIS7 replaces the aging metabase with a more convenient applicationHost.config which stores the configuration in XML.
Tool Download Location:
64 Bit: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2c3b55b7-8bad-4f92-86c2-c3758237ab70
32 Bit (X86): http://www.microsoft.com/downloads/details.aspx?familyid=32A781A2-4961-49FC-B34D-170BFA78414F&displaylang=en
Below are the detailed steps to migrate websites from an IIS6 hosting to IIS7 host:
Install MS Deploy on the Source IIS6 Server:
Installing MS Deploy on the Destination IIS7 Server:
Create a Backup of the IIS7 configuration:
It is important to create a backup of the IIS7 configuration before you start. You never know when you’ll make a mistake, and restoring IIS to the default configuration without a backup isn’t fun. IIS7 comes with the appcmd.exe command line tool, which is new for IIS7, and simplifies configuration backups immensely. It is located in the %windir%\system32\inetsrv\ folder, which isn’t in the path variables, so you’ll need to navigate to that path with the command prompt first.
Verify Dependencies on Source IIS6 Server:
At the command prompt (In the C:\Program Files\IIS\Microsoft Web Deploy), type: msdeploy –verb:getDependencies –source:metakey=lm/w3svc/<#site Identifier> Where #site Identifier = Website number which you want to migrate (eg: 1 = Default Website, 2= Administration, 3 = Application1, etc..)
Installing Required Components on Destination IIS7 Server:
From the dependency list you can determine which roles need to be installed on the destination IIS7 Server. Any dependencies listed in the XML file that is saved during the migration will need to be installed on the destination server or else the migration will not complete. You can remove dependencies beforehand or from within the XML file found in the backup directory after the sync command.
After the migration is complete, some elements will need to be re-configured. PHP, ASP.NET Ajax and others will need to be configured independently of the IIS migration to match the source server’s settings.