Zum Inhalt springen
AffiliateAI

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:

  1. SSH- bzw. SFTP-Verbindung mit dem Schlüssel der Steuerzentrale
  2. Schreibrechte im Zielpfad, rsync vorhanden
  3. Ein kurzlebiges, signiertes Prüfskript im Webroot, aufgerufen per HTTPS: PHP-Version, Erweiterungen, Laufzeit- und Speicherlimit, Schreibrechte für var/, ausgehendes HTTPS, Datenbank mit utf8mb4 und Tabellenrechten
  4. 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.