OPERATIONS.md 1.8 KB

Operations

Apache

  • Server: Apache HTTPD
  • Erforderlich: mod_rewrite aktiv
  • Erforderlich: AllowOverride All im Projektpfad
  • Root-.htaccess muss vorhanden sein und wird für Routing/Zugriffsschutz genutzt.

Cron Cleanup

Täglich ausführen:

php /pfad/zum/projekt/bin/cleanup.php

Retention

  • Drafts: config/app.php -> retention.draft_days (Default 14)
  • Submissions: config/app.php -> retention.submission_days (Default 90)

Logs

  • storage/logs/cleanup.log
  • storage/logs/mail.log
  • storage/logs/app.log
  • storage/logs/php_runtime.log
  • storage/logs/php_fatal.log

Rate Limiting

  • Konfiguration: config/app.php -> rate_limit
  • Persistenz: storage/rate_limit/
  • Detaillierte Doku: docs/RATE_LIMITING.md
  • Bei erhöhten 429-Antworten zuerst requests/window_seconds prüfen und gegen reale Nutzerlast kalibrieren.

Backup

Regelmäßig sichern:

  • storage/submissions/
  • storage/uploads/
  • config/

storage/drafts/ ist temporär und kann bei Bedarf ausgeschlossen werden.

Restore

  1. Projektdateien deployen.
  2. Backup von storage/submissions und storage/uploads zurückspielen.
  3. config/ wiederherstellen.
  4. Schreibrechte prüfen.

Troubleshooting

  • Keine Mails: Mailfunktion des Hosters prüfen, mail.log ansehen.
  • Upload Fehler: upload_max_filesize / post_max_size und Schema-Limits prüfen.
  • Login geht nicht: admin.password_hash prüfen, ggf. temporär password_plain_fallback nutzen.
  • ZIP Download fehlgeschlagen: ZipArchive Erweiterung auf Hosting prüfen.
  • Viele 429 Antworten: docs/RATE_LIMITING.md prüfen, Limits anpassen oder storage/rate_limit/ kontrollieren.
  • 500 ohne Apache/PHP-Fehlerausgabe: storage/logs/php_fatal.log und storage/logs/php_runtime.log prüfen.