One of the items on my ever growing todo-list was to install WordPress on Azure and last Friday I finally found the time to do it. And if you can’t wait to read to end of this post then I happily serve you the spoiler right here, right now (do we hear Eddy van Halen in the background? If not, then I guess you are a bit younger than me): It’s so easy that you don’t need to continue reading this post but instead hurry over to your Azure Portal, click App Services, + Add, search / filter for WordPress and select either the WordPress (on Windows) or the WordPress on Linux template from the Marketplace.
WordPress or WordPress on Linux
Whether you select WordPress (on Windows) or WordPress on Linux obviously is a matter of taste, skills and probably also pricing. Basically I feel that WordPress is more “at home” on a Linux systems, but on Azure this means that you WordPress site will run in a Docker Container. This is basically not a problem but I personally am a big fan of the App Service Editor that allows me to upload, delete and edit files in the www-root. And I also appreciate up- and downloading (log-) files using the default Azure FTP deployment capability. And for a Docker Container I cannot use these key features (but maybe there is an alternative for both that I have not yet found and need another Friday evening to investigate a bit more).
Another interesting feature of the WordPress (on Windows) is the ability to have the necessary mysql database installed as part of the App Service, sharing resources from the App Service plan. Obviously this would not scale but for a quick development or small web project this is still pretty neat and cost efficient.
On the other hand, if you go for WordPress on Linux you would need to create an Azure Database for MySql (or implement your custom solution e.g. using a Virtual Machine) and this would immediately up your monthly costs.
Having said that… Obviously if you choose a more scalable database hosting solution for the Windows alternative you would need to configure an Azure Database for MySql as well.
The installation is so simple, as I already wrote in the introduction, that I won’t waste any words about. Just to proof it, I show you my test configuration.
Obviously I was only out to give a try with no further objectives. My aim is it to keep coming back to this post and discover how to:
- Integration Application Insights
- Configure logging
- Define a custom domain
- Scale up (and down)
- Review security e.g. writability of the wp-content directory