Files
kaffeekasse-saas/PROXY-SETUP.md
T
2026-06-17 16:45:14 +02:00

4.1 KiB

Quick Start: Proxy & Webspace Setup

🚀 Schnellstart für Code-Server Proxy

# 1. .env erstellen
cp .env.example .env

# 2. .env anpassen
nano .env
# Setzen Sie: APP_BASE_PATH=/proxy/8080

# 3. Server starten
php -S 0.0.0.0:8080 -t public public/router.php

# 4. Zugriff über Browser
# https://ihr-code-server.de/proxy/8080/

🌐 Schnellstart für Netcup Webspace

# 1. Dateien hochladen (FTP/SFTP)
# Document Root → /public/

# 2. .env erstellen
cp .env.example .env

# 3. .env anpassen
nano .env
# Setzen Sie:
# APP_URL=https://ihre-domain.de
# APP_BASE_PATH=
# DB_HOST=localhost
# DB_NAME=ihre_datenbank
# DB_USER=ihr_benutzer
# DB_PASS=ihr_passwort

# 4. Rechte setzen
chmod 755 storage/ storage/cache/ storage/logs/ storage/uploads/

# 5. Installation
# Besuchen Sie: https://ihre-domain.de/install

Funktioniert automatisch

Die Anwendung erkennt automatisch:

  • Code-Server Proxy (via X-Forwarded-Prefix Header)
  • Subdirectory-Installationen (via APP_BASE_PATH)
  • HTTPS hinter Reverse Proxy (via X-Forwarded-Proto)
  • Alle URLs werden dynamisch generiert

📖 Detaillierte Dokumentation

Siehe: docs/deployment-proxy-guide.md

🔧 Konfigurationsoptionen

.env Variablen für Proxy-Setup

# Für Code-Server Proxy
APP_BASE_PATH=/proxy/8080

# Für Subdirectory (z.B. https://example.com/kaffeekasse/)
APP_BASE_PATH=/kaffeekasse

# Für Root-Installation (Standard)
APP_BASE_PATH=

Manuelle Proxy-Prefix Überschreibung

Falls automatische Erkennung nicht funktioniert:

# Apache .htaccess
SetEnv KAFFEEKASSE_PROXY_PREFIX /proxy/8080

# Nginx
fastcgi_param KAFFEEKASSE_PROXY_PREFIX /proxy/8080;

# PHP Development Server
KAFFEEKASSE_PROXY_PREFIX=/proxy/8080 php -S 0.0.0.0:8080 -t public public/router.php

🧪 Testen

# Base Path prüfen
php -r "require 'app/Support/helpers.php'; var_dump(base_path());"

# URL-Generierung testen
php -r "
require 'app/Support/helpers.php';
\$_ENV['APP_BASE_PATH'] = '/proxy/8080';
echo url('/admin/login') . PHP_EOL;
echo tenant_url('test', 'bookings') . PHP_EOL;
echo asset_url('app.css') . PHP_EOL;
"

🐛 Troubleshooting

URLs sind falsch

# Debug-Ausgabe in public/index.php einfügen (temporär):
var_dump([
    'base_path' => base_path(),
    'current_path' => current_path(),
    'REQUEST_URI' => $_SERVER['REQUEST_URI'] ?? null,
    'X-Forwarded-Prefix' => $_SERVER['HTTP_X_FORWARDED_PREFIX'] ?? null,
]);
exit;

CSS lädt nicht

# In .env explizit setzen:
APP_BASE_PATH=/proxy/8080

Sessions funktionieren nicht

# Prüfen Sie Verzeichnisrechte:
chmod 755 storage/
ls -la storage/

📋 Checkliste

Code-Server Proxy

  • .env erstellt und APP_BASE_PATH=/proxy/8080 gesetzt
  • PHP Server gestartet: php -S 0.0.0.0:8080 -t public public/router.php
  • Zugriff über /proxy/8080/ funktioniert
  • CSS und Assets werden geladen
  • Login funktioniert

Netcup Webspace

  • Dateien hochgeladen (Document Root → /public/)
  • .env erstellt und konfiguriert
  • APP_BASE_PATH= (leer gelassen)
  • Datenbank-Zugangsdaten eingetragen
  • Verzeichnisrechte gesetzt (755 für storage/)
  • Installation unter /install durchgeführt
  • HTTPS funktioniert
  • Login funktioniert

💡 Tipps

Entwicklung mit Code-Server

# Screen-Session für dauerhaften Betrieb
screen -dmS kaffeekasse bash -c 'cd /config/workspace/kaffeeliste-neustart && php -S 0.0.0.0:8080 -t public public/router.php'

# Session wieder verbinden
screen -r kaffeekasse

# Session beenden
screen -X -S kaffeekasse quit

Production auf Netcup

# HTTPS erzwingen in public/.htaccess
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

SQLite für Entwicklung

# Einfacher für lokale Entwicklung
DB_HOST=sqlite
DB_NAME=/config/workspace/kaffeeliste-neustart/storage/database.sqlite

🔗 Weitere Ressourcen

  • Vollständige Dokumentation: docs/deployment-proxy-guide.md
  • Deployment Guide: DEPLOY.md
  • Runbook: RUNBOOK.md
  • Netcup Checkliste: docs/go-live-checklist-netcup.md