This post focuses on how I got my password back, upgraded Ghost (and Node) on Azure, and some of the things I learned along the way.
How this all began.
Like most developers, I have roughly a million passwords that I use for a variety of things and primarily due to some of the other issues listed, I can occasionally forget or mistype something five times.
Once I realized that I was actually locked out of my account, I thought that it would be no big deal. I can simply send a "Reset Password" email and be on my way. This would normally be the case, unless you forget to configure the mail service on Ghost to actually do that.
So, here I am. Locked out of my own blog and unable to actually reset my password. So, I thought, why not take this time to actually upgrade Ghost to the latest version and hack my way through unlocking myself in the database.
Updating Ghost on Azure
If you haven't played around with Ghost on Azure, it's incredibly easy to get started with it. Felix Rieseberg actually has a GitHub project called Ghost-Azure, which is basically a one-click and you have a way of deploying it up to the cloud.

If you deployed Azure this way, then you'll find that syncing your Ghost deployment can be managed entirely through the Azure Portal via a Sync button.

Clicking Sync will target the current Ghost-Azure repository and handle the upgrade process for you and that's it. Super easy right?
Well, what if that doesn't work?
Apparently, for most of the population, the previous Sync approach works just fine. I'm not part of this exclusive club I'm afraid. Upon restarting the Web Server and attempting to access my site, I was met with a blank screen.

Not good. Thankfully, the Developer Tools let me know that some kind of generic 500 error was being thrown, which is always super helpful. So, I needed to dig a bit deeper.
Meet Kudu
When troubleshooting the 500 error, there wasn't a great deal of information at my fingertips. Since the site was running on Azure, I wasn't able to easily just RDP into it and check out the Event Viewer or look at a Stack Trace.
Thankfully, Azure sites feature a service called Kudu. Kudu is the engine behind just about everything with regards to Git-based deployments on Azure, but it does so much more.

Kudu can tell you just about anything that you need to know about your applications and provides a bevy of great and useful features.
- Debugging Consoles
The web-based portal provides both a normal and Powershell-powered consoles that allow you to execute commands within your application, run that installer that you FTP'd to the site and anything else you would need to do from a Console. - Environmental Information
Kudu will provide you with just about anything that you could want to know about your site. Connection strings, paths, HTTP headers, server variables, system and architecture information, etc. - Process Explorer
There's also a fully-featured process explorer and profiler, which allows you to see all of the current processes running on your application. CPU usage, threads, memory allocation, and more. - Error Logs and Dumps
Full access to streams of the applications logs, diagnostic dumps, etc. This is great for figuring out what might be blowing up behind the scenes and give you a path towards fixing it.



Ehsan SajjadPosted Dec 14, 2016, 11:58 AM
Can you write a post on how to setup own blog on azurewebsites.net ?