If you are one of those devs who always wanted to have your own blog but never ventured into writing one, thinking it will be difficult and time-consuming, you have landed at the right place. This production-ready blog was up and running in less than 90 minutes.

If you have decided to host your blog, the first thing you need is an address on the Internet. There are plenty of vendors like GoDaddy, HostGator, NameCheap, etc where you can buy a domain. Needless to say, the longer you pay upfront, the lesser you will be charged. You will find .tech domains very cheap for 1st year however do check renewal cost. These companies cross-sell customized emails, SSL certificates, etc, but you really don't need those. Setting up this blog, buying a domain was the only paid component. At this point, you have an address on the internet, however, it is good for nothing.

In order to return some content/page, you need a server to host it. I used AWS for this, it might look daunting to use AWS especially if you have not used it before, however, there are plenty of resources on the web to get started with. Make sure, to use the free tier resources, as initially, you don't need a powerful machine. Next, you will need to connect your web address to AWS. This part is done on the DNS provider's end. You will need to add nameservers whose value you will get from AWS route53.

We are almost done now, the last step would be to choose a CMS of your choice. Again plenty of options are available like WordPress, WIX, ghost, etc.

WordPress vs Ghost vs Medium - Which Is Best for Blogging?
WordPress vs Ghost vs Medium - which one to choose? They are all popular blogging platforms, but they also have their pros and cons. Find out which one is going to be the best for your personal needs and how to get started with each. Read this if you want to get into blogging!

Now, that you have a CMS, simply follow their documentation and install it on the server. This blog was built on ghost. Once your ghost setup is done, all the components are now linked. Use letsencrypt to set up free SSL.

$ ghost setup ssl
? Enter your email (For SSL Certificate) xxxxxxxxxx@gmail.com
+ sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --domain buildatscale.tech --webroot /home/ubuntu/code/blog/system/nginx-root --reloadcmd "nginx -s reload" --accountemail xxxxxxxxxx@gmail.com
✖ Setting up SSL
One or more errors occurred.

1) SystemError

Message: Your domain name is not pointing to the correct IP address of your server, check your DNS has propagated and run `ghost setup ssl` again‌

If you face the above SSL issue, just allow access to port 80 and 443 from outside in the security group. This is needed by letsencypt to validate if you own the domain,

And there you have it, setting up a production-ready blog from scratch in less than 90 minutes. Read up on how you can get more traffic to your blog. There are few points which I can add.

  • Write more, initially, the quantity will triumph quality. Being consistent is the single most important you can do to get more page views.
  • Finding a niche from the get-go is difficult, unless you know, what audience you are targeting. Put out more content consistently and slowly you can find your niche audience.
  • Almost any content you write will certainly already be written previously, however, don't be shy in putting your own take on any topic. Most of the time, small how-tos and small snippets will do.