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.