Server configuration

Create config file

The configuration file is public_html/config/settings.php.

Settings

The configurarion file is a php file returning a hash.

📌 Example:

<?php

return [
    'lang' => 'en-en',
    'nav_lang' => [
        "en-en" => "en",
        "de-de" => "de",
    ],
    'nav_left' => true,
    'nav_hide' => false,
    "devmode" => false,
    "theme" => "default/light.css",

    'monitor' => [
        'apiurl'=>'https://appmonitor.example.com/api/v1',
        'user'=>'api_healthmonitor',
        'secret'=>'put-your-secret-here',
        // 'ttl' => 20,
        // 'cachedir' => '/some/where',
    ],

    // if "acl" is missing or empty --> sets admin user for everything
    'acl_'=>[

        // ---------- USER
        // common field for basic authentication or shibboleth
        'userfield'=>'REMOTE_USER',
        
        // but maybe yoou want to use another field
        // 'userfield'=>'mail', // set by shibboleth authentication

        // 'displayname'=>['givenName', '_surname'],
        'displayname'=>false,


        // TODO enble mfa
        // config button is not implemented yet
        // 'postinclude'=>'vendor/mfa-client/src/mfa-ensure.php',

        // ---------- GROUPS
        'groups'=>[

            // ----- global admins for all apps
            'global'=>[
                'admin'=>[
                    'admin',
                    'axel',
                ],
            ],

        ],
    ],    
];

Keys in alphabetic order:

Key Type Description
acl array Configuration for protected backend.
devmode bool flag: enable dev mode. On production environents set it to false. If true:
- you get buttons on public pages to jump to the admin
- you get details about connection errors when fetching data from Appmonitor
lang string default language
monitor array configuration to access the IML appmonitor api
nav_hide bool flag: hide top navigation with available application groups
nav_lang array list of languages (English and German only)
nav_left bool flag: show left navigation
theme string relative path of css file below public_html/themes/

“acl” protect backend

TODO

“monitor” Appmonitor API

Syntax:

Key Type Description
apiurl string base url to the appmonitor api
user string api user to connect with
secret string shared secret to generate HMAC hash
ttl int caching time of an api response in seconds; a value between 0…300; default: 15
cachedir string caching folder; default: system temp folder using sys_get_temp_dir()

“nav_lang” Languages

If you translate the texts of public_html/config/lang/* into another language it can be activated to be shown on the top right.

You can extend the hash of visible labels (as keys) and the filenames of the language files

Syntax:

Key Type Description
<Label> string basename of the language file (without extension .php)

If a user switches the language it will be stored in a cookie.