Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Installing Contao with the Contao Manager Hetzner/konsoleH

profile picture
Author
VinkPa
Published
2025-08-20
Time to read
4 minutes reading time

Introduction

Contao is a PHP-based open-source CMS that you install and update via Composer.
The Contao Manager is a web-based interface that takes care of Composer tasks for you (installation/update, cache, extensions).

Prerequisites

  • Your domain/subdomain is set up and accessible via HTTPS.
  • The database (name, user, password, host) has been created.
  • For the SSH variant, you need Webhosting L or higher.

  • PHP 8.1+ (depending on the chosen Contao version)
  • Enabled allow_url_fopen
  • PHP functions proc_open/proc_close
  • PHP extensions Intl & OpenSSL
  • Database (MySQL/MariaDB)
  • Webserver document root pointing to the /public folder of the project

Further information:

Step 1 - Provide Contao Manager

  • Option 1 - via SSH (recommended – available from web hosting plan L upwards)
    ssh contaoy@<wwwXXX>
    cd ~/public_html
    wget https://download.contao.org/contao-manager/stable/contao-manager.phar

  • Option 2 - via WebFTP (konsoleH → Extras → WebFTP)

    Download the Contao Manager from the download page: https://contao.org/de/download
    Upload contao-manager.phar via WebFTP into public_html. Rename the file to contao-manager.phar.php only after the upload (to avoid text/binary transfer issues).

Step 2 - Open Contao Manager & create user

  • In your browser, open https://<contao.example.com>/contao-manager.phar.php.
  • Create a manager user with a strong password.

Note: The Manager does not require its own database.

Documentation

Step 3 - Install Contao

  • Check PHP settings (if message appears)

    If the system check shows something like:

    PHP Web Process – The PHP setting "allow_url_fopen" is not enabled on the server.

    Go to konsoleHSettingsConfigurationPHP configuration and set "allow_url_fopen" = On. Also make sure Intl and OpenSSL are available and that proc_open/proc_close are allowed.

    Note: allow_url_fopen cannot be enabled via .htaccess — only in the hosting provider’s PHP configuration.


  • Webserver setup / Set document root to /public

    Open the "Webserver Setup" in the Contao wizard.

    In konsoleHSettingsConfigurationServer configuration (.htaccess) set the start directory to public.

    Go back to the wizard and confirm the message:

    The directory structure … is set up correctly!

    → Continue.

    Background: In current Contao projects, /public is the public web folder. (In special cases, web may be used – then it’s defined in composer.json.)


  • Install Contao

    In the Manager, click Setup if prompted.

    Choose the Contao version (recommended: LTS, see Downloads) and start installation.

    On webhosting with limited RAM, enable the Composer Resolver Cloud (option in Manager).

    Documentation

Step 4 - Connect & update database

Enter your DB credentials → Save.

Click Check database → if “Your database is not up to date…” run Execute, then Confirm & Close.

Recommendation: Enable MySQL Strict Mode.

Continue.

Installation docs

Step 5 - Create backend account & login

Create the backend user (username, name, email, password) → Add account.

Log in to the backend at: https://<contao.example.com>/contao/

Backend/Administration

Step 6 - Troubleshooting

  1. “allow_url_fopen is not enabled”
    → Cause: PHP option disabled
    → Solution: Enable in konsoleH → PHP configuration (not via .htaccess)

  2. Manager stuck at “Installing Composer dependencies…”
    → Cause: Not enough RAM / Composer resolver timeout
    → Solution: Enable Composer Resolver Cloud in Manager; set memory_limit ≥ 256M

  3. “No Contao installation has been found”
    → Cause: Setup not run or wrong start directory
    → Solution: Run setup in Manager; check start directory is /public

  4. Frontend 404 / redirect loop
    → Cause: Rewrite not active or wrong doc root
    → Solution: Check /public as start directory
    Apache: enable .htaccess / mod_rewrite
    NGINX: set try_files … /index.php… correctly

  5. “Database not up to date”
    → Cause: Pending migrations
    → Solution: Run “Execute” in Install Tool/Manager → then “Confirm & Close”

  6. Backend not accessible
    → Cause: Wrong path or cache issue
    → Solution: Access backend via /contao/; clear cache in Manager if needed

Conclusion

Next, you can do the following, for example:


  • Security & operations:

    • Use Manager/Backend exclusively over HTTPS.
    • Use strong passwords, optionally 2FA.
    • Restrict access to /contao-manager.phar.php after setup, or remove/rename the file (only needed for updates).
    • Follow updates & releases
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue

Discover our

Web hosting

Made in Germany. Powerful, fast & secure.

Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more