Open source, adaptable platform for building and running a modern online publication.
Having an online presence is important to share your work and build your community. Whether you want to showcase your work to donors and supports or spread your message to more people, you can reach a lot more individuals on the internet than you could ever do in person.
Ghost is an open source blogging platform with simple and easy to use tools. It is similar to other blogging platforms like WordPress but much more simple and lighter making it an excellent option for those who don't want to spend too much time maintaining websites or blogs.
"Privacy, security and speed are some of the most common reasons for why large companies and publications favour Ghost for their publishing needs."
Ghost uses a stable open platform. It is SEO friendly, and it's not PHP definitely.
There are a couple of ways you can install Ghost for you or your organisation. If a developer is working in your organisation, you can have Ghost installed onto your servers to integrate it into your existing website. When hosting it on your servers, Ghost is entirely free.
But if you don't already have a site or don't have any help with the technical bits, you can subscribe to Ghost PRO. In the pro account, your blog is hosted on Ghost's servers, and all you have to worry about is adding content to your brand new blog. We consider Ghost one of the best value for money tools for non profits.
Markdown: Ghost has a simple non-distracting editor based on markdown allowing you to make quick formatting and focus on the content. If you're curious about markdown, read more here.
Preview window: Ghost offers a live preview window beside your text editor that shows you your content as it would be when published. Having this preview makes it easier to format your content as you write.
Content management: Organise all your content into categories with tags. Ghost also comes with a robust search feature that can find what you're looking for no matter how old.
Teams: Create accounts for colleagues so they can help out. Ghost provides you with different roles with varying access to administrative features. Roles include Admin, Editor, Author, etc.
Scheduling: Write articles and schedule them to be posted at a later time and date. This way you can stick to an upload timetable.
SEO: Ghost comes with built-in search engine optimisation with semantic markup, permalinks, XML sitemaps, canonical tags and automatic metadata.
Automatic backups: Ghost regularly saves your data every time you make an edit so that you never have to worry about losing your work due to power failures, system crashes, etc.
Themes: There are many free and paid themes you can choose from to best suit your organisation, and it's image.
Desktop apps: Download Ghost onto your desktop. It is available for Mac, Windows, and Linux.
We will run and host Ghost on Google Cloud Platform (GCP) Free Tier.
Google Cloud Platform, offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search and YouTube.
GCP offers $300 free credit for the first year to get started with any GCP product ( such as App Engine, Compute Engine, and Cloud Storage). Find out more about all its products.
Let's get started with Ghost and GCP. Will will first set up GCP account and then install Ghost blog on it.
To get $300 free credit from Google, you need a gmail account. Create your gmail account first, and click here to sign up for GCP account. You will need to setup your billing info ( such as your name, organisation name, payment card details, and address) here. Google creates a billing account for you and credits $300 to your account. but Google asks you for your credit card to make sure you are not a robot. You won’t be charged unless you manually upgrade to a paid account. Read more about billing during the free trial. Once you have used your free credits, you can upgrade your account anytime.
Let's set up ghost blog. Once you have created a GCP account, go to Google Cloud Console, and you would see your dashboard interface.
Create your first project by clicking on "Select a Project". Here I have already created a project called "ghost1". Once you click on "Select a Project", you would get a pop up where you would have to name your project and click on Create Button.
Click on the hamburger menu icon present at the top left, and search for Deployment manager by scrolling down. Once you find it, click on Go to Marketplace.
In the search box, search "ghost certified by bitnami" and hit Enter button on your keyboard.
Click on the search result you get, and you would see the Ghost Certified by Bitnami page. There you can see the estimated cost/month which is $14.20. This will be charged from your $300 free credits first, so no need to worry about. Click Launch on Compute Engine button.
Next, you can either name your deployment ( here ghost-1) or proceed further. You should not change any configuration for now ( if you don't understand the tech details), but you can change it later anytime easily.
You will also see your estimated costs once you start changing your machine details. Click on Deploy button on the bottom of this page. It will take a few minutes. Your screen will show you the message, "ghost-1 is being deployed", so please wait till you get a green icon on your deployment name ( here ghost-1).
Once your deployment is ready, you will see a green tick on the deployment name, and you will also get a confirmation email.
Now there are few things to note. One, at the top of your dashboard page, you will see credits remaining ( in your currency). Second, at the right side of the page, you will see one ip ( here http://188.8.131.52/) and an Admin URL (http://184.108.40.206/admin). Clicking on them will lead to your website for now. You will also see username to login your admin panel, and temporary password.
Now we have to map this ip to our domain. You can purchase a domain name from GoDaddy, GoogleDomains, NameCheap, Bluehost or BigRock to name a few. Let's say I have purchased a domain called theanalyticsstudio.in from GoDaddy. But before mapping our custom domain, we have to first make this ip static. Currently this ip is dynamic which means the ip will change every-time we start our server. you will prevent your site from breaking after server outages or restarts. In Google cloud, this is called "reserving a static ip address". By reserving a Static IP Address, we can prevent our blog from breaking if server outages or restarts. To do so, go to Menu > Networking > VPC Network > External IP Address.
Go to Type column and change "Ephemeral" to "Static".
A pop will appear where you can enter a name, such as ghost-ip. This will make your ip static.
That's it. Now let's map this ip to our domain. I am using GoDaddy as the domain name provider.The admin interface of all the domain name providers might be different once you login, but the steps will be the similar.
Login to Godaddy, and move on to My Products section, and click on DNS tab present at the extreme right of your domain
Once a new page Record opens, click on the edit icon (pencil icon) at the right of the Type A record.
Put your static ip ( here 220.127.116.11 ) without https or http or slash in the Points To section, and Save it.
That's DONE ! Go to your domain http://theanalyticsstudio.in/ and you would see your Ghost blog up and running. Your Ghost admin panel will be located at yourdomain.com/ghost or yourdomain.com/admin or staticIp/ghost or staticIp/admin with the default username and password located at Menu (left Side Icon of your dashboard) > Tools > Deployment manager > Deployments
Login to your admin panel with default username and password and you can change the username as your email and your desired password.
Go to your profile, and change Full Name, Email , and Password first. After setting this up, you can login with your new credentials at theanalyticsstudio.in/admin
Now a few steps more to finish the set up. When you go the Desgin Tab of your admin panel you would still see the static ip as urls. Here we need to convert static ip to theanalyticsstudio.in and that change will be applied everywhere in your site code.
Let's do this. Menu (left Side Icon of your dashboard) > Tools > Deployment manager > Deployments. At the right side of the panel, there is SSH tab. Just click on the word SSH and a new pop will open.
The pop up indicates that you have connected to the server. This is SSH window.
Now, copy (CNTRL +C command) the following code very carefully:
sudo /opt/bitnami/apps/ghost/bnconfig --machine_hostname theanalyticsstudio.in
Here instead of theanalyticsstudio.in, just put your domain name without any slash or https/https. Once you have copied the code, go to the SSH window and click after the $ sign first, and paste the code by (CNTRL +V command), and Hit Enter. Wait for a few seconds and you will get an empty new line.
Again copy the following command and paste in the new line.
sudo mv /opt/bitnami/apps/ghost/bnconfig /opt/bitnami/apps/ghost/bnconfig.back
Now we have to restart the Ghost server by using the command below. Just copy and paste again, and hit Enter:
sudo /opt/bitnami/ctlscript.sh restart
Your screen will have something like this below:
Now, we have to remove :80 from http://theanalyticsstudio.in:80 . So, again copy paste this command at the next command line and Hit enter:
sudo vim /opt/bitnami/apps/ghost/htdocs/config.production.json
In the pop up window, carefully press i key from your keyboard and use Up arrow from the keyboard to go up and Down arrow to go down. Go to the url http://theanalyticsstudio.in:80 and move right or left to delete :80
This is how it should appear once you have edited:
Now, hit Escape button from the keyboard
Don't forget to add colon before the wq, and Hit Enter button
Now you will be back at your previous SSH window. Copy paste this command to restart the server again.
sudo /opt/bitnami/ctlscript.sh restart
Now go to our Ghost admin Panel, and Design Tab. You will see there is not port :80. That's it.
Now, one last thing. When you visit your site, you would see a banner at the bottom right.We have to remove this banner.
Again, go to the SSH window, and copy paste these commands one by one:
sudo /opt/bitnami/apps/ghost/bnconfig.back --disable_banner 1
sudo /opt/bitnami/ctlscript.sh restart ghost
Now close the pop window and that's it. Go to your website theanalyticsstudio.in and your site is live now