You may, or may not, see anything different.....

Hopefully, you'll see nothing on your side. Maybe a twitch or two here or there. What I'm going on about is I've upgraded the site framework from ghost 0.11.11 up to 1.7.1. Basically I went from a beta test to a major release in a single bound. What kind of idiot does that you ask? Obviously we both already know that answer. But what does that mean? I'm hoping it means nothing but sunshine and rainbows. But the process wasn't that easy.

Update: After publishing this, version 1.8.1 was released. That update was smooth as silk. 1 command.

Originally I had upgraded beta version from beta version. Following the normal upgrade (backup, untar, copy, update, restore, pray) procedures. I hadn't received any update notifications lately, so I went to ghost.org and looked up the current release. Color me surprised when I saw the latest was 1.7.1. No, not a new beta, but the actual release.

So I looked around and saw nothing about this huge update. So I jumped on the slack channel and asked. Austin from Ghost confirmed my suspicions. Its not an update. Its a release. The next thing for me to do was get up to the latest. Why? Because thats who I am. On my phone, if there's a red dot on an app I MUST FIX IT NOW. I know I'm not the only one (looking at you Brian).

405notallowed The peeps over at ghost.org have a little step by step by leap-of-faith page on how to get from 0.11.11 up to 1.7.1. Unfortuately for me, this was mostly suggestion rather than logic based on fact. Essentially it was back your shit up because we're gonna trash everything and start fresh. Then you can reimport your stuff. Oh by the way, your configuration isn't really how we do things now, so good luck.

Following all the steps line by line. Move, copy, paste, repeat, rinse. Then...then install failed...well it didn't finish. No errors, but it never finished the "Starting Ghost" portion of the installation. It was running, just not correctly. Whats a guy to do? Me? I went back to my friend Austin on the ghost slack channel. With his expert help and a lot "thats not normal" or my favorite "huh, thats odd", we proceeded to walk through steps to find out what went south. Austin led me down the unfamiliar hallways of Ghost. Config files, directory structure, finding a hidden directory in the wrong directory.
programmer-problems
Running ghost ls had no output. This was bad. So we went through the motions:

  • .ghost/config file was in /var/www directory. Needed to go into /var/www/ghost directory. My mistake.
  • Check ../ghost/.ghost/config file. Is it JSONic?
  • Check ../ghost/.ghost-cli file. Was missing "running": "production" entry.
  • .ghost-cli file was missing a comma, thus it was not JSONic.
  • ghost.service was from old version. Delete this.
  • Run
    1 ghost config process systemd
    2 ghost setup systemd
    to fix systemd process so Ghost runs on boot up.
  • sudo systemctl enable ghost_sitename.service enables the process.

I had to manually kill the processes at first because ghost stop said no instance was running. Why? Because I had ran the systemctl process instead of the ghost start. Doing this did not update the status of running in the .ghost-cli file. So I manually added "running": "production" to the file again. Then I was able to ghost stop and then ghost start. After this I was successfully getting the correct response to ghost ls. Start and stop commands worked correctly as well. A HUGE shout out to Austin from Ghost slack channel. His guidance helped me hammer out this beast and make her all nice and smooth again. Thanks Austin for the assist.

proxy-port-80-small
So what did I learn? First off, a shit load about some of the internal commands via ghost-cli. Some of the new layout of the file system structure. A bug or two thats being fixed. And a joy that comes from finally figuring out the puzzle and solving problems one at a time. Being able to look at it and understand how, and why, things do what they do. An understanding.

Why push forward just so it can make me feel stupid again? Where's the intelligence in that logic?

I've learned that taking the S.W.A.G (silly wild ass guess) and selecting Ghost as my blog framework of choice, was the right one for me. I've begun to feel that joy again of figuring things out. That feeling you got when you were a kid and that light bulb went off. My bulb might be dimmer, slower to warm up to the obvious, but damn it I can still get that glow.
works_on_my_system
All of this is a win for me. I needed this badly. Really. When I take these online courses and get a few weeks into them I begin to feel really stupid. I reread something 6 or 7 times. I rewind something 3 times and still don't it. Multiple choice questions are multiple guess answers for me. I feel dumb and demoralized. Which de-motivates me to keep going. Why push forward just so it can make me feel stupid again? Where's the intelligence in that logic? But this upgrade was to a different release. Not an update, but a whole new version. And I didn't lose any content or data at all. I kept my same configuration to. Score one for David!

I needed this. This lonely island that I stand becomes smaller each day.
Ubuntu
By the way, my server is hosted by myself. I do it all myself. Its not in the cloud or some data center. Why? I think because I can. I use Ubuntu Linux, not Microsoft Windows. To me, Windows feels exponentially weak when it comes to operating systems. Its fine if you just want to play and click. And no, I'm not a fan boy of any OS. They all have pro's and con's. This is my opinion based on my own experience and usage. I personally, and professionally, use:

  • Mac OS X
  • Linux
  • Windows 10
  • Windows 7

For this server, I uninstalled Apache2 (a great webserver) completely and now use nginx with Node.js (also PHP in the background for my secondary website on the same server). Oh, and of course Ghost for this little blog.
Node-vs-Apache-vs-Nginx-730x430
I'd love to hear any feedback you have, so please leave a comment below.
If you enjoyed this article, please share it on your Facebook-Twitter-Reddit-LinkedIn with your friends.