Knowledge base

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

Install Ghost on Infomaniak hosting

Update 09/01/2026

This guide details the installation and maintenance of Ghost on an Infomaniak web hosting, in order to obtain a platform optimized for blogging and editorial publishing, a high-performance alternative to Substack or Medium.

 

Prerequisites

 

Ghost Installation

To do this:

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

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

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

 

Configuration du Manager (Node.js)

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

  1. Click here to access your website management in the Infomaniak Manager (need help?).
  2. Click directly on the name assigned to the website in question:
  3. Click on Manage 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. Verify that the port number is 3000.
  7. Disable the build order case.
  8. Click the Save button at the bottom of the page:
  9. On the main page, click the Start button (or Restart if it is already running).
  10. Confirm the operation if necessary:
  11. Observe the logs showing the database creation and application startup.

 

Ghost Update

Before updating: do you want to back up your data? Please refer to this other guide

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. Make sure the file permissions are correct (this operation may take several minutes):

    # 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 the latest version (this operation may take several minutes):

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

    For a specific version, such as v5 (this operation may take several minutes):

    # 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 you to go through v5 as an intermediate step. This is essential for major version upgrades.
  5. Wait until the update is complete, then restart the application from the website dashboard to apply the update.

 

Done! Access your Ghost blog

Next, go to your website's URL to get started:

  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 / email configuration

To create the first user, add /ghost to your site's URL (e.g., https://ghost.domain.xyz/ghost) and follow the wizard.

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

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

 

Resolving a technical incompatibility between Ghost and MariaDB

Certain 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 needed, a fix exists to adapt Ghost's behavior.

To use this patch, enter the following command:

# Enter the current version folder and apply the MariaDB patch
cd current
curl -L {{URL_16}} | patch -p0

Has this FAQ been helpful?