Knowledge base

1000 FAQs, 500 tutorials and instructional videos. Here, there are only solutions!

Install Ghost on Infomaniak hosting

Update 03/12/2026

This guide details the installation and maintenance of Ghost on an Infomaniak Web Hosting, to obtain a platform optimized for blogging and editorial publishing, a powerful alternative to Substack or Medium.

 

Prerequisites

 

Installation of Ghost

To do this:

  1. Connect to your server via SSH (need help?).
  2. Run the following commands to start the installer:

    # Clone tools repo
    git clone https://github.com/Infomaniak/hosting-tools.git
    cd hosting-tools/h3-ghost
    # Run installation script
    bash ./install.sh
  3. The script will now:
    • ask you a few questions (site URL, database information, SMTP, etc.)…
    • download and configure Ghost automatically…
    • take a few minutes — be patient!

Answer the questions carefully using the details you have noted. Do not close the terminal until it has finished!

 

Manager Configuration (Node.js)

Once the script is complete, go to your Infomaniak Control Panel:

  1. Click here to access the management of your product on the Infomaniak Manager (need help?).
  2. Click directly on the name assigned to the product concerned.
  3. Click on Manage under Advanced Settings:
  4. Click on the Node.js tab to access the settings.
  5. In the execution command field, enter:

    /srv/customer/node_modules/ghost-cli/bin/ghost run
  6. Check that the port number is 3000.
  7. Command case build : disable it.
  8. Click on the Save button at the bottom of the page:
  9. On the main page, click on the Start button (or Restart if already running).
  10. Observe the logs showing the creation of the database and the startup of the application:

 

Updating Ghost

To update Ghost CMS to the latest version or a specific version, follow these steps:

  1. Stop the Node.js application in the Infomaniak Manager.
  2. Access the directory of your Ghost site

    # Navigate to your Ghost site directory
    cd ~/sites/<ghost-site-name>

    Replace <ghost-site-name> with the actual name of your folder (e.g., blog, mysite, etc.).

  3. Ensure that the file permissions are correct:

    # Ensure file permissions are correct
    find ./ -type d -exec chmod -v 00775 {} \;
  4. Check for available updates:

    # Check available ghost updates
    /srv/customer/node_modules/ghost-cli/bin/ghost check-update

    For a standard update (latest version):

    # Update to the latest version
    /srv/customer/node_modules/ghost-cli/bin/ghost update

    For a specific version (e.g., v5):

    # Update to a specific version (e.g., v5)
    /srv/customer/node_modules/ghost-cli/bin/ghost update v5
    • Why go through v5? If you are using Ghost v4 and want to upgrade to v6, Ghost requires going through v5 as an intermediate step. This is essential for major version upgrades.
  5. Restart your hosting on the Infomaniak Manager to apply the update.

Before updating: Do you want to back up your data? Refer to this other guide

 

Done! Access your Ghost blog

Then go to the URL of your site to start:

  1. Open your browser and go to https://domain.xyz/ghost (replace domain.xyz with your current domain).
  2. The first time:
    1. You will create an administrator account (your login for the blog)…
    2. Then, you can start writing articles!

 

User / mail configuration

To create the first user, add /ghost to the URL of your site (for example https://ghost.domain.xyz/ghost) and follow the assistant.

You can also configure the “member portal support address”: when new members want to sign up, the portal sends the double opt-in confirmation from a specific address.

By default, this is the “noreply” address of your domain. To update it, navigate to “Settings”, “Membership”, “Portal Settings”, “Customize”, and “Account Page”:

 

Resolve a technical incompatibility between Ghost and MariaDB

Some SQL queries cause HTTP 400 errors on MariaDB, resulting in this type of error:

[2025-01-01 12:54:28] ERROR "GET /ghost/api/admin/posts/6834625e35802b06f1496305/?formats=mobiledoc%2Clexical&include=tags%2Cauthors%2Cauthors.roles%2Cemail%2Ctiers%2Cnewsletter%2Ccount.conversions%2Ccount.clicks%2Csentiment%2Ccount.positive_feedback%2Ccount.negative_feedback" 400 27ms
Could not understand request.
Error ID:
8f2b0d90-3a30-11f0-a25f-fd9c83e1cf02
Error Code:
ER_BAD_FIELD_ERROR
----------------------------------------
Error: select `posts`.*,
...

If necessary, a patch exists to adapt the behavior of Ghost.

To use this patch, enter this command:

# Enter the current version folder and apply the MariaDB patch
cd current
curl -L https://gist.githubusercontent.com/reneluria/8cbbfbc001e542c77d6d5887fbafe5d3/raw/65e0ce31753b4687d0eb67fc030734a35d3ffbad/ghost-post.patch | patch -p0

If needed, local partners referenced by Infomaniak can handle these procedures: launch a free call for tenders; they take care of everything.


Has this FAQ been helpful?