How to run different projects with their own frontend?

Expected Behaviour:

I'd like to run and maintain multiple projects (PiHole and volkszaehler) on one maschine (here RPi3) with there own frontend

Actual Behaviour:

every project on the pi wants to use port 80 and has there prefered server (nginx, php-pm, lighttpd, apache2, etc.

Debug Token:

yfoed8prbp

I'm not sure either I run one server with different ports for every project or how to set up supdomains or suppages like 192.168.178.22/admin and 192.168.178.22/volkszaehler

pi@raspberrypi:~ $ cat /etc/lighttpd/lighttpd.conf

# Pi-hole: A black hole for Internet advertisements
# (c) 2017 Pi-hole, LLC (https://pi-hole.net)
# Network-wide ad blocking via your own hardware.
#
# Lighttpd config for Pi-hole
#
# This file is copyright under the latest version of the EUPL.
# Please see LICENSE file for your rights under this license.

###############################################################################
#     FILE AUTOMATICALLY OVERWRITTEN BY PI-HOLE INSTALL/UPDATE PROCEDURE.     #
# ANY CHANGES MADE TO THIS FILE AFTER INSTALL WILL BE LOST ON THE NEXT UPDATE #
#                                                                             #
#              CHANGES SHOULD BE MADE IN A SEPARATE CONFIG FILE:              #
#                         /etc/lighttpd/external.conf                         #
###############################################################################

server.modules = (
        "mod_access",
        "mod_accesslog",
        "mod_auth",
        "mod_expire",
        "mod_compress",
        "mod_redirect",
        "mod_setenv",
        "mod_rewrite"
)

server.document-root        = "/var/www/html"
server.error-handler-404    = "pihole/index.php"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 80
accesslog.filename          = "/var/log/lighttpd/access.log"
accesslog.format            = "%{%s}t|%V|%r|%s|%b"

index-file.names            = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny             = ( "~", ".inc", ".md", ".yml", ".ini" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain" )

# 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.assign.pl"

# Prevent Lighttpd from enabling Let's Encrypt SSL for every blocked domain
#include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
include_shell "find /etc/lighttpd/conf-enabled -name '*.conf' -a ! -name 'letsencrypt.conf' -printf 'include \"%p\"\n' 2>/dev/null"

# If the URL starts with /admin, it is the Web interface
$HTTP["url"] =~ "^/admin/" {
    # Create a response header for debugging using curl -I
    setenv.add-response-header = (
        "X-Pi-hole" => "The Pi-hole Web interface is working!",
        "X-Frame-Options" => "DENY"
    )

    $HTTP["url"] =~ ".ttf$" {
        # Allow Block Page access to local fonts
        setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" )
    }
}

# Block . files from being served, such as .git, .github, .gitignore
$HTTP["url"] =~ "^/admin/\.(.*)" {
     url.access-deny = ("")
}

# Add user chosen options held in external file
# This uses include_shell instead of an include wildcard for compatibility
include_shell "cat external.conf 2>/dev/null"

pi@raspberrypi:~ $ cat /etc/pihole/install.log

  [✓] Checking for user 'pihole'
  [✓] Installing scripts from /etc/.pihole

  [i] Installing configs from /etc/.pihole...
  [i] Existing dnsmasq.conf found... it is not a Pi-hole file, leaving alone!
  [✓] Copying 01-pihole.conf to /etc/dnsmasq.d/01-pihole.conf

  [i] Installing blocking page...
  [✓] Creating directory for blocking page, and copying files
  [✗] Backing up index.lighttpd.html
      No default index.lighttpd.html file found... not backing up

  [✓] Installing sudoer file

  [✓] Installing latest Cron script

  [✓] Installing latest logrotate script
  [i] Backing up /etc/dnsmasq.conf to /etc/dnsmasq.conf.old
  [✓] man pages installed and database updated

This seems to be more like a feature request?

I don't think so, because I saw in the FAQ that I can run multiple programs.

Can you see why I cant start lighttpd?

Lighttpd cannot start because another process is already on port 80. Run this to see which processes are occupying the ports used by Pi-Hole:

sudo netstat -nltup | grep 'Proto\|:53 \|:67 \|:80 \|:471'

I added 8080 also just in case

pi@raspberrypi:~ $ sudo netstat -nltup | grep 'Proto\|:53 \|:67 \|:80 \|:471 \|:8080'
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      7383/php
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      11809/pihole-FTL
tcp6       0      0 :::53                   :::*                    LISTEN      11809/pihole-FTL
udp        0      0 0.0.0.0:53              0.0.0.0:*                           11809/pihole-FTL
udp6       0      0 :::53                   :::*                                11809/pihole-FTL

syslog

Jun 15 01:18:21 raspberrypi lighttpd[26950]: /bin/sh: 1: /usr/share/lighttpd/create-mime.assign.pl: not found
Jun 15 01:18:21 raspberrypi lighttpd[26950]: 2019-06-15 01:18:21: (configfile.c.1461) command "/usr/share/lighttpd/create-mime.assign.pl" exited non-zero: 127
Jun 15 01:18:21 raspberrypi lighttpd[26950]: 2019-06-15 01:18:21: (configfile.c.1289) source: /etc/lighttpd/lighttpd.conf line: 53 pos: 14 parser failed somehow near here: (EOL)

I renamed /usr/share/lighttpd/create-mime.conf.pl to create-mime.assign.pl and did a pihole -r
Now everything is working fine. So far.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.