Earlier today, Amarnath (Founder, CAT ) reached out to me regarding setting up his personal blog. We discussed several options and converged on ghost as it is super clean and neat at the same time powerful as well. Towards the end the conversation, I agreed to share a tutorial to help him setup his blog. So, Amar, here you go - Personal blog setup with ghost, ondemand!

Options

  1. Hosted on ghost server - starting at $29/ month ( straight forward setup / as simple as a sign up but expense slightly on the higher side)
  2. Self hosting using digital ocean - $5/ month (multi step setup - a) setting up digital ocean server b) mapping your domain to the ip)

Time : 15 - 20 mins

For this setup, we'll be using the 2nd option.

Pre- requisites:

  • Digital ocean account with credit card linked
  • You own domain name (for this tutorial, I'll be using my personal website (jibinjose.com) to setup the blog; ie the blog url will be blog.jibinjose.com

Steps:

  1. Sign in to your digital ocean account and select -> Get started with a droplet

2. Select -> Marketplace

3. Type "ghost" in the search bar and select ghost

4. Select -> Ghost on Ubuntu 18.04 , Standard and $5/ month as shown below.

5. Scroll down and select Banglore (I've selected Banglore since it is the closest server to my location and my subscribers)

6. Scroll down and select password. Enter your desired password (Make sure you remember this, we'll be needing this to complete the set up later )

7. Once you've entered the password, scroll down and select an appropriate name for the host server and click on create. It will take few seconds for digital ocean to create a server for you.

8. Once the droplet is created, you'll see a block like below. Hover your mouse over the ip address to copy it.

9. Before we move to the next step, we'll need to configure our domain names' A record (My domain in is godaddy ; the images represent the same. But the configuration is similar for all service providers).

10. Sign in to your godaddy account and select the domain in which you'd like to setup the blog. (in this example my domain is jibinjose.com) Select -> Manage.

Scroll towards the bottom and select -> Manage DNS

10. Scroll to the bottom of the list of records and select -> add

11. Choose the record type as "A"

12. Give the host name as "blog" (so that my blog will  be set up as blog.jibinjose.com / name as you wish. If you give the host as notes, the blog will be at notes.jibinjose.com)

13. The host should point to the IP address we copied in step 8

14. Choose "custom" in TTL

15. Enter "600" seconds and click on save. We are done with the domain setup.

16. Next step involves setting up ghost in your server. For this, open the terminal in your mac/ windows (For mac, you can use command + space to open the search bar and type terminal to access it)

Enter -> ssh root@your_ip_address

eg: ssh root@139.59.45.209

The prompt will ask for your input; enter -> yes

The prompt will ask for your password; enter -> your password (the one created in step 6)

After this, the setup will run; wait for the next prompt and do not close the terminal in the meantime.

17.  In the next prompt -> Click enter (refer image below)

18. The setup will run for a while and when prompted, enter your blog name as desired.

In my case it is blog.jibinjose.com

19. In the next prompt, enter your email id (This is for ssl certificate creation). Once you press enter, the setup will run and voila! your blog is ready for use!

20. You can head to blog.jibinjose.com (in your case it will be blog.yourdomainname.com) to check if it is working.

21. One final step is required to setup ghost and add the admin account. This is a straightforward process.

Go to blog.jibinjose.com/ghost (In your case it will be blog.yourdomainname.com/ghost)

Setup Ghost as you'd setup any account (reference images below as well)

That's it! You can start writing your blog now !