reorder folders for easy 1:1 upload to boogie server
This commit is contained in:
1 parent
de5895f558
commit
6c16e16354
20 files changed
+171
-52
No files matched your search
@@ -58,7 +58,11 @@ http://localhost:8080/perspektivwerk/
|
||||
|
||||
Die genaue Contao-, PHP- und Template-Version der öffentlichen Seite ist nicht verlässlich aus dem ausgelieferten HTML ableitbar. Das Setup bildet daher die wahrscheinlichste Komponentenfamilie nach; es ist kein Dump der Produktivinstallation. IONOS/Hosting, Matomo-Konfiguration, Inhalte, Templates und Erweiterungen müssen bei Bedarf separat ergänzt werden.
|
||||
|
||||
Die Terminlogik liegt in `public/booking/booking.js` als browsernatives ES-Modul. Für die statische Perspektivwerk-Vorschau liegen identische Kopien unter `public/perspektivwerk/js/`.
|
||||
Der vollständige, statisch auslieferbare Perspektivwerk-DocumentRoot liegt in
|
||||
`public/perspektivwerk/`. Er enthält die Buchungs-API unter `booking/` und die
|
||||
Verwaltung unter `booking-admin/`. Die Vorschau verwendet relative API-URLs und
|
||||
funktioniert dadurch lokal unter `/perspektivwerk/` sowie auf dem Server direkt
|
||||
im DocumentRoot.
|
||||
|
||||
Für einen einfachen Upload der vollständigen statischen Mockup-Seite auf den
|
||||
Testserver steht unter Windows dieses Skript bereit:
|
||||
@@ -67,17 +71,27 @@ Testserver steht unter Windows dieses Skript bereit:
|
||||
scripts\Deploy-Perspektivwerk.bat
|
||||
```
|
||||
|
||||
Es überträgt `public\perspektivwerk\*` rekursiv nach
|
||||
`boogie:/html/perspektivwerk/`. Voraussetzung ist ein konfigurierter
|
||||
OpenSSH-Zugang mit dem Host-Alias `boogie`.
|
||||
Es überträgt den vollständigen Ordner `public\perspektivwerk` und dessen
|
||||
benachbarte Konfigurationsdatei `public\booking-config.php` nach
|
||||
`boogie:html/perspektivwerk/`. Damit entsteht der Server-DocumentRoot unter
|
||||
`html/perspektivwerk/perspektivwerk/`; die Konfigurationsdatei liegt eine Ebene
|
||||
darüber und damit außerhalb des DocumentRoots. Anschließend setzt es per SSH
|
||||
lesbare Dateien und durchsuchbare Verzeichnisse.
|
||||
|
||||
Vor dem ersten Upload `public\booking-config.php.example` nach
|
||||
`public\booking-config.php` kopieren und dort die Produktiv-`database_url`
|
||||
eintragen. Die echte Konfigurationsdatei ist von Git ausgeschlossen; sie wird
|
||||
bei fehlender oder leerer PHP-Umgebungsvariable `DATABASE_URL` verwendet. Die
|
||||
mit übertragene `.htaccess` verweigert den HTTP-Zugriff auf diese Datei.
|
||||
Voraussetzung ist ein konfigurierter OpenSSH-Zugang mit dem Host-Alias
|
||||
`boogie`.
|
||||
|
||||
## Datenbankgestützte Buchungsdemo
|
||||
|
||||
Die Buchungsdemo lädt ihre Termine aus MariaDB und speichert eine Anmeldung
|
||||
über `public/booking/api.php`. Die API wird unabhängig von Contao direkt durch
|
||||
Apache ausgeliefert, verwendet aber dieselbe `DATABASE_URL` wie Contao. Dadurch
|
||||
funktioniert sie aus der Vorschau `/perspektivwerk/` und aus dem Contao-
|
||||
HTML-Element gleichermaßen.
|
||||
über `public/perspektivwerk/booking/api.php`. Die API wird unabhängig von
|
||||
Contao direkt durch Apache ausgeliefert. In der statischen Vorschau liegt sie
|
||||
relativ unter `/perspektivwerk/booking/api.php`.
|
||||
|
||||
Vor dem ersten Aufruf müssen die externen Migrationen eingespielt werden:
|
||||
|
||||
@@ -156,7 +170,7 @@ nach 30 Minuten ab.
|
||||
## Eigenständiges PHP-Backend
|
||||
|
||||
Die Testverwaltung läuft unabhängig von Contao unter
|
||||
<http://localhost:8080/booking-admin/>. Sie bietet für PW und PS:
|
||||
<http://localhost:8080/perspektivwerk/booking-admin/>. Sie bietet für PW und PS:
|
||||
|
||||
- Termin anlegen, bearbeiten sowie aktivieren/deaktivieren,
|
||||
- Übersicht und Entfernen von Teilnahmen,
|
||||
@@ -215,34 +229,43 @@ Contao maskiert nicht freigegebene HTML-Tags auch im Inhaltselement **HTML**. Vo
|
||||
|
||||
Danach den Contao-Cache über **Systemwartung** leeren und das Inhaltselement erneut speichern. Keine globale Freigabe mit `*` verwenden. Wer ein HTML-Inhaltselement bearbeiten darf, kann mit dem freigegebenen `script`-Tag JavaScript auf der Website ausführen; diese Bearbeitungsrechte müssen daher auf vertrauenswürdige Backend-Nutzer beschränkt bleiben.
|
||||
|
||||
Die Termin- und Kapazitätsdaten kommen aus `/booking/api.php`; Datenbankzugänge
|
||||
oder SQL gehören niemals in das HTML oder das Browser-JavaScript.
|
||||
Die Termin- und Kapazitätsdaten kommen in der statischen Vorschau aus
|
||||
`/perspektivwerk/booking/api.php`; Datenbankzugänge oder SQL gehören niemals in
|
||||
das HTML oder das Browser-JavaScript.
|
||||
`public/perspektivwerk/js/booking.js` und die zugehörige CSS-Datei sind die für
|
||||
den statischen Upload bestimmte Kopie. Ein Test stellt sicher, dass beide
|
||||
Asset-Paare gleich bleiben. Nach Änderungen können sie lokal synchronisiert
|
||||
werden mit:
|
||||
|
||||
```powershell
|
||||
Copy-Item public\booking\booking.js public\perspektivwerk\js\booking.js -Force
|
||||
Copy-Item public\booking\booking.css public\perspektivwerk\js\booking.css -Force
|
||||
Copy-Item public\perspektivwerk\booking\booking.js public\perspektivwerk\js\booking.js -Force
|
||||
Copy-Item public\perspektivwerk\booking\booking.css public\perspektivwerk\js\booking.css -Force
|
||||
```
|
||||
|
||||
Der vorhandene SCP-Upload überträgt weiterhin nur die statische
|
||||
Perspektivwerk-Seite. Für einen externen Einsatz der Buchungsdemo müssen
|
||||
zusätzlich `/booking/api.php`, die Migrationen und die sichere
|
||||
`DATABASE_URL`-Konfiguration auf dem Zielserver bereitgestellt werden.
|
||||
Der vorhandene SCP-Upload überträgt den vollständigen statischen
|
||||
Perspektivwerk-DocumentRoot einschließlich Buchungsdemo. Vor dem externen
|
||||
Einsatz müssen die Migrationen eingespielt und `booking-config.php` mit einer
|
||||
sicheren Datenbank-URL befüllt sein.
|
||||
|
||||
## Statische Perspektivwerk-Seite übertragen
|
||||
|
||||
Das Skript [scripts/Deploy-Perspektivwerk.ps1](scripts/Deploy-Perspektivwerk.ps1) überträgt ausschließlich den Inhalt von `public/perspektivwerk/` per SCP und korrigiert anschließend die Lesbarkeit auf dem Server per SSH. Dieser Ordner enthält auch `js/booking.js` und `js/booking.css`. Es lädt weder Contao noch die Datenbank oder andere Projektdateien hoch.
|
||||
Das Skript [scripts/Deploy-Perspektivwerk.bat](scripts/Deploy-Perspektivwerk.bat) überträgt den Ordner `public/perspektivwerk/` als vollständigen DocumentRoot per SCP und korrigiert anschließend die Lesbarkeit auf dem Server per SSH. Es lädt weder Contao noch Datenbank-Migrationen hoch.
|
||||
|
||||
```powershell
|
||||
.\scripts\Deploy-Perspektivwerk.ps1
|
||||
```bat
|
||||
scripts\Deploy-Perspektivwerk.bat
|
||||
```
|
||||
|
||||
Der Hostname `boogie` wird aus der lokalen SSH-Konfiguration verwendet. Der vollständige Inhalt wird per SCP-Aufruf nach `/home/boogie/html/perspektivwerk/` übertragen. Anschließend führt ein separater SSH-Aufruf `chmod -R a+rX /home/boogie/html/perspektivwerk` aus. Die Passphrase des SSH-Schlüssels wird daher in der Regel zweimal abgefragt.
|
||||
Der Hostname `boogie` wird aus der lokalen SSH-Konfiguration verwendet. Der
|
||||
Ordner landet unter `/home/boogie/html/perspektivwerk/perspektivwerk/`; die
|
||||
Konfiguration liegt daneben unter `/home/boogie/html/perspektivwerk/booking-config.php`.
|
||||
Anschließend führt ein separater SSH-Aufruf `chmod -R a+rX
|
||||
/home/boogie/html/perspektivwerk` aus. Die Passphrase des SSH-Schlüssels wird
|
||||
daher in der Regel zweimal abgefragt.
|
||||
|
||||
Vor dem Upload gibt das Skript den vollständigen Zielpfad aus. Damit lässt sich direkt prüfen, ob `booking.js` unter `/home/boogie/html/perspektivwerk/js/booking.js` landet. Das große `X` in `a+rX` setzt das Ausführungsrecht nur auf Verzeichnissen und auf bereits ausführbaren Dateien; normale HTML-, CSS- und JavaScript-Dateien erhalten kein unnötiges Ausführungsbit.
|
||||
Vor dem Upload muss die ignorierte `booking-config.php` befüllt sein. Das große
|
||||
`X` in `a+rX` setzt das Ausführungsrecht nur auf Verzeichnissen und auf bereits
|
||||
ausführbaren Dateien; normale HTML-, CSS- und JavaScript-Dateien erhalten kein
|
||||
unnötiges Ausführungsbit.
|
||||
|
||||
## Versionierter Contao-Seitenzustand
|
||||
|
||||
|
||||
Reference in new issue
Block a user