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

Get €20/$20 free credit!

Valid until: 31 December 2026 Valid for: 3 months and only for new customers
Find out more
Want to contribute?

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

Find out more