Web Deploy 2.0

Web Deploy (Web Deployment Tool) is a Microsoft's tool that significantly simplifies migration, management, and deployment of IIS web servers, web applications, and websites.

Here are two reasons to have Web Deploy on your server:

1. Install Web Deploy

There are two ways of installing Web Deploy - as a Panel component, the recommended way, or manual installation. The first way assumes that you install Web Deploy as any other Panel component, from Tools & Settings > Updates and Upgrades > Add / Remove Components. If you use Panel 10.4 and earlier versions, the component installation is unavailable, so you should perform manual installation. For the installation instructions, see the Manual Installation of Web Deploy section below.

Note: Microsoft Windows Powershell is required for proper installation of Web Deploy. Ensure that it is installed on server. (It should be available automatically in Windows 2008 R2). Learn how to install the component at http://www.microsoft.com/powershell.

After the successful installation, you are able to check that Web Deploy is discovered by Panel. To do this, log in as the Panel administrator and go to Tools & Settings > Server Components. The new component, Web Publishing, will appear in the list. Additionally, the ability to use web publishing will be added to all existing subscriptions, to the Hosting Parameters tab, and set as not provided by default.

If your customers use MySQL databases for their applications, you should additionally install the MySQL Connector/Net component from Microsoft Web Platform Installer.

2. Improve the Security Level

During the installation, Web Deploy adds a number of delegation rules to IIS that allow non-administrators to perform operations on databases and files on their IIS sites. Panel automatically adds an exception from one of the rules, namely, from appPoolPipeline. This exception prevents Panel from changing the .NET version of application pools in IIS. But for this automatic amendment, the version change will lead to malfunctioning of .NET applications that are not compatible with the updated version. Say, if the version has changed from 2.0 to 3.5, some apps that required 2.0 will not run.

In addition to this rule change, we recommend that you set IIS to run applications of each subscription in a separate pool. This setting will guarantee that other pools will continue to operate even if a certain app damages a pool on a certain subscription. You can specify to use separate pools in plan settings, the Performance tab > Dedicated IIS application pool.


3. Secure the Service with a Valid Certificate

During its installation, Web Deploy installs (as needed) and activates IIS Manager service that secures connections to Web Deploy. We highly recommend that you provide IIS Manager with a valid SSL certificate to let your customers verify your server's identity before transferring their data to your server. Learn how to do it in http://learn.iis.net/page.aspx/144/how-to-set-up-ssl-on-iis-7/. If you choose not to do it, your customers will fail to publish their sites if they specify to use a secure connection in publication settings of Visual Studio® or WebMatrix®.


4. Activate Web Deploy in Hosting Plans and Subscriptions

Now when you have successfully installed and configured Web Deploy, activate this feature in Hosting Parameters of hosting plans and existing unsynced subscriptions as needed.

Manual Installation of Web Deploy

To successfully install Web Deploy, you should meet the following requirements:

The installation procedure is straightforward: In Microsoft Web Platform Installer, find the Web Deployment Tool product and add it to the server. For more information about the installer, see http://www.microsoft.com/web/downloads/platform.aspx.

Alternatively, you can download the Web Deploy binary and run it as administrator. The download link is available at http://www.iis.net/download/WebDeploy.

Note: You should select either the complete installation or select the custom installation and specify the Configure for Non-Administrator Deployments option.