Diese Dokumentation beschreibt ein hocheffizientes, schlankes Setup für das Deployment von TYPO3-Websites. Wir nutzen die Plesk Git-Extension, um Code direkt vom lokalen Rechner auf den Server zu pushen (KISS-Prinzip).
Wir verzichten auf komplexe CI/CD-Zwischenschritte. Dein Plesk-Server agiert direkt als Git-Remote.
main) für alles.staging und live).Führe diese Schritte für die Staging- und die Live-Domain in Plesk aus:
id_ed25519.pub Inhalt in Plesk unter Websites & Domains > SSH-Zugriff (oder direkt in die Git-Konfiguration), um passwortlos zu pushen.Füge die SSH-Git-URLs aus Plesk als Remotes zu deinem lokalen Projekt hinzu:
# Staging-Server hinzufügen
git remote add staging <dein-plesk-git-benutzer>@<dein-server>:/repos/staging-repo.git
# Live-Server hinzufügen
git remote add live <dein-plesk-git-benutzer>@<dein-server>:/repos/live-repo.git
Konfiguriere in Plesk unter Git > Zusätzliche Bereitstellungsaktionen folgenden Block. Er sorgt dafür, dass TYPO3 nach jedem Push aktualisiert wird.
# 1. Composer-Abhängigkeiten installieren
# Nutze den absoluten Pfad zur Plesk PHP-Binary
/opt/plesk/php/8.3/bin/php /usr/lib/php/composer.phar install --no-dev --optimize-autoloader
# 2. Datenbank-Schema-Updates ausführen
/opt/plesk/php/8.3/bin/php ./vendor/bin/typo3 cms:database:updateschema
# 3. TYPO3-Caches leeren
/opt/plesk/php/8.3/bin/php ./vendor/bin/typo3 cache:flush
Arbeite lokal an deinem Code. Wenn du fertig bist:
| Ziel | Befehl | Ergebnis |
|---|---|---|
| Testen | git push staging main |
Code wird auf Staging ausgerollt, DB aktualisiert. |
| Live-Gang | git push live main |
Derselbe Stand wird auf der Live-Seite aktiv. |
.gitignore: Stelle sicher, dass diese Dateien NIEMALS im Git landen:
.env (enthält die lokalen/server-spezifischen DB-Daten)public/fileadmin/ und public/uploads/public/typo3temp/ und var/git revert <commit-id> und pushe erneut auf live./opt/plesk/php/8.X/bin/php./opt/plesk/php/8.3/bin/php -d memory_limit=-1 /usr/lib/php/composer.phar install ...