Web Deploy 3.0

Web Deploy (Web Deployment Tool) is a Microsoft tool that significantly simplifies the migration, management, and deployment of IIS web servers, web applications, and websites. You can install and configure Web Deploy as a third-party component on your Plesk-managed server.

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

  • Simple applications publishing. Web developers who write code in Visual Studio® (IDE) and WebMatrix® (development tool) can use Web Deploy to publish their applications to a production server. If you would like to give your customers this time-saving and easy-to-use publication method, install Web Deploy on your server.

    Note: You should not install Visual Studio® and WebMatrix® on Plesk servers. This software is installed by customers themselves on their PCs.

  • New market for your hosting plans. WebMatrix® helps its users find a suitable hosting plan in the Microsoft Web Hosting Gallery, a catalog in which hosting providers advertise hosting offers. If you want your hosting plans to be shown in the gallery, one of the requirements is to have Web Deploy.
1. Install Web Deploy

There are two ways of installing Web Deploy - as a Plesk component (the recommended way) or manual installation. The first way assumes that you install Web Deploy like any other Plesk component, from Tools & Settings > Updates and Upgrades > Add / Remove Components. If you use Plesk 10.4 or earlier versions, the component installation is unavailable, so you should perform manual installation. For 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 the server (available by default since Windows 2008 R2). Learn how to install the component at http://www.microsoft.com/powershell.

After successful installation, you can check that Web Deploy has been discovered by Plesk. To do this, log in as the Plesk 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 will be set as not provided by default.

If your customers use MySQL databases for their applications, you should also 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. Particularly, the rules that Web Deploy adds by default let your customers change the .NET version in their application pools. Such a change may lead to malfunctioning of .NET applications that are not compatible with certain .NET versions. Moreover, if you use shared IIS application pools, the change will affect applications of all customers who share the pool.

To prevent changing the .NET version of application pools in IIS by non-administrators, Plesk automatically adds an exception from the rule appPoolPipeline. However, 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 the 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 target operating system must be Windows Server 2008 or later.
  • The server must have Windows PowerShell installed. Windows Server 2008 does not have this component by default (though 2008 R2 has it). Learn how to install the component at http://www.microsoft.com/powershell.
  • The server must have the Management Service role service (Server Manager > Web Server > Add Role Services, under Management Tools).

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.