Add guided installer for SaaS application setup
- Updated README.md to include instructions for guided installation on webspace without shell access. - Enhanced installationshandbuch.md with detailed steps for using the guided installer. - Modified saas-app/README.md to summarize the installation process using the new installer. - Generated SQL migration bundle now includes timestamp for better tracking. - Introduced public/install/index.php as the entry point for the guided installer. - Updated public/index.php to reflect changes in installation steps and added links to the installer. - Refactored migration bundle generation and SQL execution scripts for improved error handling and modularity. - Implemented session-based CSRF protection in the installer. - Added form handling for environment variable configuration and migration execution in the installer. - Created a user-friendly HTML interface for the installer with status messages and error handling.
This commit is contained in:
@@ -4,6 +4,23 @@ Diese Anleitung beschreibt den vorgesehenen Weg fuer die SaaS-Version in
|
||||
`saas-app/`. Sie ist auf Webspace-Betrieb ohne Docker und ohne dauerhafte
|
||||
Worker ausgelegt.
|
||||
|
||||
## Empfohlener Weg Auf Webspace
|
||||
|
||||
Wenn auf dem Hosting keine Shell- oder CLI-Ausfuehrung moeglich ist, nutze den
|
||||
gefuehrten Installer im Public-Pfad:
|
||||
|
||||
- `https://deine-domain.tld/install/`
|
||||
|
||||
Der Installer kann:
|
||||
|
||||
- die `.env` speichern
|
||||
- das SQL-Bundle erzeugen
|
||||
- Migrationen direkt per PHP ausfuehren, wenn `pdo_sqlsrv` verfuegbar ist
|
||||
- sich nach erfolgreicher Einrichtung sperren
|
||||
|
||||
Die CLI-Skripte unter `scripts/*.php` bleiben als Alternative fuer lokale
|
||||
Vorbereitung oder Server mit Shell-Zugriff erhalten.
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- PHP 8.2 oder neuer
|
||||
@@ -14,7 +31,7 @@ Worker ausgelegt.
|
||||
- optional: SMTP-Zugang fuer Mails
|
||||
- optional: OIDC-Provider fuer SSO
|
||||
|
||||
## Installation lokal
|
||||
## Installation Lokal
|
||||
|
||||
1. Repository klonen.
|
||||
2. Mit `php scripts/check-prerequisites.php` die Voraussetzungen pruefen.
|
||||
@@ -26,7 +43,7 @@ Worker ausgelegt.
|
||||
8. Einen ersten Benutzer und eine Mitgliedszuordnung anlegen.
|
||||
9. Spaeter Composer und das eigentliche Laravel-Bootstrap nachziehen.
|
||||
|
||||
## Migrationen ausfuehren
|
||||
## Migrationen Ausfuehren
|
||||
|
||||
Die aktuellen Dateien unter `saas-app/database/migrations/` sind SQL-Skizzen in
|
||||
PHP-Dateien, keine Laravel-Migrationsklassen. Deshalb gibt es aktuell bewusst
|
||||
@@ -70,9 +87,10 @@ eigene Umgebung angepasst werden:
|
||||
|
||||
1. Den Inhalt von `saas-app/` auf den Zielserver hochladen.
|
||||
2. Das Document-Root auf `public/` zeigen lassen.
|
||||
3. Schreibrechte fuer spaetere Storage-, Cache- und Queue-Bereiche sicherstellen.
|
||||
4. `.env` serverseitig hinterlegen.
|
||||
5. Die Anwendung einmal per Browser aufrufen und die Grundseiten pruefen.
|
||||
3. Schreibrechte fuer `saas-app/`, `.env`, `.installer.lock` und `database/migrations/generated/` sicherstellen.
|
||||
4. Den Installer unter `/install/` aufrufen und die Einrichtung durchfuehren.
|
||||
5. Nach erfolgreicher Einrichtung den Installer sperren.
|
||||
6. Die Anwendung einmal per Browser aufrufen und die Grundseiten pruefen.
|
||||
|
||||
## Cron- und Batch-Betrieb
|
||||
|
||||
@@ -89,7 +107,7 @@ Typische Aufgaben:
|
||||
Empfehlung: pro Aufgabe einen klar benannten Cron-Eintrag anlegen und die
|
||||
Ausgabe in Logdateien schreiben.
|
||||
|
||||
## Migration aus dem Legacy-System
|
||||
## Migration Aus Dem Legacy-System
|
||||
|
||||
Wenn Daten aus der alten Root-Anwendung uebernommen werden sollen, folgt die
|
||||
Reihenfolge:
|
||||
|
||||
Reference in New Issue
Block a user