I love Ghost. In the past year I've migrated all of my sites from WordPress and I have never looked back. However, the increased cost of running a VPS for each site adds up. There are a lot of forum discussions on how to install multiple ghost blogs on one server, but they all suggest complicated Docker setups or post this outdated article from 2013.
It turns out it's very simple - so I will show you how.
First, get your Ubuntu server (I can vouch for Digital Ocean or Linode). Then, follow the Server Setup instructions here up until the Install Ghost section. Be careful of using special characters in the password you choose. I had a backtick (`) in mine and it messed up the MySQL commands.
Now follow the instructions for Install Ghost, except make two directories, one for each site:
# Make the first directory sudo mkdir -p /var/www/firstsite.com # Replace <user> with the name of your user who will own this directory sudo chown <user>:<user> /var/www/firstsite.com # Set the correct permissions sudo chmod 775 /var/www/firstsite.com
# Make the second directory sudo mkdir -p /var/www/secondsite.com # Replace <user> with the name of your user who will own this directory sudo chown <user>:<user> /var/www/secondsite.com # Set the correct permissions sudo chmod 775 /var/www/secondsite.com
Finally, navigate into each folder and run
ghost install - and it's that easy! Ghost takes care of the Nginx config for you. Just repeat the steps above and run as many blogs as your server can handle.