For the past week I've been looking around for PHP blog CMSs. My criteria were :

  • PHP : So I can edit it easily enough, at least some HTML/CSS theming.
  • With either a backend (admin portal) or Markdown editing (through git commits/ versioning)
  • Compatible with Azure's Websites.
  • Easily configurable for SEO referencing

I ended up using GhostCMS

Ghost Logo

Ghost is a free and open source blogging platform written in JavaScript and distributed under the MIT License.

Pricing

If you don't want to install your own ghost and setup your own hosting, you might want to consider buying one of Ghost's licences.

Otherwise, if you feel like "developing" a little, here is how to :

1) Read the documentation

Ghost is free for developers, as you can read at the bottom of the 'Pricing' page of their website.

Ghost Free for Developers

The documentation about Ghost can be found here : https://docs.ghost.org/

2) See the work of Radoslav Gatev

A fellow Micrsoft MVP : Radoslav Gatev created a Github repository including a "One-Click install" script for Azure.

His work is amazing and you can find it here :

3) Click on the button and follow the steps

On his Github repo you will find this button :

Ghost Azure

Clicking on it might bring you to the Azure Login page if you weren't already logged in.

In the next screen you need to give some informations to create a Web App containing your blog.

  • Directory : the Azure Active Directory you want to use. You probably have only one so select that one. (See https://blog.francois.raminosona.com/rename-an-azure-directory/)
  • Subscription : the Subscription under which your app is going to run. This is going to determine how running your app is going to be billed. (See https://blog.francois.raminosona.com/reorganising-your-azure-subscriptions/)
  • Resource Group : you can choose either to use an existing one or create a new one. I would suggest creating a new one since this process is going to create a web app that can not live next to an existing one.
  • Resource Group Name : if you selected "Create New" in the previous field, enter in this field the name of that new Resource Group.
  • Site Name : you can enter here the name of the Web App that will be created.
  • Site Location : this field sets where (physically) your blog will be hosted. Your Subscription may not be able to deploy on some Locations.
  • Sku : this is the way your app is going to be billed. A too low Sku is going to allocate a Web App with low performances.. This can be changed afterward.
  • Deploy App Insights : sets if a dedicated Application Insights should be deployed.
  • Email Service : you can setup an email service in the installation of Ghost, these fields are the equivalent. https://docs.ghost.org/concepts/config/#setup-an-email-sending-account
Azure Deploy 2/3
Azure Deploy 3/3

And there you go :

  • Click on that link at the bottom to see your Ghost blog.
  • Add "/ghost/" to the end of your blog's URL to access your admin panel.
Welcome page for Ghost