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
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.
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 :
- His blog post about migrating from Ghost 1 to Ghost 2 : https://www.gatevnotes.com/introducing-ghost-2-on-azure-web-app-service/
- His repository containing the Magic Button : https://github.com/solvsoftware/Ghost-Azure
3) Click on the button and follow the steps
On his Github repo you will find this button :
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
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.