- Self Hosted version – Free to download and use on your server
- Ghost(pro) – Hosted on Ghost servers
- 1GB Memory
- 1 CPU
- 25GB SSD Storage
- 1TB Transfer
- Ubuntu 16.04
- Node v6
- 1GB of Ram
- A non-root user for running Ghost commands
Making a VPS
- Sign up for an account on Vultr.
- Choose servers from the left menu and then click on the ‘+‘ sign.
- Now choose your Server location
- Then choose the server type Ubuntu 16.04 in Server Type. I chose 64 bit OS.
- Select the $5/month plan
- Enter anything in server hostname and label and click Deploy Now.
Setup DNS records
Add Domain to your Server
Setting up server
1. Add a non-root user
adduser omer --gecos "Omer Iqbal"
usermod -aG sudo omer
su - omer
- The first command will add a user with the username “omer”.
--gecoswill ensure that It won’t ask you further questions like Phone number etc.
- The second command will give your new user superuser privileges
- The third command will log you in as your new user
2. Update and Upgrade your server
sudo apt-get update && sudo apt-get upgrade -y
3. Install build-essential package
sudo apt-get install build-essential -y
4. Install MySQL and Nginx
sudo apt-get install mysql-server -y
sudo apt-get install nginx -y
5. Install Node.js and NPM
>=6.9 <7.* (Node v6 boron LTS).
>=8.9 (Node v8 carbon LTS)is also supported.
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install nodejs -y
6. Installing Ghost-CLI
sudo npm install ghost-cli@latest -g
sudo mkdir -p /var/www/ghost
sudo chown omer:omer /var/www/ghost
sudo chmod 775 /var/www/ghost
7. Installing Ghost
? Enter your blog URL: https://example.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: [hidden]
? Enter your Ghost database name: ghostdb
? Do you wish to set up "ghost" mysql user? Yes
? Do you wish to set up Nginx? Yes
? Do you wish to set up SSL? Yes
? Enter your email (used for Let's Encrypt notifications) [email protected]
? Do you wish to set up Systemd? Yes
? Do you want to start Ghost? Yes
- Enter your domain which you want to use with ghost instead of
- Keep MySQL hostname to
localhostand username to
- Type the password for MySQL root user which you created while installing MySQL
- You can enter anything in the database name, I use
- It is up to you whether you want to set up SSL or not. It is recommended and I’ve set It up.
Systemdmakes sure that Ghost will start running on boot
https://example.com/ghostto configure your user and start using your new blog.