Die Einrichtung dauert unter einer Stunde und braucht weder Composer noch Node. Was gebraucht wird: Webspace mit PHP 8.1 aufwärts, eine leere MySQL-Datenbank und Zugriff auf die .htaccess.
1. Dateien hochladen
Den Inhalt des Pakets in das Dokumentenstammverzeichnis legen. Die Ordner sites/ und config/ müssen für PHP beschreibbar sein.
2. Datenbank anlegen
Beim Hoster eine leere Datenbank mit Benutzer anlegen. Name und Zugangsdaten bereithalten – das Setup fragt danach. Ein häufiger Stolperstein: Hoster legen Datenbankbenutzer oft je Datenbank an. Für die zentrale Verwaltung mehrerer Mandanten braucht es einen Benutzer mit Zugriff auf alle betroffenen Datenbanken.
3. Token setzen
In config/install.php ein eigenes Token eintragen. Solange dort der Platzhalter steht, verweigert das Setup den Dienst. Das ist kein Schikane-Schritt: Ohne Token könnte jeder, der die Adresse kennt, einen Mandanten anlegen.
4. Setup im Browser aufrufen
Die Adresse /setup.php aufrufen. Das Formular fragt nach Projektschlüssel, Domain, Datenbank und danach, ob dieses Projekt das Portal sein soll. Anschließend läuft die Einrichtung durch: Tabellen anlegen, Einstellungen setzen, Seiten bauen.
Im Browser aufrufen, nicht per SSH als root. Alle erzeugten Dateien gehören danach dem PHP-Benutzer – genau dem, der später aus dem Backend heraus neu baut. Wer zuerst als root installiert, bekommt Dateien, die der Webserver nicht mehr überschreiben darf, und der Build aus dem Backend scheitert.
5. Aufräumen
- Token in
config/install.phpleeren oder die Datei löschen - Admin-Passwort unter
/admin/password.phpändern - Prüfen, ob die eigene Domain in der
.htaccesssteht
Portal oder Einzelseite?
Ein Portal legt seine Seiten unter sites/_root/ ab, schaltet die Mandantenverwaltung frei und bündelt spätere Projekte automatisch in Verzeichnis und Liste. Eine Einzelseite legt ihre Seiten unter sites/<schlüssel>/ ab. Beim ersten Projekt auf einer Domain ist Portal meist die richtige Wahl – auch wenn es zunächst nur ein Projekt gibt. Umstellen geht später, kostet aber einen Neubau und die Umbenennung des Ausgabeordners.
Weitere Mandanten
Für eine Subdomain der bestehenden Domain genügen ein Eintrag im Mandantenregister, eine Konfigurationsdatei, eine Datenbank und ein Einrichtungslauf – die Weiche in der .htaccess löst Subdomains automatisch auf. Für eine zusätzliche eigene Domain kommt eine Zeile in der .htaccess hinzu.
Wenn etwas nicht geht
- „Unbekannter Host“ – die Domain fehlt im Mandantenregister oder in der
.htaccess. - „Datenbank existiert nicht“ – der Name stimmt nicht, oder die zentrale Verwaltung überschreibt ihn.
- Build scheitert aus dem Backend – vermutlich wurde zuerst als
rootinstalliert. Eigentümer des Ausgabeverzeichnisses prüfen. - CSS fehlt – der gemeinsame Ordner wurde nicht mit hochgeladen, oder die
.htaccessgreift nicht. - Seiten tragen noindex – der Indexierungsschalter steht noch auf aus. Das ist die Voreinstellung.