Zum Inhalt

Webserver – Caddy LXC

Setup-, Betriebs- und Support-Dokumentation für epping-haus.de

Stand: 10.09.2026 (verifiziert)

Der Webserver wurde als separater, unprivilegierter Debian-LXC auf dem Proxmox-Host eingerichtet. Caddy übernimmt den öffentlichen HTTPS-Zugriff und stellt die Website direkt aus /var/www/html bereit.

Webserver-System

Parameter Wert
Proxmox Container-ID 150
Hostname caddy
Betriebssystem Debian GNU/Linux 13.6 amd64
LXC unprivileged
CPU 1 Core
RAM 512 MB
Swap 512 MB
RootFS local-zfs, 8 GB
LAN-IP 192.168.178.150/24
Gateway 192.168.178.10
DNS 192.168.178.10
Bridge vmbr0

Benutzerverwaltung

Administrativer Standardnutzer: berthold (Mitglied in der Gruppe sudo). Ein direkter Root-Login wird vermieden.

Fernwartung

openssh-server ist installiert und mit folgendem Befehl aktiviert:

systemctl enable --now ssh

SSH läuft auf Port 22.

Webserver-Software

Parameter Wert
Caddy-Version v2.11.4
Caddy-Service systemd caddy.service
Autostart aktiviert
Konfigurationsdatei /etc/caddy/Caddyfile
Website-Verzeichnis /var/www/html
Startseite /var/www/html/index.html

Die Startseite ist aktiv. Eigentümer: berthold:berthold; Rechte: 644.

Öffentliche DNS-Konfiguration

Record Ziel
A epping-haus.de149.224.183.96
CNAME www.epping-haus.deepping-haus.de.

Die DNS-Konfiguration wurde erfolgreich validiert gegen:

  • Google DNS (8.8.8.8)
  • Cloudflare DNS (1.1.1.1)
  • alle fünf autoritativen Netcup-Nameserver

OpenWrt / Portweiterleitungen

Der Webzugriff ist bewusst von der bestehenden Mailcow-Portbelegung getrennt.

TCP-Port Ziel Funktion
25 192.168.178.146:25 Mailcow SMTP
80 192.168.178.146:80 bestehender Mailcow HTTP-Zugriff
443 192.168.178.150:443 Caddy HTTPS

Firewall-Backup vor der Freigabe von TCP/443

/root/firewall.before-caddy-443-20260904-121445

Aktives Caddyfile

epping-haus.de, www.epping-haus.de {
    root * /var/www/html
    file_server
}

wiki.epping-haus.de {
    root * /var/www/dokuwiki
    php_fastcgi unix//run/php/php8.4-fpm.sock
    file_server

    # Interne DokuWiki-Verzeichnisse und Installer schützen
    @blocked {
        path /data/* /conf/* /bin/* /inc/* /vendor/* /install.php
    }
    error @blocked 403
}

mail.epping-haus.de, autoconfig.epping-haus.de, autodiscover.epping-haus.de {
    reverse_proxy 192.168.178.146:443 {
        header_up Host {host}
        transport http {
            tls
            tls_server_name mail.epping-haus.de
        }
    }
}

HTTPS / Let's Encrypt

Caddy verwaltet die TLS-Zertifikate automatisch.

  • ACME-Account bei Let's Encrypt wurde erfolgreich angelegt.
  • TLS-ALPN-Challenge für epping-haus.de erfolgreich.
  • TLS-ALPN-Challenge für www.epping-haus.de erfolgreich.
  • Autorisierungen für beide Domains wurden als valid abgeschlossen.

Verifikation

  • Caddy lauscht auf TCP/443.
  • https://epping-haus.de wurde von außerhalb des LAN erfolgreich im Browser aufgerufen.
  • Die Website wird aus dem Caddy-LXC 192.168.178.150 ausgeliefert.
  • https://wiki.epping-haus.de ist als DokuWiki-Anwendung mit PHP 8.4-FPM aktiv.

DokuWiki-Supporttests

Startseite

pct exec 150 -- curl -k -I --resolve wiki.epping-haus.de:443:127.0.0.1 https://wiki.epping-haus.de/

Installer-Schutz

pct exec 150 -- curl -k -I --resolve wiki.epping-haus.de:443:127.0.0.1 https://wiki.epping-haus.de/install.php

Erwartetes Ergebnis:

  • Startseite: HTTP 302/doku.php?id=start
  • install.php: HTTP 403