Back to Cloud Services
01.08.2026

Webseite auf dem Caddy-Webserver einrichten

Wohin die Dateien gehören — und warum eine React-App weiß bleibt.

Die Vorlage Caddy Webserver bringt alles mit, was eine moderne Webseite braucht: PHP 8.5 mit den Erweiterungen, die Laravel verlangt, Composer, Node.js mit npm, yarn und pnpm.

  • Verzeichnis: /var/www/site — genau hier öffnet auch der Dateimanager
  • Dienste: caddy und php8.5-fpm

Du musst nichts konfigurieren

Der Webserver erkennt bei jeder Anfrage selbst, um was für eine Seite es sich handelt:

  • Laravel oder Symfony (also alles mit public/index.php) wird aus public/ ausgeliefert. Deine .env liegt damit außerhalb des öffentlichen Bereichs und ist nicht über das Netz erreichbar.
  • Statische Seiten und gebaute React-/Vue-Projekte werden direkt aus /var/www/site ausgeliefert.
  • Unterseiten einer Single-Page-App landen automatisch auf index.html, damit tiefe Links funktionieren.

Du musst also weder eine Konfigurationsdatei anfassen noch ein Zertifikat einrichten.

Weiße Seite nach dem Upload?

Der mit Abstand häufigste Grund: es wurde der Quellcode eines Vite-/React-Projekts hochgeladen statt des fertigen Builds.

Im Quellordner verweist die index.html auf src/main.tsx. Ein Webserver liefert diese Datei als Text aus, und der Browser weigert sich, sie auszuführen — das Ergebnis ist eine leere Seite ohne Fehlermeldung.

Die Lösung ist, den Build hochzuladen, nicht die Konfiguration zu ändern:

npm run build

Danach den Inhalt des erzeugten Ordners (meist dist/) nach /var/www/site laden — nicht den Ordner selbst. Im Zielverzeichnis muss die index.html direkt liegen.

Laravel

Projekt nach /var/www/site laden, dann:

cd /var/www/site
composer install --no-dev --optimize-autoloader
php artisan key:generate
php artisan migrate
chown -R www-data:www-data storage bootstrap/cache

Mehr ist nicht nötig — public/ wird automatisch erkannt.

Stuck?

We typically reply within an hour — live chat, email or ticket.

Contact us