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. Preliminary feedback on this tool has informed the creation of a new set of tools to deploy applications to Windows Azure - available at http://azurephp.interopbridges.com/downloads
-----------------------------------------------------------------------------------------------------
THE FOLLOWING CONTENT IS NO LONGER CURRENT. REFER TO THE LINK IN
NOTE ABOVE
Recommended pre-read
Joomla! 1.6 recently released and I thought it would be a good idea to install in on our cloud services platform using the Windows Azure Companion to get a Joomla! instance out to the cloud in a few easy steps and give an overview on the features available with this great Content Management tool and the Windows Azure platform
Downloading the Windows Azure Companion
The Window Azure Companion is hosted on the MSDN Code Gallery, and when you visit the project site, and click the Downloads tab, you'll see the download options shown below (as of the December 2010 CTP)

There are different Virtual Machines (VMs) of a Windows Azure cloud service which you can quickly upload within a provisioned Azure account. If you don't have an Azure account, you can find the current availableoffers here . ; In the current (December 2010 CTP) downloads there are two small sized VMs with and without security (https). There is also the companion source so that you can assemble your own VM if you need a larger size or need to modify the underlying plumbing.
We will be using the VM prepackaged option
(WindowsAzureCompanion-SmallVM-Dec2010CTP.zip).
Click on the link and you will be given the following windows
for you to accept the license and download.
Click on "I agree"
You will then get a "File Download" window, Click "Open"
You will then get a window with the status of the file download
and you will see the "Internet Explorer Security" window asking you
for permission to open the file. Click on "Allow"
A window showing the contents of a temporary folder, similar to the one below will open. In this window you may see the following files. The first is ServiceConfiguration.cscfg file which contains a service configuration XML document for the service and compiled code, in the WindowsAzureCompanion.cspkg file. There is also a .txt document with the License for the code. Click on "Extract all files"

You will then get the following window and enter in a path to a
directory you will drop the files in. Enter in the path, in my case
the default downloads directory on Windows 7 for my account, in the
text field labeled "Files will be extracted to this folder", make
sure the checkbox "Show extracted files when complete" is selected
and click the "Extract" button
You'll then see the folder you picked open up in a new window
with the files you saw earlier,
You will then want to provision a storage account configured on Windows Azure. If you do not have one, then you will need to set one up and the article "How to Create a Storage Account" on MSDN will help you get started.
Before you deploy the service to Windows Azure, a few modifications to the ServiceConfiguration.cscfg file are required to be done.
You will want to specify the your Windows Azure storage account, I have named mine "wacompanion" and I copy and pasted the key that I set up when I created the storage account from above. I have redacted it for security and left it as ****** below, please use your own. You will find this in the "Windows Azure Storage Account Details" section
<!-- Windows Azure Storage Account Details. -->
<Setting name="WindowsAzureStorageAccountName" value="wacompanion" />
<Setting name="WindowsAzureStorageAccountKey" value="******" />
You will also have to set up an admin account for accessing the Windows Azure Companion once it's running. You will find this in the section labeled "Admin user name, password and e-mail". We'll just a simple username "root" and a strong password (something that contains, letters, numbers and symbols on your keyboard) of your own choosing. Replace ***** with yours
<!-- Admin user name, password and e-mail. Please use a good username and strong password -->
<Setting name="AdminUserName" value="root" />
<Setting name="AdminPassword" value="*******" />
Next we will be specifying a feed that indicates what applications are available to be installed. ; For this example, we will be using a feed that Maarten Balliauw has made available, but you can generate your own following the Windows Azure Companion Feed Schema. You will find the appropriate to do this in the "Atom Feed for Product items to be installed" section as per below.
<!-- Atom Feed for Product items to be installed. This URL should be internet addressable -->
<Setting name="ProductListXmlFeed" value="http://wazstorage.blob.core.windows.net/azurecompanion/default/WindowsAzureCompanionFeed.xml" />
Next, deploy your application to a new hosted service on your
Azure account. ; If you need a refresher for this part, refer
to the "To select a project and create a compute service"
section of
this walkthrough on MSDN, using the .cspkg we
downloaded and the .cscfg file we just updated. ; Once
it's deployed you can browse to it at port 8080 of
whatever URL you specified when you set up the Azure hosted service
(computing) instance. Make sure that the service is running
too Jfor this tutorial the link may not work for you
as I may have suspended or deleted the service. The diagram
below is a good visual indicator that your service is running,
namely that your "AdminWebSite" is "Ready" (It's green, rather than
Yellow or Red).
Browse to your deployment, http://[yourservicename].cloudapp.net:8080. You'll be greeted with a welcome message via an ASP.NET MVC application; that message, by the way, is configurable via the ApplicationDescription setting in the ServiceConfiguration.cscfg. Upon logging in (via the link in the upper right), you'll have access to the other functionality of the Windows Azure Companion as well.

