How To Install Ghost On Linode is a popular choice for a VPS hosting. They offer VPS hosting for the following operating systems (among others):

  • CentOS
  • Debian
  • Ubuntu
  • Fedora
This post will walk through how to signup for a Linode account, deploy CentOS, and install Ghost
  1. Head over to to signup for an account.
  2. Once your account is created you will be logged in and taken to the "Deploy a Linux Distribution" page.
  3. Select CentOS 6.2 under the 64-bit section. (If you are planning on running a production installation of Ghost you will likely want to increase the "Deployment Disk Size" to give you some more room)
  4. Click the Rebuild button. ![Install Ghost Linode](/content/images/2014/Jul/Linode-Deploy-a-Linux-Distribution.png)
  5. You will be taken the Linode Dashboard where you will see your CentOS disk image. With the "My CentOS 6.2 Profile" selected, click the Boot button. ![Install Ghost Linode](/content/images/2014/Jul/Linode-Boot-VPS.png)
  6. After a few moments you will see a "Success" message in your "Host Job Queue" at the bottom letting you know CentOS has finished booting.
  7. Next you need to click on the Remote Access tab at the top to get your username and IP address. You will find this info in the "SSH Access" section. ![Install Ghost Linode](/content/images/2014/Jul/Linode-Remote-Access.png)
  8. SSH into your VPS with the following command (use your own ip addres):
    ssh root@
  9. Update CentOS and install the Development Tools with the following commands:
    yum update
    yum upgrade
    yum groupinstall "Development Tools"
  10. Download and compile Node.js:
    cd /tmp
    tar -xzf node-latest.tar.gz
    cd [node folder]
    make install    
  11. Download and Install Ghost
    mkdir -p /var/www/
    cd /var/www/
    wget -O
    unzip -d ghost
    cd ghost
    npm install --production
    cp config.example.js config.js
  12. Edit your config.js file. In the production section replace the following:
    host: '',  
    host: '[your Linode public IP]',
  13. Create Ghost User
    useradd ghost
    chown -R ghost:ghost /var/www/ghost/
  14. Switch to Ghost User
    su - ghost
    cd /var/www/ghost/
  15. Start Ghost
    npm start --production

    Browse to http://IP_they_provided:2368

Next Steps

There you have it, Node.js is installed, Ghost files are located in /var/www/ghost, and Ghost has been started. You can keep Ghost the way it is if you do not mind adding :2368 to the end of your url, but we would highly recommend you check out the following two articles to help get your Ghost blog fully ready:
  • How to Proxy Port 80 to 2368 for Ghost with Nginx
  • Keep Ghost Running with PM2
  • Next Steps:

    Learn Ghost from the Ground Up

    Head to "Ghost for Beginners" to learn everything you need to know about learning and customizing Ghost

    Find the Perfect Ghost Theme

    Go to our Ghost themes section of this site to browse all of your Ghost theme options in one place.