Der Umzug einer Contao Installation (z. B. vom lokalen System auf den Live-Server) läuft fast genauso ab wie eine Neuinstallation. Hinzu kommen der Transfer der bestehenden Datenbank sowie anwendungsspezifische Dateien.
Um Unannehmlichkeiten beim Umzug zu verhindern, sollte auf deinem lokalen Server die selbe PHP-Version wie auf dem Live-Server laufen.
Ein Abbild der Datenbank (SQL-Dump) lässt sich entweder mit der grafischen Datenbankverwaltung »phpMyAdmin«
oder über das mysqldump
Programm auf der Kommandozeile erstellen.
Melde dich in “phpMyAdmin” an und wähle die zu exportierende Datenbank aus. Wechsle dann in den “Exportieren”-Tab im oberen Menü und bestätige mit “Ok”.
Du erhälst eine sql
-Datei, die du im nächsten Schritt importieren kannst.
Stelle sicher, dass mysqldump
und gzip
installiert sind, dann führe folgendes Kommando aus (dabei ersetzt du
“my_user” mit deinem Datenbank-Benutzernamen sowie “my_db_name” mit dem Namen der Datenbank):
mysqldump --host=localhost --user=my_user --password --hex-blob --opt my_db_name | gzip -c > my_dump.sql.gz
Gib dein Passwort ein, wenn du danach gefragt wirst.
Alle Inhalte der Datenbank wurden nun in die Datei my_dump.sql.gz
geschrieben – verwende diese im nächsten Schritt.
Öffne »phpMyAdmin« auf dem Zielserver und wähle die neue leere Datenbank aus.
Klicke auf die »Import«-Schaltfläche im oberen Menü, lade dann den zuvor erstellten SQL-Dump hoch und starte den Import.
Kopiere den zuvor erstellten SQL-Dump auf den Zielserver und navigiere zur Datei.
Stelle sicher, dass mysql
und gunzip
installiert sind und führe das folgende Kommando aus (dabei ersetzt du
“my_user” mit deinem Datenbank-Benutzernamen, “my_db_name” mit dem Namen der Datenbank und “my_dump.sql.gz” mit dem
Dateinamen des kopierten SQL-Dumps):
gunzip < my_dump.sql.gz | mysql --host=localhost --user=my_user --password my_db_name
Gib dein Passwort ein, wenn du danach gefragt wirst.
Die folgenden Dateien und Ordner müssen vom Quell- zum Zielserver übertragen werden:
files
(deine Dateien)templates
(angepasste templates)composer.json
(die gewünschten Abhängigkeiten)composer.lock
(die aktuell installierten Abhängigkeiten)system/config/localconfig.php
(deine Einstellungen)Die folgenden Dateien und Ordner sollten - sofern genutzt - vom Quell- zum Zielserver übertragen werden:
config
(bzw. vor Contao 4.8 app/config/
)contao
(bzw. vor Contao 4.8 app/Resources/contao/
src
.env*
Falls du noch alte Erweiterungen unter system/modules
oder alte Konfigurationen unter system/config
angelegt hast, müssen diese auch auf deinen Server übertragen werden.
Du kannst dazu entweder einen FTP-Client verwenden oder – falls du die Konsole bevorzugst – das Programm scp
:
cd /path/to/project
scp -r files/ templates/ composer.json composer.lock your_server:/www/project/
composer.lock
-Datei übertragen hast, die
Details über alle installierten Paket-Versionen enthält, wird Composer den identischen Stand wie auf dem Quellsystem
herstellen.
Nutze dazu entweder den Contao Manager oder die Kommandozeile.Solltest du keinen Umzug auf einen anderen Server durchgeführt, sondern lediglich eine 1:1-Kopie auf demselben Server erstellt haben, achte unbedingt darauf, nach der Anpassung der Datenbankverbindung den Anwendungscache über den Contao Manager zu löschen und neu zu erstellen, um sicherzustellen, dass die Änderungen korrekt übernommen werden und du auf der richtigen Datenbank bist.
Das war’s! Du kannst deine Contao Installation jetzt am neuen Ort nutzen.