Contao Dozent Marvin Kellermann

|

Contao Instanz umziehen

YouTube Anleitung

Hi! Du kannst dir meine Anleitung zum Umzug / Backup einer Contao-Instanz als Video auf YouTube ansehen.

Um eine Contao-Webseite auf einen anderen Server umziehen zu lassen oder ein Backup zu erstellen, gibt einen recht simplen Weg, der allerdings einige Hürden bereithält.

In dieser Anleitung erfährst du den Ablauf der Schritte und wie du mögliche Probleme aus dem Weg räumst. Zunächst ein Überblick der ToDos:

  1. ZIP aus Contao-Dateien erstellen (und downloaden)
  2. Datenbank herunterladen
  3. Cache löschen
  4. (sub)Domain einrichten und rooten
  5. Contao Manager aufrufen
    1. Fehlerbehebung
  6. Symlinks
  7. Contao Manager Fehler beheben

ZIP aus Contao-Dateien erstellen

Der erste Schritt ist die Contao-Instanz in eine ZIP-Datei umzuwandeln. Effektiv gibt es dafür zwei Möglichkeiten: habt ihr einen SSH-Zugang, könnt ihr euch per Konsole auf dem Server einloggen und den ausgewählten Pfad verpacken. Hast du allerdings keinen SSH-Zugang oder fühlst dich in dem Thema nicht sicher, bieten die meisten Provider auch eine visuelle Oberfläche für solche Tasks. In dem Fall kann ich bei All Inkl über den WebFTP auf die Webspace zugreifen und ausgewählte Ordner als Zip (für Linux) komprimieren.

Da in meinem /files-Ordner einige Dateien liegen, die ich nicht mehr benötige, verpacke ich die komplette Contao Instanz, OHNE den files-Ordner. Im Nachgang verpacke ich die Ordner aus files, die ich tatsächlich benötige und mitnehmen möchte.

Möchtest du die Dateien auf einem anderen Server übernehmen, lädst du dir nun die Dateien herunter und wieder auf dem anderen Provider hoch. An der stelle kannst du auch wieder auf das FTP Programm deines Vertrauens zurückgreifen.

Datenbank herunterladen

Da ein CMS nicht nur aus PHP-, CSS und Bilddateien besteht, gibt es einen Haufen von Informationen, die in der Datenbank gespeichert werden. So gut wie jeder Provider bietet zu der Datenbankverwaltung eine Bedienoberfläche, die sich PhpMyAdmin nennt. Wenn du diese nicht finden kannst, such am besten in Google oder nimm Kontakt zum Support deines Hosters auf. Du möchtest die Datenbank aufrufen, die aktuell für deine Contao Instanz verwendet wird.

Bist du dir nicht sicher welche dies ist: suche in deinem FTP-Programm nach der Datei parameter.yml im Ordner config (in älteren Contao Instanzen, kann der Pfad sich unterscheiden). In dieser Datei findest du sowohl den Benutzernamen, als auch Passwort und Datenbanknamen. Diese Datei benötigen wir später noch.

Nun öffne die PhpMyAdmin-Oberfläche und klicke in der Navigation auf Export.

Als nächstes erstellst du eine neue Datenbank und lädst dort das Backup wieder hoch.

Datenbank Verbindungsdaten ändern

Nun müssen wir der Contao-Instanz zu verstehen gehen, dass sie mit einer anderen Datenbank kommunizieren muss. Die Einstellung dafür finden wir in dem Ordner /config und heißt parameters.yml. Dort finden wir bereits die Eingaben:

database_host: servername database_port: 3306 database_user: username database_password: passwort database_name: name

Gebt dort den Username, das Passwort und den Datenbanknamen ein. In den meisten fällen ist der host localhost und der port 3306. Dies muss aber nicht bei allen Providern der Fall sein. Ziehst du also auf einen neuen Server um, erkundige dich auch zu diesen Informationen.

Cache leeren

