Search Wiki:

IMPORTANT NOTE - July 13, 2011

The Windows Azure Companion was an experimental tool to provide a simple experience installing and configuring platform-elements (PHP runtime, extensions) and web applications on Windows Azure. Based the feedback and results Microsoft has decided to stop any further development of the Windows Azure Companion and instead we recommend using the new tools available at to deploy applications to Windows Azure



Project Overview

The Windows Azure platform is a cloud platform that allows applications to be hosted and run at Microsoft datacenters. It provides a cloud operating system called Windows Azure that serves as the runtime for the applications and provides a set of services that allow development, management and hosting of applications.
With its standards-based and interoperable approach, the Windows Azure platform supports multiple Internet protocols including HTTP, XML, SOAP and REST. As an open platform, the Windows Azure platform allows developers to use multiples languages (.NET, Java, and PHP & other dynamic languages ) to build applications which run on Windows Azure and/or consume any of the Windows Azure platform offerings.

The Windows Azure Companion aims to provide a seamless experience for deploying platform-level components as well as applications on to Windows Azure. The first community preview of the Windows Azure Companion has been tested with PHP runtimes, frameworks, and applications. However, the system may be extended to be used for deploying any component or application that has been tested to run on Windows Azure.

More Windows Azure and PHP related resources can be found at: Interoperability Bridges-Azure and PHP

What’s in the Windows Azure Companion?

We are pleased to announce Windows Azure Companion -March 2011 CTP release. This release includes following new features:
  • Built using Windows Azure SDK 1.4
  • Uses Full IIS for admin and PHP web sites.
  • Used standard port #3306 for MySQL or MariaDB. Now you donot need to specify port number in the MySQL client.
  • SSL support admin and PHP web sites. There are two separate projects for SSL and non-SSL. For admin web site, the SSL port is 8443 and for PHP web site, SSL port is 443. If you want to modify these ports, you need to use the source code, update ServiceDefinition.csdef file and create package.
  • Exposes WCF service that can be used to programmatically perform operations done by the admin web site. One can automate PHP application installation on Windows Azure. The endpoints of this WCF service is as follows. You need to use same admin credentials to authenticate with this WCF service. SSL support is also available for this WCF service. Base URL for WCF service is:
    • Without SSL: http://****
    • With SSL: https://****

The following packages are available for download in March 2011 CTP release.

  1. The zip file contains a ready-to-deploy Windows Azure Cloud Package (.cspkg) and a Service configuration file (.cscfg) file for the Small Windows Azure VM to get you on your way. Once you deploy the application to your Windows Azure compute account, you will have an administration web-site for deploying PHP runtime components, frameworks, and several applications. We expect most users to start with this package.
  2. As above, this zip file contains a ready-to-deploy Windows Azure Cloud Package (.cspkg) and a Service configuration file (.cscfg) file for the Small Windows Azure. But in addition, it also enables HTTPS support for admin and PHP web sites. Please make sure to upload certificate to the Windows Azure portal and use same thumbprints in ServiceConfiguration.cscfg file.
  3. WindowsAzureCompanion-Source-Mar2011CTP: Using a data-driven deployment architecture, the Windows Azure Companion Application provides the flexibility that most developers and users need for deploying PHP components and applications. However, there may be some scenarios where editing source-code might be the best way to customize the application. This zip file contains the source-code for the Windows Azure Companion web-site.

For other compute sizes (ExtraSmall, Medium, Large, or ExtraLarge), please use the source code and rebuit the package by modifying the VMSize attribute in .csdef file. Details of the compute instance sizes and related billing information is available here.

Application Architecture

The schematic below illustrates the high-level architecture of the application:


Getting Started

Getting Started with the using the Windows Azure Companion for deploying PHP runtimes, frameworks, and applications is as easy as 1, 2, 3. OK, its more like 1,2,3,4.

Step1: Sign-up for a Windows Azure account (Check-out the current Windows Azure offers here)

Step2: Download and unzip the package. Extract the .cspkg (cloud package) and .cscfg (service configuration) files.

Step3: Update the service configuration for the following items
  • Update the ApplicationTitle and ApplicationDescription. This is the text that is shown on the home page of the Windows Azure Companion web-site.
  • Update the WindowsAzureStorageAccountName and WindowsAzureStorageAccountKey to the appropriate values for your Windows Azure account
  • Update the AdminUserName and AdminPassword for the Windows Azure Companion web-site
  • Update the applcation ProductListXmlFeed to point to the URL of the application feed. You may write your feed or to get started check out the feed that Maarten Balliauw has made avaialble (Maarten's application feed). If you decide to write a custom feed, please make sure it is accesible on a public URL. You can also save the feed to a public blob container on your Windows Azure account.
  • There are several other settings in the serviceconfiguration file, but they are optional. The settings are well documented in the configuration file code comments.

Step4: Deploy the WindowsAzureCompanion.cspkg to your Windows Azure account. Please refer to this walkthrough for step-by-step instructions on how to deploy the cloud package. Since you already have cspkg, you can skip the first section and go directly to the section titled To Select a Project and Create a Compute Service.

Now you can begin installing the runtimes, frameworks, and applications that are available via the application feed!

Remember that the admin port of the application is 8080 by default. So the URL for the Windows Azure Companion will be http://<yourdeploymentname>

Application Feed Schema

Please refer to the WACompanionFeedSchema.pdf for detailed documentation of the application feed schema used by the Windows Azure Companion.
Here is a sample feed that you can use to get started (A BIG thank you to Maarten Balliauw for contributing the feed)


Microsoft Corporation
Last edited Jul 13 2011 at 4:17 PM  by jccim, version 50
ChrisKoenig wrote  Apr 20 2011 at 5:25 AM  
Shouldn't we make a feed available on either msdn, or Maarten's feed is awesome, but is it being maintained with the current versions of all the PHP software?

Page view tracker