Doku
Hosting-Anforderungen und Hosting-Check
Deine Site läuft auf deinem eigenen Webhosting. Der Kern ist bewusst schlank, damit normales Shared Hosting genügt.
Anforderungen
| Was | Mindestens |
|---|---|
| PHP | 8.2 mit pdo_mysql, curl, mbstring, json, optional gd |
| Datenbank | MySQL 5.7 oder MariaDB 10.4, Zeichensatz utf8mb4 |
| Zugang | SSH (mit rsync ideal) oder nur SFTP |
| Netz | ausgehendes HTTPS zur Steuerzentrale |
| Laufzeit | ein Aufruf darf etwa 30 Sekunden laufen, eine Job-Portion braucht unter 25 Sekunden |
Nicht nötig: Composer, Cron beim Hoster, Shell-Funktionen wie exec. Die dürfen gesperrt sein.
Aufbau auf dem Server
config.php Konfiguration der Site (nur auf dem Server, Rechte 600)
core/ modules/ themes/ install/ Kern, schreibgeschützt
site/ deine Überlagerung (Templates, Assets, Seed-Daten)
public/ Webroot: index.php, cron.php, .htaccess, assets/, media/
var/ Cache, Sperren, Protokolle, einziger beschreibbarer Ort
Webserver einrichten
Die Domain oder Subdomain zeigt auf public/. Alles, was keine echte Datei ist, geht an public/index.php.
Apache (Shared Hosting)
public/.htaccess liegt bei. Kannst du den Webroot nicht auf public/ setzen, lege in der Wurzel eine .htaccess an:
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
Sperre dann zusätzlich core/, modules/, site/, var/, install/ und config.php mit Require all denied.
nginx
root /pfad/zur/site/public;
location / { try_files $uri /index.php$is_args$args; }
location ~ /\. { deny all; }
location = /index.php {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
Unterverzeichnis
Soll die Site unter https://example.de/vergleich/ laufen, verlinkst du public/ dorthin oder bindest es als Alias ein. Der Kern kennt den Basispfad aus seiner Konfiguration und erzeugt alle Links passend. Liefert dein Server die Seiten nicht unter demselben Pfad aus wie im Dateisystem, ergänze RewriteBase /vergleich/.
Der Hosting-Check
Nach dem Speichern der Zugangsdaten prüft der Assistent:
- SSH- bzw. SFTP-Verbindung mit dem Schlüssel der Steuerzentrale
- Schreibrechte im Zielpfad, rsync vorhanden
- Ein kurzlebiges, signiertes Prüfskript im Webroot, aufgerufen per HTTPS: PHP-Version, Erweiterungen, Laufzeit- und Speicherlimit, Schreibrechte für
var/, ausgehendes HTTPS, Datenbank mitutf8mb4und Tabellenrechten - Das Prüfskript löscht sich danach selbst.
Jeder Punkt erscheint mit Haken oder einer konkreten Fehlermeldung, die du an deinen Hoster weitergeben kannst.
Nur SFTP
Bietet dein Hoster kein SSH, wählst du im Assistenten SFTP. Die Steuerzentrale lädt den neuen Stand in ein Zwischenverzeichnis und tauscht ihn dann aus. Alte Stände räumt der Job aufraeumen nach einem Tag weg.
Frage offen geblieben? Schreib uns über das Anfrageformular, wir ergänzen die Doku.