Ghost Blog Install just shows index list of files


I am in the process of installing Ghost CMS on my VPS (running on Ubuntu 20.04 with Apache 2) server. I completed all the requisite steps and installed node and when I am trying to start the Ghost CMS.

My website (with the Ghost CMS installation) is just showing index of files.

- What version of Ghost are you using?
Ghost-CLI version: 1.15.3
- What configuration?
Ubuntu 20.04 with Apache 2 - 3 GB RAM - 3 CPU
- What browser?
I am testing on Firefox
- What errors or information do you see in the console?
When I run - npm start --production

I see that the site is not getting loaded as desired and I see the following response:

ghost@3.40.2 start /var/www/
node index

[2021-01-06 00:30:10] INFO Ghost is running in production…
[2021-01-06 00:30:10] INFO Your site is now available on
[2021-01-06 00:30:10] INFO Ctrl+C to shut down
[2021-01-06 00:30:10] INFO Ghost boot 2.651s

I would be glad - if any of you kindly recommend - where I am possibly be going wrong?

Thanks for your help.

Govind RT

I managed to install the Ghost CMS - but the site is not loading on the given port number:

For some reason - the site is installing it on the port 2369 and not on 2368 although I specified the port during the “ghost install” step.

Following is the confirmation I got after installation:

Ghost was installed successfully! To complete the setup of your publication, visit:

But when I type the same - it is simply not loading the website and the website itself is showing the complete folders including the config file - which is now shown openly (possible security risk - if I keep it open).

I also checked - whether Ghost CMS is installed properly or not on my server. I am getting the following response when I typed the command: ghost -v

Ghost-CLI version: 1.15.3
Ghost version: 3.40.5 (at /var/www/

My site config file under - /etc/apache2/sites-available/ is as followed:

<VirtualHost *:80>
ServerAdmin my email ID
ServerName my website
ServerAlias my website with www>
DocumentRoot /var/www/example . com/public_html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ProxyRequests Off
    <Proxy *>
      Order deny,allow
      Allow from all

    ProxyPass / xxxx://
    ProxyPassReverse / xxxx://

    <Location />
      Order allow,deny
      Allow from all

Please read example . com as mydomain . com - I just modified it for security purposes.

I used WordPress for many years and I think it is time to try something new and I found Ghost CMS is best suited for my needs.

Your help is greatly appreciated. Thanks for your time.

Why don’t you follow the official instructions over How to install & setup Ghost on Ubuntu 16.04, 18.04 and 20.04 ?

Hi Pascal,

Thanks for your response. I did follow the instructions given on the link you shared. I also tried deleting all the files and installed the CMS afresh - but the issue is still the same.

But for some strange reason - my website is not loading on the server. It seems to be working when I tried the installation locally on my computer (following the exact same steps). I can only see the index of files on my server.

I also copied my site apache config file in my previous message. Is there an issue with it?

Thanks for your help.

Following are the details of my server as per the requirements specified:

  • Ubuntu 16.04, Ubuntu 18.04 or Ubuntu 20.04
    I am running Ubuntu 20.04

  • NGINX (minimum of 1.9.5 for SSL)
    Skipped it as I am using Apache2 for my server. I also setup SSL using Lets Encrypt.

  • A supported version of Node.js
    I installed - Node JS version 12.20.1

  • MySQL 5.7 or 8.0
    My mysql version is - Ver 8.0.22-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))

  • Systemd
    Systemd is installed properly - following is confirmation on terminal
    ghost_mysite-com.service loaded active running

  • A server with at least 1GB memory
    My server is 3 GB RAM - 3 CPU

  • A registered domain name
    Yes - a registered domain which is pointed properly to the VPS server and it is set up properly to run on the server (tested it with an index file).

Thanks for your help.