Click on the "Log On" button on the top right corner of the
webpage where you will be prompted for the "User name" that you
chose earlier and the "Password" too
Installing Joomla 1.6, PHP and some other open source applications!
Next we will be installing Joomla 1.6 and since it runs on PHP,
the companion is aware of that prerequisite and will pick it up too
unless however the feed we use does not have it in the product list
(ProductListXmlFeed). Click on to the Applications tab, which here
includes Joomla along with some other popular Open Source PHP
packages. Click on the "Joomla 1.6" checkbox and you'll also notice
that "phpMyAdmin" (an open source management tool) will also get
automatically checked. Click on the "Next" button to continue
The next screen prompts for some versioning information for
Joomla along with similar requests for other prerequisites. ; I
will be using Joomla version 1.6 (older versions may also be
available), using the default paths and I will do so also for
phpMyAdmin. Since this feed also requires the PHP runtime, and the
MySQL database, those prerequisites also come along. Keep all the
defaults and click on the "Accept" button to continue (you will be
accepting all the licenses of the product)
While the applications are installing, you'll see progress messages appear on the Admin tab of the Windows Azure Companion site. ; Those messages, by the way, are also recorded to the Windows Azure Storage account you configured in the .cscfg file.


Upon completion, the applications will show as installed (check box, greyed out) and ready to launch.
Configuring MySQL for use with Joomla
We will now want to configure a database in MySQL, We will use
the phpMyAdmin tool. Click on the "Launch" button. 
On the next screen, leave "Server" blank, "root" for the Username and "adminadmin" for the Password.

You'll next see the dashboard. We'll first change the password
for security. Click on "Change password"
I recommend a strong password (something that contains letters, numbers and keyboard symbols) but somewhat easy to remember

You will get a message, "The profile has been updated". Click on the "Back" link to continue

You will need to login again using your new password. In the dash, in "Create new database", enter in the name of your preferred database, I am calling mine "Joomla". Next click the "Create" button.

You will receive a message that the "Database Joomla has been created" with a green check mark next to it

Configuring Joomla
From the Windows Azure Companion Application Tab, click on the
"Launch" button for Joomla!
You will then be presented with an option to "Select Language", then click "Next"

For the "Pre-Installation Check", accept the defaults and not the recommended settings, and then click "Next"

Accept the "License" by clicking "Next"

You may enter in your "Username", we used "root" and the "Password" you chose earlier. For the "Database Name" enter "Joomla", accept the defaults and click on the "Next" button.

We will skip the "FTP Configuration" by clicking the "Next" button

You can then set a "Site Name" of your preference and include
additional information for the Admin of the site, including setting
the "Admin Username", "Admin Password" and the "Admin Email" to
help you reset your password in case you forget and not have to
reconfigure later.

You now have an active Joomla 1.6 usable installation

Removing the Joomla Installation Directory
A security feature of Joomla! as you may have already noted, is
to have you cleanup your "Installation Directory" before your site
is useful. For that we will launch the "eXtplorer" File Manager
from the Windows Azure "Applications" tab.
We'll login using the defaults, use "admin" for "Username" and
"Password"
Since these are the defaults you will be prodded to change it.
Click on "OK" to continue
Enter "admin" for the old password and set a "New password" of
your own. Click the "Change" button to continue
We will now see a list of directories for the applications you
have installed. Double-click on "joomla"
Next we will want to right-click on "installation" and select
"Delete" to remove it.
Click on "Yes" to delete it
Now launch the Joomla! application from the Windows Azure
Companion "Applications" tab or enter the URL in your web browser,
http://[yourservicename].cloudapp.net/joomla.
You should no longer see the security message that asks to remove
the Installation folder.
Congratulations you're running Joomla! 1.6 on Windows Azure! For more information on Joomla please visit, http://joomla.org
Wrap Up
Joomla! and Window Azure work
really well together and now it's easy to get it
deployed. ;
You also have the opportunity of getting other of your favorite
open source applications out on the cloud service. Please take some
time to try them out and other content on
Please also check out the source code for the Windows Azure Companion, so check it out, add your own features, or contribute to the discussion on the MSDN Code Gallery.
+
