Add PnPaaS application and browser installer

This commit is contained in:
Hermes Agent
2026-09-20 13:41:15 +00:00
parent 498f3308d4
commit 2e20e5472f
18 changed files with 1890 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
PnPaaS Installation ohne Shellzugriff
========================================
Voraussetzungen
---------------
- Webhosting mit PHP 8.1 oder neuer
- PHP-Erweiterungen pdo_mysql, curl und mbstring
- Eine bereits angelegte MariaDB/MySQL-Datenbank
- Ein bereits angelegter Datenbankbenutzer mit Rechten auf diese Datenbank
- HTTPS für die öffentliche Domain
- Schreibrechte des Webserver-Benutzers auf `app/includes/` während der Installation
Installation per Browser
------------------------
1. Archiv lokal entpacken.
2. Den gesamten Inhalt des Verzeichnisses `app/` per FTP, SFTP oder Hosting-Dateimanager direkt in das gewünschte Webverzeichnis hochladen entweder in ein Unterverzeichnis wie `public_html/pnpaas/` oder direkt in den Webroot `public_html/`.
3. Im Browser `https://DEINE-DOMAIN/installer.php` öffnen. Liegt die Anwendung in einem Unterverzeichnis, lautet die URL entsprechend `https://DEINE-DOMAIN/pnpaas/installer.php`.
4. MariaDB-Zugangsdaten, Administrator, öffentliche HTTPS-URL sowie Portainer- und Rechtstext-Daten eingeben.
5. Der Browser-Assistent importiert Schema und Migrationen, legt den Administrator an und schreibt die geschützte Konfiguration nach `includes/runtime-config.php`.
6. Nach erfolgreicher Installation wird `installer.php` automatisch gelöscht. Falls das Hosting das Löschen von PHP-Dateien blockiert, bleibt die Datei durch `.install-complete` gesperrt und muss über den Dateimanager gelöscht werden.
Wichtig
-------
- Es werden keine MariaDB-Root-Zugangsdaten benötigt oder abgefragt.
- Die Datenbank und der eingeschränkte Datenbankbenutzer müssen vor dem Browser-Aufruf über das Hosting-Panel existieren.
- `includes/`, `database/`, `.env`, SQL-Dateien und die Laufzeitkonfiguration sind durch `.htaccess` geschützt. Die Regeln müssen vom Hosting unterstützt werden.
- `installer.php` darf nach der Einrichtung nicht dauerhaft im Webverzeichnis verbleiben.
- Die Anwendung setzt sichere Cookies voraus und muss produktiv über HTTPS laufen.
Nach der Installation prüfen
----------------------------
- Anmeldung mit dem Administrator-Konto
- HTTP-403 für `/includes/` und `/database/`
- Keine Auslieferung von `runtime-config.php` oder `.install-complete`
- Portainer-Zugriff
- Registrierung erst nach Konfiguration der Rechtstext-URLs
Alternative für Server mit Shellzugriff
--------------------------------------
Das Paket enthält weiterhin `install.sh` für eine vollständig serverseitige Installation. Für den hier beschriebenen Ablauf ist jedoch weder Shellzugriff noch der Aufruf dieses Skripts erforderlich.