CONFIG_REFERENCE.md 4.6 KB

Config Reference (config.php)

config.php wird nicht versioniert. Vorlage: config.sample.php (auf dem Server nach config.php kopieren und anpassen).

Relevante Konstanten

Konstante Zweck
SITE_NAME Primärer Markenname in Oberfläche und Mails
SITE_SERVICE_NAME Servicename für Fließtexte, Betreffzeilen und textliche Verweise
SITE_SERVICE_HEADER Service-Bezeichnung für Header, Seitentitel und sichtbare Überschriften
SITE_DEPARTMENT_NAME Fachbereichskennzeichnung für Footer und Kommunikation
SITE_ADDRESS_LINE Postanschrift des verantwortlichen Amts im Footer
SITE_IMPRINT_URL Ziel-URL für den Impressumslink
SITE_PRIVACY_URL Ziel-URL für den Datenschutzlink
SITE_FULL_NAME Kombinierter Anzeigename aus Marke und Service-Header
SITE_URL Basispfad oder Basis-URL für Links und Assets
SITE_CANONICAL_ORIGIN Optional: https://hostname (ohne Pfad) für absolute E-Mail-Links, falls HTTP_HOST unzuverlässig ist
ADMIN_LOGIN_RATE_LIMIT_MAX Optional: max. fehlgeschlagene Admin-Logins pro IP und Zeitfenster (Standard: 10)
ADMIN_LOGIN_RATE_LIMIT_WINDOW Optional: Zeitfenster in Sekunden für Admin-Login-Limit (Standard: 900)
CHECKOUT_RATE_LIMIT_MAX Optional: max. Checkout-Versuche pro IP und Fenster (Zähler erst nach erfolgreich gespeicherter Bestellung; Standard: 30)
CHECKOUT_RATE_LIMIT_WINDOW Optional: Zeitfenster in Sekunden für Checkout-Limit (Standard: 3600)
DISCLAIMER_LINES Hinweistext auf der Startseite
ORDER_PREFIX Präfix für Bestellnummern
ORDER_RECIPIENT_EMAIL Standard-Empfänger für interne Bestellmails
ATTACH_ORDER_PDF_TO_ADMIN_EMAIL Standard, ob interne Bestellmails ein PDF erhalten
ADMIN_EMAIL Fallback für Admin-Profile ohne gültige Mailadresse
FROM_EMAIL Absenderadresse ausgehender Mails
FROM_NAME Anzeigename ausgehender Mails
DATA_DIR Verzeichnis für JSON-Daten und Unterordner (data/)
UPLOADS_DIR Verzeichnis für Produktbilder (data/uploads/)
UPLOADS_URL Öffentliche URL-Basis für Uploads (SITE_URL + /data/uploads)
PRODUCTS_FILE JSON-Datei für Produkte
ORDERS_FILE JSON-Datei für Bestellungen
ORGANIZATIONS_FILE JSON-Datei für Organisationen
SETTINGS_FILE JSON-Datei für im Admin veränderbare Systemeinstellungen
ADMINS_FILE JSON-Datei für Adminkonten
CATEGORIES_FILE JSON-Datei für Kategorien
FAQ_FILE JSON-Datei für FAQ-Inhalte
MANUAL_BACKORDERS_FILE JSON-Datei für manuelle Nachbestell-Einträge (ohne Bestellbezug)
BACKUP_DIR Lokales Verzeichnis für Daten-Backups (Standard: DATA_DIR . 'backups/')
BACKUP_LOCAL_RETENTION Anzahl lokal aufzubewahrender Backup-ZIPs (Standard: 4)
BACKUP_AUTO_INTERVAL_SECONDS Intervall für Backups durch Admin-Aktivität (Standard: 604800 = wöchentlich; 0 deaktiviert)
BACKUP_REMOTE_TARGETS Optionale Remote-Ziele für Backup-Uploads (s3, sftp, custom)

Runtime (data/settings.json)

Im Admin unter Einstellungen überschreibbar (schreibt data/settings.json):

  • order_recipient_email — Empfänger interner Bestellmails (hat Vorrang vor ORDER_RECIPIENT_EMAIL)
  • attach_order_pdf_to_admin_email — PDF-Anhang an interne Bestellmails

Der Startseiten-Introtext wird unter FAQ gepflegt (startpage_intro_text in derselben Datei). Beim Speichern der Einstellungen bleibt der Introtext erhalten.

Rate limits und Logging

  • Rate-Limit-Zähler liegen unter data/ratelimit/ (wird bei Bedarf angelegt).
  • Wenn das Verzeichnis nicht beschreibbar ist, gelten Limits als nicht aktiv (Anfragen werden zugelassen — Verfügbarkeit auf Shared Hosting).
  • Zugriffs- und Fehlerprotokolle: data/logs/ (siehe logAccess / logError in includes/functions.php).

Backups

  • Manuelle Backups werden im Admin unter Einstellungen erstellt.
  • Automatische Backups werden nur durch Admin-Aktivität auf der Einstellungsseite ausgelöst, wenn das konfigurierte Intervall abgelaufen ist.
  • Backups enthalten data/*.json und data/uploads/**; App-Dateien, Logs, Updates, Rate-Limits und bestehende Backups werden ausgeschlossen.
  • SFTP benötigt die optionale PHP-SSH2-Erweiterung. Ohne Erweiterung bleibt das lokale Backup gültig, der Remote-Upload wird als fehlgeschlagen protokolliert.
  • Zugangsdaten für Remote-Ziele gehören in config.php, nicht in data/settings.json.

Hinweis

Die Konstanten definieren die Startwerte. Änderbare Betriebsparameter wie interne Empfängeradresse können zusätzlich im Adminbereich unter Einstellungen angepasst werden.