How to install ghost on your VPS

Ghost is a powerful free blogging script based on Node.js. Its Just a blogging platform. It is a beautifully designed, completely customizable and absolutely Open Source blogging platform exists only with one purpose, posting.

Its installation can be done either on Ubuntu or CentOS, even on a low end VPS. I am doing these installation steps on a low end 250MB SSD VPS.


The important thing before you proceed with the installation is to install Node.js which is a modern platform for building fast and efficient web applications. The process is very simple and luckily, I wrote some tutorials about how to get it done easily:

Easy Way To Install Node.JS On CentOS
How To Install Node.Js On Ubuntu 14.04

Step 1 – Once you installed Node.JS, Login back to your server as a root user.

Step 2 – You may check your Node.js and npm installation by running these command:

node -v
npm -v

Step 3 – Now Let’s make a directory where we’ll put our Ghost files. In this situation I simply put it at /var/www,which is a common web directory on Linux:

mkdir -p /var/www/

Step 4 – Then go to that folder:

cd /var/www

Step 5 – Next, download Ghost latest package, using this command:

curl -L -o

Step 6 – Now we’ve downloaded file so first we have to extract that package. The command is:

unzip -uo -d ghost

Step 7 – Once done, all the scripts will be extracted at “ghost” folder.

cd ghost

Step 8 – Finally, issue this simple command to install Ghost on your server:

npm install --production

The process should be finished in about two to three minutes.

Step 9 – Now you can start Ghost to run on your server using following command:

npm start

Now Ghost is running with its default configurations, If you need to alter some configurations first , shutdown ghost by using ctrl+c .

Step 10 – Now edit config.js file by using nano editor.

nano config.js

While using nano editor, If you get error message saying “command not found“, then simply you need to install nano:

yum install nano -y

Step 11 – Now in Nano editor, scroll down (or use Control+V) and look for some lines under:

// ### Production
  1. Change given default url with your own blog’s url / domain
  2. Replace with your own server’s IP address
  3. Replace port 2368 with 80.

Save the changes and exit the editor.

Now we can start Ghost again using this command:

npm start --production

That’s all you have to do, Please Give your opinion below if you experience any issues or to discuss your ideas and experiences.