Der erste Durchlauf der Testinstanz hat neun Bugs zutage gefoerdert, und fast
alle waren dieselbe Sorte Fehler: eine Auskunft, die nicht stimmte.
Am folgenreichsten die Fassung. config/config.php fuehrte app.version als feste
Zeichenkette und stand seit 2.0.0 darauf, waehrend 2.7.0 lief - unbemerkt, weil
die Datei gitignored ist und in keinem Diff auftaucht. Zwei gemeldete Bugs sind
daran fehldiagnostiziert worden ("der Server ist zu alt"). src/bootstrap.php
leitet die Fassung jetzt aus "current" in public/docs/changelog.json ab.
Im Einzelnen:
- #346 Fassung aus dem Changelog statt aus der Konfiguration
- #60 /api/health ueberlebt eine leere Datenbank: eigener Check "schema",
healthy=false mit Begruendung statt HTTP 500
- #54 dc-testkit doctor prueft Mindestfassung (semantisch) und Rechte, statt
sie nur anzuzeigen - dafuer neu: GET /api/tokens/v1/whoami
- #53 dc-testkit.sh unter /testkit/ erreichbar (Route fehlte, der
dokumentierte Bezugsweg hat nie funktioniert) und mit LF ausgeliefert
(deploy.py/deploy_dev.py entfernen CR bei .sh/.bash beim Upload)
- #288 Filter und Formulare werfen nicht mehr aufs Dashboard zurueck: die
offene Ansicht wandert bei GET als "view" in den Query-String, und die
Filter loesen ueber requestSubmit() aus - form.submit() erzeugt kein
submit-Ereignis, weshalb der zentrale Zuhoerer dort nie lief
- #347 /api/bugtracker/v1/roadmap auch ohne .php erreichbar
- #55 Fassungshinweis in TESTUMGEBUNG.md 4.6 (serverseitig war das mit 2.6.0
bereits behoben)
Nicht geprueft: php -l. Auf dem Arbeitsplatz ist kein PHP installiert; die
Abnahme laeuft ueber die Testinstanz.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
config/
Dieses Verzeichnis enthält Zugangsdaten und wird nicht versioniert.
| Datei | Zweck | In Git? |
|---|---|---|
config.example.php |
Vorlage mit allen Schlüsseln | ja |
config.php |
Aktive Konfiguration dieser Instanz | nein |
.htpasswd |
Apache Basic-Auth vor der Plattform | nein |
Einrichtung
cp config/config.example.php config/config.php
Danach db.* sowie die drei Schlüssel unter security ausfüllen. Schlüssel erzeugen:
openssl rand -hex 32
Umgebungsvariablen
Jeder Wert lässt sich über eine Umgebungsvariable überschreiben; diese hat Vorrang
vor dem Wert in config.php:
DC_APP_URL, DC_DEBUG, DC_DB_HOST, DC_DB_NAME, DC_DB_USER, DC_DB_PASS,
DC_SHARED_KEY, DC_WEBHOOK_KEY, DC_LICENSE_SIGNING_KEY
Schutz im Webroot
/.htaccess blockt Zugriffe auf config/, src/, sql/ und scripts/.
Zusätzlich liegt in diesem Verzeichnis eine eigene .htaccess als zweite
Verteidigungslinie, falls mod_rewrite oder AllowOverride einmal ausfallen.
Ideal wäre, config/ ganz aus dem Webroot zu verschieben.