Tonight I completed the migration of this WordPress blog to Windows Azure.
I was having performance and health issues with the VM that I was renting from a local hosting company. The admin portal was proving to be a nightmare. I had upgrade the VM but the VM wasn’t upgraded. The hard disk was filling frequently and killing MySQL, and therefore killing the WordPress blog.
Why was I on a VM? Because I needed more processor & bandwidth capacity.
A failure last week led me to look at my options. I’ve grown comfortable with Microsoft Azure so this was the place that I decided to move to. My free €75 credit per month thanks to my MSDN account doesn’t hurt either!
I looked at the website hosting options but they provide too little disk space. The VMs, even the smaller ones, give you loads of disk space. I decided to fire up a cloud service, blob, virtual network and a small VM instance just for my new web server VM. I installed IIS, added the sites, installed PHP, WordPress, MySQL, and a few other bits and bobs and started the laborious process of migrating from the old VM.
I could have cheated but I decided to do a fresh install. It was more time consuming, especially when I had to split the WordPress export file into 40 smaller export files (the import of 2MB files was timing out). I added and configured all the plugins. And then the final steps:
- After some tests I configured the website to bind to aidanfinn.com and http://www.aidanfinn.com.
- I changed the DNS A records for those two URLs to switch to the public IP of the Azure cloud service.
My next steps will be:
- Configure MySQL automated export
- Deploy Windows Azure Online Backup to backup the IIS Inetpub folder and the MySQL export
And maybe I’ll configure the endpoint monitoring option in the Azure portal
This blog is running using WordPress on Windows hosting (Windows 2008 & IIS7) on a shared hosting platform. The control panel is Plesk. The WordPress application was installed from the control panel rather than the usual manual installation.
For SEO reasons you need a sitemap.xml file to tell search engine crawlers about your site and it’s content. There is a very handy Google (XML) Sitemaps Generator for WordPress. I installed it when I set up the blog last month but I kept getting errors that it could not create neither the sitemap.xml nor the sitemap.xml.gz files. When I tried manual executions of the build process then the page would fail to load. I did a tonne of searching and found two solutions:
- You have to create 2 empty files in the root folder of your WordPress site for each of the files. The generator will not create these files, only edit existing files. Empty notepad files will do on Windows. Linux folks can “touch” them.
- The next thing was permissions. This is where it became obvious to me that most WordPress folks are on Linux hosting. The advice was to use chmod or FTP to set the permissions to 777, i.e. all rights to all users, on the two files.
I’d done the first step. The control panel doesn’t allow us to modify permissions on CP installed application files/folders. I also couldn’t set the 777 rights via an FTP tool for this reason. I viewed the permissions and donned my traditional least privileges approach. The website runs using the application pool identity. So if I grant that account write permissions on the files all should be OK. Turns out that wasn’t true. The plug-in was running as something else.
I was unwilling to test more on my production site so I set up a dummy site and did a manual install of WordPress and the plug-in. Now I had rights to set permissions. I granted write permissions to web users (the only remaining group in the control panel). Now I ran the job manually. It worked!
I got the hoster helpdesk to set the permissions on the two files on this production site. I re-ran the job manually. Now it worked and my sitemap was created. Excellent. I’d been doing some other SEO stuff to bring search engines here and it has been starting to work. But the sitemap should help greatly.
Technorati Tags: WordPress
I had to disable permalinks today in WordPress. I found that scans of my site were failing because lots of URL’s could not be resolved. This was because Permalinks was miscalculating what do with with punctuation in a title. It’s a pity. It also means every URL on the blog had to change which is a royal pain in the backside. Sorry if you’d linked but there was no alternative. It appears to be a common issue.