zum Hauptinhalt springen.
UX/UI Design, Entwicklung & TYPO3 in Karlsruhe Karlsruhe | seit 2006

TYPO3 12 lokal mit Composer und DDEV installieren

25.01.2023, geschätzte Lesedauer: Minute(n). #entwicklung #typo3

Mit TYPO3 12 wird erstmals die Composer Installation ohne "Krücken" voll unterstützt und bringt ein paar wesentliche Änderungen bei der Installationstruktur mit. Da die Veröffentlichung von TYPO3 12 LTS vor der Tür steht, ist es also an der Zeit, sich das mal anzuschauen.

TYPO3 12 ist noch nicht als LTS Version veröffentlicht. Der Artikel wird bei weiteren Änderungen entsprechend aktualisiert.

Um TYPO3 12 zu installieren, muss zunächst eine Entwicklungsumgebung wie Docker und DDEV auf dem Rechner installiert sein. Wie das geht, habe ich für macOS (unter Linux sollte das ähnlich sein) bereits hier erklärt. In der Console im Projektverzeichnis müssen nun folgende Befehle ausgeführt werden:

// DDEV initialisiert das Projekt als TYPO3 Projekt: ddev config --project-type=typo3 --docroot=public --create-docroot --php-version 8.1 // TYPO3 installieren: ddev composer create --no-install "typo3/cms-base-distribution:^12" // Da aktuell die TYPO3 Console noch nicht verfügbar ist, gehts so weiter (werde ich hier ggfs. später aktualisieren): ddev composer install ddev restart ddev exec touch public/FIRST_INSTALL ddev launch

Es öffnet sich jetzt im Browser das Installtool und fordert dazu auf, einen Backend Benutzer anzulegen. Fertig :)

Soll gleich zu Beginn nur das installieren werden, was notwendigerweise benötigt wird, kann anstelle der "Base Distribution" der passende Installationsbefehl auch mit Hilfe dieses Tools erstellt werden. Das erspart dann ein paar Schritte.

Die Installation (und Deinstalltion) von zusätzlichen Extensions und von lokalen Erweiterungen erfolgt wie im Blogeintrag zur Installation von TYPO3 11 beschrieben.

Neue Installationsstruktur

Schaut man sich jetzt die Installationsstruktur an, zeigen sich deutliche Änderungen zu bisherigen TYPO3 Versionen. So liegt die index.php weiterhin im public Ordner, jedoch fehlt im Verzeichnis "typo3" das Unterverzeichnis "sysext" mit seinen Core Extensions. Core Erweiterungen liegen jetzt im Verzeichnis "vendor/typo3" außerhalb von "public", sind umbenannt ("cms-xyz") und werden über Symlinks mit langen kryptische Namen im Verzeichnis "public/_assets" geladen. In "vendor" liegen zudem alle Erweiterungen, die über Composer von anderen Anbietern installiert werden. Daher fehlt auch das Verzeichnis "typo3conf/ext". Überhaupt ist das komplette Verzeichnis "typo3conf" leer. Denn auch die Konfigurationsdateien "LocalConfiguration.php" und "AdditionalConfiguration.php" wurden verschoben und liegen jetzt außerhalb von "public" im Verzeichnis config/system und heißen "settings.php" und "additional.php".

Damit liegen im Verzeichnis "public", auf das die Domain(s) verweisen, nicht mehr systemrelevante Dateien. In "public " liegen jetzt ausschließlich die "index.php", die "install.php" sowie die Assets wie Fileadmin. Die neue Installationsstruktur ist damit logischer und dürfte TYPO3 nochmals sicherer machen.

Welche Auswirkung bringt das mit sich?

Für Integratoren bedeutet das vor allem, dass keine absoluten Pfade mehr im Stil von "/typo3conf/ext/provider/Resources/Public/Js/bundle.min.js" verwendet werden können. Eine gute Hilfe bietet folgender Blog: brot.krue.ml.

Weitere Änderungen

CKEditor

Der CKEditor ist in Version 5 integriert. Das bringt mit sich, dass die Plugins der Version 4 nicht mehr funktionieren. Auch die Konfiguration in der YAML Datei muss weitreichend angepasst werden. Am einfachsten geht das vermutlich, wenn man die alte YAML mit den Einstellungen aus vendor/typo3/cms-rte-ckeditor/Configuration/RTE/Full.yaml überschreibt und dann entsprechend der Doku anpasst.

Skyline Karlsruhe