Die Änderungen an der Datenbankverbindung werden nicht sichtbar, bis du den Cache geleert hast. In der aktuellen Stand der Webseite funktioniert dies am besten über den FTP. Navigiere zum Ordner var/cache und lösche sowohl /prod, also auch (falls vorhanden) /dev.

Die (sub)Domain einrichten und rooten

Nun müssen wir unsere neue Instanz sichtbar machen. Dafür lassen wir die angedachte (Sub-)Domain auf unser Contao Verzeichnis rooten. Wichtig: nicht auf den Grund-Ordner, sondern immer den /web Ordner. Also meinContaoOrdner/web.

Verwende dabei die selbe PHP-Version und ein SSL-Zertifikat, sofern im original auch vorhanden.

Contao Manager aufrufen

Nun solltest du in der Lage sein deine Contao Instanz zu sehen - höchstwahrscheinlich mit einem Fehler. Als ersten Schritt rufst du daher den Contao Manager auf. Und siehst (in meinem Fall zumindest) erneut einen Error:

Fehlerbehebung SHA1 Signature could not be verified

Die Fehlermeldung hat mich darauf aufmerksam gemacht, dass in der contao-manager.phar.php ein Problem herrscht. An der entsprechenden Stelle im Code war tatsächlich die Formatierung zerschossen. Daher habe ich die Datei kurzerhand gelöscht, von contao.org erneut heruntergeladen, umbenannt und konnte mich mit meinen bekannten Daten wieder einloggen. Das Passwort wird schließlich in der user.json im Ordner /contao-manager/ gespeichert.

Hast du einen anderen Fehler, solltest du die Fehlermeldung am besten googln. Du bist seltenst der Erste mit dem Problem. Falls doch: veröffentliche am besten ein Eintrag im Contao Formular: https://community.contao.org/de/ - dort wird nicht nur dir geholfen, der nächste mit dem Fehler hat dann auch eine Anlaufstation.

Danach lief der System-Check problemlos durch, weshalb ich mich direkt auf das Contao-Backend stürzte und mich einloggte. Das Login wird sehr wahrscheinlich anders formatiert sein, als es dir bekannt ist. Das liegt daran, dass die Symlinks neu erstellt werden müssen, damit Stylesheets vom System geladen werden können.

Im Bereich System » Systemwartung findest du den Job “Symlinks neu erstellen”. Klick das Häkchen davor an und drück den “Button Daten” bereinigen. Nun sollte das Backend wieder aussehen wie bekannt.

Contao Manager Fehler beheben

Ab diesem Punkt könnte die Contao Instanz bereits funktionieren, aber hier erhaltet ihr noch eine Zugabe: bei mir wurde die Erweiterungen Isotope nicht mehr erkannt, bzw. sie waren dem Contao Manager nicht bekannt. Allerdings konnte ich diesen Fehler relativ schnell beheben.

Im Ordner /web/bundles/ fehlten mir die Verknüpfungen zu den Erweiterungen - in der alten Version waren alle Links erstellt.

Im Contao Manager gibt es unter dem Reiter Systemwartung recht weit unten die Schaltfläche Composer Abhängigkeiten - Installer ausführen. Nachdem diese Aktion ausgeführt wurde, konnte ich meine Links im /web/bundles/ Ordner und im Contao Manager sehen. Das Frontend war ebenfalls wieder sichtbar.

Fazit

Ein Duplikat einer Contao-Instanz zu bewerkstelligen ist nicht ganz so einfach, mit den richtigen Tricks sollte es allerdings laufen. Falls du Fragen hast, schau gern in der Contao-Community vorbei oder sende mir eine Nachricht.

Zurück

Ich beschäftige mich seit Contao 3 mit dem CMS. Auf meinem Blog und auf YouTube findest du einige kostenlose Beiträge und Videos. Gerne unterstütze ich dich bei deinen Projekten, schau gern auf meiner Agentur-Website vorbei.

Du benötigst Unterstützung bei deiner Contao-Instanz?