4.1 KiB
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-PrefixHeader) - ✅ 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
.enverstellt undAPP_BASE_PATH=/proxy/8080gesetzt- 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/) .enverstellt und konfiguriertAPP_BASE_PATH=(leer gelassen)- Datenbank-Zugangsdaten eingetragen
- Verzeichnisrechte gesetzt (755 für storage/)
- Installation unter
/installdurchgefü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