Hello Joulinar
yes, I’m trying to understand how it works 
My internal IP-address is showing the default lighttpd Placeholder page shows:
Placeholder page
The owner of this web site has not put up any web pages yet. Please come back later.
You should replace this page with your own web pages as soon as possible.
Unless you changed its configuration, your new server is configured as follows:
Configuration files can be found in /etc/lighttpd. Please read /etc/lighttpd/conf-available/README file.
The DocumentRoot, which is the directory under which all your HTML files should exist, is set to /var/www/html.
CGI scripts are looked for in /usr/lib/cgi-bin, which is where Debian packages will place their scripts. You can enable cgi module by using command "lighty-enable-mod cgi".
Log files are placed in /var/log/lighttpd, and will be rotated weekly. The frequency of rotation can be easily changed by editing /etc/logrotate.d/lighttpd.
The default directory index is index.html, meaning that requests for a directory /foo/bar/ will give the contents of the file /var/www/html/foo/bar/index.html if it exists (assuming that /var/www/html is your DocumentRoot).
You can enable user directories by using command "lighty-enable-mod userdir"
About this page
This is a placeholder page installed by the Debian release of the Lighttpd server package.
This computer has installed the Debian GNU/Linux operating system, but it has nothing to do with the Debian Project. Please do not contact the Debian Project about it.
If you find a bug in this Lighttpd package, or in Lighttpd itself, please file a bug report on it. Instructions on doing this, and the list of known bugs of this package, can be found in the Debian Bug Tracking System.
So I need to read the /etc/lighttpd/conf-available/README file, it shows:
ligghttpd Configuration under Debian GNU/Linux
==============================================
Files and Directories in /etc/lighttpd:
---------------------------------------
lighttpd.conf:
main configuration file
conf-available/
This directory contains a series of .conf files. These files contain
configuration directives necessary to load and run webserver modules.
If you want to create your own files they names should be
build as nn-name.conf where "nn" is two digit number (number
is used to find order for loading files)
conf-enabled/
To actually enable a module for lighttpd, it is necessary to create a
symlink in this directory to the .conf file in conf-available/.
Enabling and disabling modules could be done by provided
/usr/sbin/lighty-enable-mod and /usr/sbin/lighty-disable-mod scripts.
So I have look in the directory /etc/lighttpd/conf-available , it shows the following configs
05-auth.conf 10-dir-listing.conf 10-fastcgi.conf 10-rewrite.conf 10-ssi.conf 10-usertrack.conf 50-dietpi-https.conf 99-dietpi-nextcloud.conf 99-unconfigured.conf
05-setenv.conf 10-evasive.conf 10-flv-streaming.conf 10-rrdtool.conf 10-ssl.conf 11-extforward.conf 90-debian-doc.conf 99-dietpi-nextcloud.conf.dietpi-new README
10-accesslog.conf 10-evhost.conf 10-no-www.conf 10-simple-vhost.conf 10-status.conf 15-fastcgi-php-fpm.conf 98-dietpi-https_redirect.conf 99-dietpi-pihole-block_public_admin.conf
10-cgi.conf 10-expire.conf 10-proxy.conf 10-sockproxy.conf 10-userdir.conf 15-fastcgi-php.conf 99-dietpi-dav_redirect.conf 99-dietpi-pihole.conf
Let’s have a look at 99-dietpi-nextcloud.conf
# Derived from:
# - Apache: https://github.com/nextcloud/server/blob/master/.htaccess
# - Nginx: https://github.com/nextcloud/documentation/blob/master/admin_manual/installation/nginx-subdir.conf.sample
# Redirect webfinger and nodeinfo requests to Nextcloud endpoint:
url.redirect += (
"^/.well-known/webfinger" => "/nextcloud/index.php/.well-known/webfinger",
"^/.well-known/nodeinfo" => "/nextcloud/index.php/.well-known/nodeinfo"
)
$HTTP["url"] =~ "^/nextcloud($|/)" {
# Hardening
# - Directories
$HTTP["url"] =~ "^/nextcloud/(build|tests|config|lib|3rdparty|templates|data)($|/)" { url.access-deny = ("") }
# - Files
$HTTP["url"] =~ "^/nextcloud/(\.|autotest|occ|issue|indie|db_|console)" { url.access-deny = ("") }
# - Directory listing
dir-listing.activate = "disable"
# - Security and cache control headers for static resources
$HTTP["url"] =~ "\.(css|js|svg|gif|png|woff2?|map)$" {
setenv.add-response-header += (
"Referrer-Policy" => "no-referrer",
"X-Content-Type-Options" => "nosniff",
"X-Download-Options" => "noopen",
"X-Frame-Options" => "SAMEORIGIN",
"X-Permitted-Cross-Domain-Policies" => "none",
"X-Robots-Tag" => "none",
"X-XSS-Protection" => "1; mode=block",
"Cache-Control" => "public, max-age=15778463",
)
}
}
Do I need to replace the standard main configuration file lighttpd.conf:
server.modules = (
"mod_indexfile",
"mod_setenv",
"mod_access",
"mod_alias",
"mod_redirect",
)
server.document-root = "/var/www"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80
# features
#https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_feature-flagsDetails
server.feature-flags += ("server.h2proto" => "enable")
server.feature-flags += ("server.h2c" => "enable")
server.feature-flags += ("server.graceful-shutdown-timeout" => 5)
#server.feature-flags += ("server.graceful-restart-bg" => "enable")
# strict parsing and normalization of URL for consistency and security
# https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_http-parseoptsDetails
# (might need to explicitly set "url-path-2f-decode" = "disable"
# if a specific application is encoding URLs inside url-path)
server.http-parseopts = (
"header-strict" => "enable",# default
"host-strict" => "enable",# default
"host-normalize" => "enable",# default
"url-normalize-unreserved"=> "enable",# recommended highly
"url-normalize-required" => "enable",# recommended
"url-ctrls-reject" => "enable",# recommended
"url-path-2f-decode" => "enable",# recommended highly (unless breaks app)
#"url-path-2f-reject" => "enable",
"url-path-dotseg-remove" => "enable",# recommended highly (unless breaks app)
#"url-path-dotseg-reject" => "enable",
#"url-query-20-plus" => "enable",# consistency in query string
)
index-file.names = ( "index.php", "index.html" )
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.conf.pl"
include "/etc/lighttpd/conf-enabled/*.conf"
#server.compat-module-load = "disable"
server.modules += (
"mod_dirlisting",
"mod_staticfile",
)
with the 99-dietpi-nextcloud.conf ?
mv lighttpd.conf lighttpd.conf.original
cp /etc/lighttpd/conf-available/99-dietpi-nextcloud.conf /etc/lighttpdlighttpd.conf
?
It’s a advantage that every application has his own directory as you show
Default web server root directory is located at /var/www/
PiHole application is located in a sub folder at /var/www/html
NextCloud application is located in a sub folder at /var/www/nextcloud
Is it possible to install to it’s own directory /var/www/Heimdall/public/ and creat a own config in /etc/lighttpd/conf-available ?
So we can redirect the default lighttpd Placeholder to Heimdall?
And within the Heimdall dashboard we can link shortcuts to the other installed applications wich have there own directories?
We leave everything original, redirect the default webserver to Heimdall?
From Heimdall we hit the Application link and it will show Pi-Hole or Nexcloud or…
Or visit them directly
PiHole application at /var/www/html
NextCloud application at /var/www/nextcloud
?