If you haven’t created a Ghost Instance yet, head over to Digital Ocean and get started in a few minutes.
Have been using wordpress for many years, but I’ve grown tired of the overly complex layout and the slow interface. I started looking at other blogging solutions and Ghost seemed liked one of the best alternatives.
I’ve been using ghost for a year now and it is probably the best alternative to Wordpress.
I moved all of my websites from Wordpress to Ghost. In doing so I was able to save tons of money by running multiple Ghost Blogs on the same VPS. So far I’ve been able to run 3 websites on a single 1gb Digital Ocean VPS without any issues.
Let’s get started.
First of all I assume that you already have a ghost blog running on your server and you are familiar with the host client.
Creating a new sudo user
You have two choice for your secondary ghost instance on your server. You can either create a new user or you can just use the root user. I’ll show you how to create a new user.
Step 1 - Connecting to your server as root
SSH in to your server as the root user:
ssh [email protected]_server_ip_address
Step 2 - Creating the user
adduser command to add a new user to your system:
Be sure to replace
user with the user name that you want to create. You will be prompted to create and verify a password for the user:
Output Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Next you’ll be asked some information. You can leave everything empty.
Output Changing the user information for sammy Enter the new value, or press ENTER for the default Full Name : Room Number : Work Phone : Home Phone : Other : Is the information correct? [Y/n]
Step 3 - Adding the user to the sudo Group
usermod command to add the user to the sudo group:
usermod -aG sudo user
Again, be sure to replace
user with the username you just added. By default, on Ubuntu, all members of the sudo group have full
Installing the new ghost instance
In order to run ghost you need to create a new folder where ghost is running. In order to do that you need to create a new folder in
cd /var/www sudo mkdir yourwebsitename sudo chown user:user ./yourwebsitename cd yourwebsitename
Don't forget to change
user to the corresponding names.
You’ll then need to copy the credentials from your existing Ghost Instance.
var/www/<ghost_instance> and open
Copy the database password
Then log in as the root user and type
create database <database_name>; GRANT ALL PRIVILEGES ON <database_name>.* TO 'ghost'@'localhost'; FLUSH Privileges;
Log back as your user for this instance. Go to
/var/www/<new_website> and run
You’ll be prompted with a few question.
Enter your blog URL: https://<yourwebsitename> ? Enter your MySQL hostname: localhost ? Enter your MySQL username: ghost ? Enter your MySQL password: <yourpassword> # The one you extracted from config.production.json ? Enter your Ghost database name: <databasename>
After running all of these, you should be good and have two ghost instances running on the same server.
If you’d like to know how to point a new domain name to this Ghost instance here is a cool tutorial I created explaining how.
Happy blogging !
Join the newsletter to receive the latest updates in your inbox.