Comments
bruce.armstrong wrote: Somebody just said it better than I did, and with more chops to say it: Open Letter to Mark Zuckerberg, Sheryl Sandberg & Facebook Mobile
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Host WordPress Blogging Platform on Windows Azure Cloud
We read stories about running SugarCRM and Microsoft ERP software running on cloud; here is how WordPress can run on Azure

Microsoft Azure services platform is a comprehensive offering that enables enterprises build full scale applications that leverage the advantages of the Cloud computing paradigm.  A useful analogy is to compare Windows Azure to conventional on-premise operating systems. Conventional operating systems manage basic storage, devices, and run applications. Windows Azure provides the same functionality within Microsoft's datacenters which are built to provide cloud computing. In order to provide a runtime environment for custom applications, Windows Azure's Fabric Controller manages a datacenter of servers to provide compute power.

As an open platform, Windows Azure offers choices to developers. It allows them to use multiples languages (.NET, PHP, Ruby, Python or Java) and development tools (Visual Studio or Eclipse) to build applications which run on Windows Azure and/or consume any of the Windows Azure platform offerings from any other cloud or on premise platform. With its standards-based and inter operable approach, the Windows Azure platform supports multiple Internet protocols including HTTP, XML, SOAP and REST -key pillars of data portability.

PHP being one of the popular languages for web application development, release of PHP Azure SDK has opened up a new possibility for PHP developers.  While PHP on Azure is an obvious choice to consider for new application development, it is even possible to migrate existing PHP-MySQL applications to SQL Azure based azure platform to leverage the benefits of Microsoft's cloud infrastructure. This story showcases how to migrate WordPress blogging platform onto windows azure cloud.

Pre-requisites
First step is to create a windows azure account at http://www.microsoft.com/windowsazure/, if you don't have one already.  There is a free Azure platform trial offer going on till September, 2011 with 750 hours of computing power, 20GB storage and 1GB SQL Azure database.  Subscribe for a Azure Platform and a SQL Azure development accelerator cores via Microsoft online services portal.   Once subscription is active,        windows azure platform portal shows account details at https://windows.azure.com/.  Next step is to setup a storage account from this portal by selecting a URL and a region.

Download following software:

Choose php_sqlsrv_53_nts_vc9.dll, for it matches our PHP version, VC9 x86 Non Thread Safe.  Then, rename php-5.3.6-nts-Win32-VC9-x64 to php and Put the driver into ext folder inside php.   Extract the windows azure storage plugin to the plugins folder in wp-content of wordpress.

Configuration
Create a visual studio project by selecting new project -> CGI Web role under cloud templates. Add php and wordpress folders to Visual studio project structure. You need to configure PHP, Wordpress, Web role and Azure in next steps before package creation and deployment.

PHP Configuration
Rename php-development.ini to php.ini. Click to Open php.ini, look up extension_dir and change its value to "./ext". It indicates the extension directory of PHP. Add a new entry for sql azure extension as "extension = php_sqlsrv_53_nts_vc9.dll "to php.ini. Also, look up ;extension=php_curl.dll, and remove its comment .Because the azure plugin depends on Curl module.

 

WordPress Configuration

Rename wp-config-sample.php to wp-config.php which is the configuration file of Wordpress. Open it, fill the database connection information as shown below:

These details can be obtained from the azure portal

Web Role Configuration

Open Web.roleConfig, in the application element, change the fullPath attribute to "%RoleRoot%\approot\php\php-cgi.exe" and set the arguments attribute to an empty string.

Open Web.config in PHP_WebCgiRole project,locate the system.webServer section and insert the following (highlighted in red) configuration:

<system.webServer>
...
<modules>
...
</modules>
<handlers>
...
</handlers>

<defaultDocument enabled="true">
<files>
<add value="index.php" />
</files>
</defaultDocument>

</system.webServer>

In the <handlers> section, Change the path attribute of the FastCGI Handler to the string "*.php" to indicate that this handler should process any request for documents with this extension. Next, change the script`Processor attribute to the value"%RoleRoot%\approot\php\php-cgi.exe".

 

Azure Configuration

Go to Servicedefinition.csdef  and remove below section.  This is to fix HTTP 500 Internal Server Error in CGI Web Role when using Azure Cloud Tools 1.3

Go to ServiceConfiguration.cscfg, for settingsname , change value from

<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />

To

<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=Name;AccountKey=Key" />

Account Name & Key can be obtained from Azure storage Portal

Packaging
Open configuration of WebCGIRole1 by right clicking and selecting properties option.   Set instance count to more than two so that application tier will be multi-tenant, which is the most important feature of a SaaS application.

Now, Select WindowsAzureProject and Publish.  Create a Service Package Only option and press OK.  Packaging process creates two files, one configuration file and another deployment package.  Now we are ready to deploy the package to azure hosting account.

Deployment
On Windows Azure portal, create a hosting account by providing: Service name,URL Name,Region,Stage/Production,Deployment Name, Package and Configuration File as shown below:

Once the deployment is complete,  WordPress installation page will open up for further actions

Once the installation is complete, you can login and start posting content to wordpress blog.  Access live blog here http://wp-azure.cloudapp.net/

Conclusion
This tutorial explained a tested process for configuring all components for hosting a WordPress blog on windows azure platform.  If you are using a hosted WordPress blog and if you are paying fixed infrastructure cost, consider migrating it to azure cloud platform and enjoy the pay as you go benefits of a cloud infrastructure.

Reference

About A Jaleel Kavungal
Solution Architect at Mahindra Satyam

Latest Cloud Developer Stories
With BigDataExpo 2012 New York (www.BigDataExpo.net), co-located with 10th Cloud Expo, now just three weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the ...
With Cloud Expo 2012 New York (10th Cloud Expo) now just three weeks away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
If your organization already uses virtualized infrastructure, you are well on your way to providing IT as a Service. But as businesses demand faster results in today’s competitive market, organizations look to gain more benefits from cloud computing than just virtualized infrastr...
Facebook sold off again Tuesday scrapping the bottom at $30.98 after Reuters reported that Scott Devitt, a research analyst at the IPO’s lead underwriter Morgan Stanley, unexpectedly cut his revenue estimates on the company during the roadshow leading up to it going public last F...
In his session at the 10th International Cloud Expo, Marvin Wheeler, Open Data Center Alliance Chairman, will discuss the success the organization has had in charting the requirements for broad-scale enterprise adoption of the cloud and how 2012 is forecast to be the tipping poin...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News

The Video Electronics Standards Association (VESA®) today announced that it ...