Hello Everyone!

Today, I'm going to write you a good article about installation of Ghost CMS on Plesk Panel.

UPDATE: This installation also 100% compatiable with Ghost 4 version. If you are looking to install Ghost 4.x on Plesk Panel, this article helps you.

But, I must say thank you to @Raoul Kramer about this installation cause if I didn't find him, I won't able to install Ghost on Plesk!

Now, It's actually easy to deploy Ghost on Plesk!

If you haven't any VPS or Cloud Server you can get it 2 months free credit via Digital Ocean: Free $100 Credit for 2 months

Note: This guide maded via Plesk Obsidian v18.0.33_build1800210123.00 os_Debian 10.0 and Ghost version 3.41.4

Let's Start to the our Adventure ­čą▒Before starting the installation, let's handle our SSL via Let's Encrypt FREE SLL. It's necessary to make your site Secured so users will trust you with this.

Watch my guide how to make your website secured via Let's Encrypt FREE

You must open your hosting on plesk via Subscriptions section. Afterwards, you must enable the NodeJS extension via Extensions. If you not know how to do it, you can see the picture, it will gives you vision about it.

Enable NodeJS extension on Plesk Panel via Extensions
NodeJS Extension how to enable on Plesk Panel

Now, go to the your subscription (which is mean your domain on plesk) and open file manager. Afterwards, you must get Ghost's latest version from their website which you can access via this link: Ghost Latest Version

When you download the latest Ghost, you must upload the zip file via File Manager on Plesk. You can do it easly! Why I'm saying to use about File Manager? Because if you are linux newbie, when you upload your files via root, your all files will have root permission and grant. It's a big security problem to handle it. So, you can upload via File Manager and it's so easy.

Now, Go to the File Manager and upload ghost via drag and drop.

Extract Ghost CMS files

When the extraction is done, we need create a file named as .npmrc and we must put this words in it.

scripts-prepend-node-path=true

We need to type this code because NPM installation will gives you some error if you not put this code.

Afterwards, we need to edit some files under the /core/shared/config and /core/shared/config/env/

  1. defaults.json file (this file stays in /core/shared/config/
  2. config.production.json file (this file stays in /core/shared/config/env/)

Editing the defaults.json file like this;

Here, we just change the URL section and you must set true url of your website, that's all. Nothing more!

Second File, before the start, you must open a database and database user for your domain. You need to download it first on plesk panel because it's not opening via Plesk Code Editor.

You can get it on here: https://codepen.io/fbattal/pen/bGBgpVe

Now we need to enable NodeJS for our website! Now, go to the subscriptions and click to your domain. Afterwards, open NodeJS extension and click to Enable button on the top.

You must set Document Root to /httpdocs/app/ I don't know why is required but it's required ­čą▒Afterwards, Application Root will be /httpdocs/ if it's already set like that, you may not touch. Change the Application Startup File name to index.js afterwards, click the NPM Install button and wait for installation. When the installation ends, Pop-Up will appear and it will says with yellow color theme, it's done.

You must restart the app on the top and that's it! your Ghost CMS ready to use. You can enter for your user setup, https://yourdomain.name/ghost and put your email address, name, etc.

Thanks for your time! If you having troubles or problems with the installation you can contact me via Twitter, Email, Comment as you wish!

With love,

Fatih