Contao aktualisieren
Wie die meisten Open-Source-Projekte wird auch Contao kontinuierlich weiterentwickelt. Mit jedem Update werden Komponenten aktualisiert, Fehler behoben, neue Funktionen hinzugefügt oder die Performance verbessert. Es wird daher empfohlen, immer eine aktuelle Version zu verwenden.
Der Contao-Update-Zyklus
Contao folgt für die Versionsbezeichnungen dem Konzept von Semantic Versioning. Das klingt etwas gar technisch weshalb wir uns schnell gemeinsam mit der verwendeten Terminologie vertraut machen:
Major-Release
Bei einem Major-Release handelt es sich um eine komplett neue Version der Software, bei der viele grundlegende Dinge geändert wurden und mit der bereits bestehende Seiten unter Umständen nicht mehr funktionieren. Die aktuelle Major-Version von Contao ist beim Schreiben dieser Zeilen die Version 4.
Minor-Release
Bei einem Minor-Release handelt es sich um eine Art Meilenstein auf dem Weg der Entwicklung, bei dem neue Funktionen hinzugefügt wurden. Kleinere Anpassungen bestehender Seiten können daher notwendig sein. Die aktuelle Minor-Version von Contao ist beim Schreiben dieser Zeilen die Version 4.8.
Bugfix-Release
Bei einem Bugfix-Release handelt es sich um ein Wartungsrelease, dessen primärer Zweck die Behebung von Fehlern ist. Die aktuelle Bugfix-Version von Contao ist beim Schreiben dieser Zeilen die Version 4.8.4.
Long-Term-Support-Versionen
Der Release-Zyklus von Contao beinhaltet auch Versionen mit Long Term Support. Die Contao-Versionen mit verlängertem Supportzeitraum werden während 3 Jahren mit Bugfixes und 1 Jahr mit sicherheitsrelevanten Updates versorgt, auch wenn zwischenzeitlich schon neuere Contao-Versionen veröffentlicht wurden. Eine Übersicht aller Contao-Versionen gibt es auf Wikipedia.
Aktualisierung mit dem Contao Manager
Info
Vor der Aktualisierung von Contao wird empfohlen, ein Backup der composer.json
, composer.lock
sowie der Datenbank
anzulegen.
Melde dich im Contao Manager an und starte ihn.
Bei einer Aktualisierung für ein Bugfix-Release genügt es auf »Pakete aktualisieren« zu klicken.
Besonderheit bei einer Aktualisierung für ein Minor-Release: Klicke bei »Contao Open Source CMS« auf das Zahnrad-Symbol und gebe die gewünschte Version ein. Durch einen Klick auf die Schaltfläche »Pakete aktualisieren« und danach »Änderungen anwenden« schiebst du die Aktualisierung an.
Die Aktualisierung kann nun mehrere Minuten in Anspruch nehmen. Details zum Aktualisierungsprozess können durch Klick
auf folgendes Symbol
angezeigt
werden.
Datenbanktabellen aktualisieren
Öffne das Contao-Installtool, und überprüfe, ob nach der Aktualisierung irgendwelche Änderungen an deiner Datenbank notwendig sind. Führe gegebenenfalls die vorgeschlagenen Änderungen durch, und schließe dann das Installtool.
Deine Contao-Installation ist jetzt auf dem neuesten Stand.
Aktualisierung über die Kommandozeile
Info
Um Contao über die Kommandozeile aktualisieren zu können, muss Composer installiert sein.
Info
Vor der Aktualisierung von Contao empfehle ich dir ein Backup der composer.json
, composer.lock
sowie der Datenbank
anzulegen.
Bei der Aktualisierung über die Kommandozeile wird ein composer update
ausgeführt. Das wird bei einigen Hostern dazu
führen, dass der Prozess wegen der zu hohen Systemanforderung nicht beendet werden kann und die Installation dadurch
fehlschlägt. In diesem Fall solltest du den Contao Manager nutzen.
Du hast dich mit deinem Benutzernamen und deiner Domain auf deinem Server angemeldet.
$ ssh benutzername@example.com
Wechsle dann auf der Konsole in das Verzeichnis deiner zu aktualisierenden Contao-Installation.
$ cd www/example/
Bei einer Aktualisierung für ein Bugfix-Release genügt es, folgendes Kommando abzusetzen.
$ composer update
Bei einer Aktualisierung für ein Minor-Release muss die gewünschte Version des contao/manager-bundle
in der composer.json
eingetragen werden.
{
…
"require": {
"contao/manager-bundle": "4.8.*",
…
},
…
}
Jetzt noch die Aktualisierung auf der Kommandozeile anstoßen.
$ composer update
Datenbanktabellen aktualisieren
Öffne das Contao-Installtool, und überprüfe, ob nach der Aktualisierung irgendwelche Änderungen an deiner Datenbank notwendig sind. Führe gegebenenfalls die vorgeschlagenen Änderungen durch, und schließe dann das Installtool.
Anstelle des Contao-Installtools kannst Du (ab Contao 4.9) zur Aktualisierung der Datenbanktabellen auf der Kommandozeile das Command
$ vendor/bin/contao-console contao:migrate
verwenden.
Deine Contao-Installation ist jetzt auf dem neuesten Stand.
Lokale Aktualisierung ohne die Composer Resolver Cloud
Die Vorgehensweisen, die oben in Aktualisierung über die Kommandozeile und Aktualisierung mit dem Contao Manager beschrieben wurden, kannst du auch lokal durchführen. Dies hat den Vorteil, dass du im Gegensatz zur Umgebung bei einem Hoster keine Probleme mit nicht erfüllten Systemanforderungen wie z. B. ungenügendem Arbeitsspeicher bekommst, denn du kannst die entsprechende Konfiguration selbst nach Bedarf anpassen.
Voraussetzungen bei Verwendung der Kommandozeile
Was benötigst du auf deinem Computer?
- ein beliebiges Verzeichnis, in dem du arbeitest (dein Arbeitsverzeichnis)
- PHP, idealerweise in der gleichen Version, wie sie auf deinem Hosting verwendet wird.
- Composer (wir gehen hier davon aus, dass du Composer global installierst
- Kopien der
composer.json
undcomposer.lock
der Contao-Installation bei deinem Hoster
Was benötigst du nicht?
- MySQL
- Eine lokale Contao-Installation
Die Aktualisierung durchführen
Kopiere die composer.json
und composer.lock
von deinem Hosting in dein Arbeitsverzeichnis.
Im Wesentlichen machst du dann das Gleiche, wie oben unter
Aktualisierung über die Kommandozeile beschrieben:
Öffne ein Terminal und wechsle in das Arbeitsverzeichnis. Führe dort
$ composer update
aus. Nach dem erfolgreichen Abschluss der Aktualisierung kopierst du die aktualisierte composer.lock
(und die composer.json
, falls du dort Änderungen gemacht hast) zurück in die Contao-Installation
auf deinem Hosting.
Danach meldest du dich entweder per ssh
auf deinem Server (Hosting) an
$ ssh benutzername@example.com
und lässt Composer die aktualisierten Pakete installieren
$ composer install
oder du verwendest den Contao Manager. Dort wählst du unter »Systemwartung« den Punkt »Composer-Abhängigkeiten«, »Installer ausführen«.
Zum Abschluss musst du noch die Datenbanktabellen aktualisieren.
Datenbanktabellen aktualisieren
Öffne das Contao-Installtool und überprüfe, ob nach der Aktualisierung Änderungen an deiner Datenbank notwendig sind. Führe gegebenenfalls die vorgeschlagenen Änderungen durch und schließe dann das Installtool.
Anstelle des Contao-Installtools kannst du (ab Contao 4.9) zur Aktualisierung der Datenbanktabellen auf der Kommandozeile das Command
$ vendor/bin/contao-console contao:migrate
verwenden.
Deine Contao-Installation ist jetzt auf dem neuesten Stand.
Verschiedene PHP-Versionen
Wenn die lokal verwendete PHP-Version eine andere ist, als bei deinem Hosting, musst du in der composer.json
angeben, welche PHP-Version verwendet werden soll:
...
"config": {
"platform": {
"php": "7.4.99"
}
},
"require": {
...
}
...
Lokale Updates mit dem Contao Manager
Du benötigst eine lokale Contao-Installation. In dieser installierst du den Contao Manager und führst das Update wie im Abschnitt Aktualisierung mit dem Contao Manager beschrieben durch.
Stelle zuvor jedoch sicher, daß die Composer Resolver Cloud nicht verwendet wird. Du benötigst sie nicht, da du auf deinem eigenen Server genügend Arbeitsspeicher bereitstellen kannst und entlastest so die Cloud.
Die Einstellung findest du in der »Systemprüfung« im Bereich »Serverkonfiguration«.
Nach dem erfolgreichen Update überträgst du wie im vorherigen Abschnitt beschrieben die composer.json
und
composer.lock
zurück in die Contao-Installation auf deinem Hosting. Die weiteren Schritte auf deinem Hosting sind die
gleichen wie oben beschrieben.