Umzug/ Upload einer Contao Website

  • Hallo,


    ich kenne mich nicht gut aus und habe heute einen Providerwechsel von Mittwald vollzogen. Nun muss ich die Website noch wieder hochladen.

    Der Umzug der Domain mit Auth-Code war erfolgreich und ich habe die Datenbanken bereits hochgeladen. Angezeigt wird mir auf der Seite nun "Hier entsteht eine neue Website". Ich bin auch soweit informiert, dass ich noch Dateien im httpdocs ablegen muss und habe auch FileZilla installiert. Ich weiß aber nicht, was ich genau ablegen muss und, was dann sonst noch zutun ist.


    Kann mir jemand helfen?

  • Na dann schaun mer erst mal :)

    Um welche Contao-Version handelt es sich überhaupt?


    Falls Contao 4.4 oder höher, dann empfehle ich die im Link beschriebene Vorgehensweise.

    https://erdmann-freunde.de/logbuch/contao-4-4-umziehen/

    Hier angegebene Pfade beziehen sich nicht auf die Webspace-Root, sondern auf dein Contao-Installationsverzeichnis (in dem das Unterverzeichnis web als Dokumentenstamm/document root enthalten ist.)

    Wenn deine Domain eine Inklusivdomain ist oder als zusätzliche Domain dem Webspace zugeordnet ist, dann scheint die Domain im Webhosting Control Panel auf unter "Websites und Domains" und du kannst dort die notwendigen Einstellungen machen. Insbesondere folgende Einstellungen sollten gemacht werden


    Hosting-Einstellungen: Hier musst du den Dokumentenstamm aka document root der Domain festlegen.

    In der Regel ist entweder /httpdocs oder /deinedomain.tld voreingestellt. Beide Varianten können nicht so bleiben, entweder du änderst es einfach in /deinedomain.tld/web (würde ich eher empfehlen als /httpdocs/web) oder du erzeugst einen anderen Unterordner (= dein Contao-Installationsverzeichnis) in deinem Webspace und darin einen Unterordner web, als Dokumentenstamm wäre dann entsprechend /pfadzudeinemordner/web zu setzen.

    Zudem wählst du deine gewünschte PHP-Version aus, ich würde dazu "PHP ausführen als FPM-Anwendung von Apache bedient " auswählen.


    PHP-Einstellungen:
    Hier wählst du nötigenfalls nochmal die PHP-Version aus, zusätzlich muss folgendes umgestellt werden:

    open_basedir: Hier die Einstellung wählen, die mit {WEBSPACEROOT} beginnt, damit der Contao-Manager die Systemdateien im oberhalb des Dokumentstamm liegenden Installationsverzeichnis anlegen kann.

    disable_functions: Hier die leere Zeile auswählen, denn wir brauchen in jedem Fall die Funktion proc_open.


    Bei Fragen: fragen!

  • Vielen Dank, das hat mir sehr geholfen! Ich bin jetzt soweit, dass das Backend funktioniert, aber das Frontend nicht. Wenn ich die Datenbank aktualisieren will, erhalte ich einen Fehler.


    Bildschirmfoto 2019-07-11 um 04.02.29.png


    Der letzte Fehler ist dieser hier: [2019-07-11 02:13:44] request.CRITICAL: Uncaught PHP Exception Exception: "Could not find template "mod_article_container_large"" at /var/www/vhosts/hosting122583.a2fc1.netcup.net/httpdocs/vendor/contao/core-bundle/src/Resources/contao/library/Contao/TemplateLoader.php line 155 {"exception":"[object] (Exception(code: 0): Could not find template \"mod_article_container_large\" at /var/www/vhosts/hosting122583.a2fc1.netcup.net/httpdocs/vendor/contao/core-bundle/src/Resources/contao/library/Contao/TemplateLoader.php:155)"} []

  • Contao versucht auf ein Template Namens mod_article_container_large

    zuzugreifen, dieses scheint aber nicht vorhanden bzw deaktiviert zu sein.


    - Hast du alle Templates korrekt hochgeladen?

    - Sind alle aktuell verwendeten Templates aktiviert?

    - Hast du eventuell noch ein altes Template aktiviert welches auf die oben genannte Ressource zugreift?

  • Ich habe die Datenbank komplett hochgeladen. Es gab dabei keine Schwierigkeiten und das Templete befindet sich auf jeden Fall darin. Ich habe ansonsten nichts aktiviert oder deaktiviert. Hier kann ich nichts auswählen?!Bildschirmfoto 2019-07-11 um 11.18.21.png


    Ich habe eben im Contao-Manager die Systemwartung durchgeführt. Jetzt erhalte ich den Fehler nicht mehr, dafür aber diesen:


    request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\UniqueConstraintViolationException: "An exception occurred while executing 'CREATE UNIQUE INDEX url ON tl_search (url)': SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'http://dev.xxx.com/home.html' for key 'url'" at /var/www/vhosts/hosting122583.a2fc1.netcup.net/httpdocs/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 75 {"exception":"[object] (Doctrine\\DBAL\\Exception\\UniqueConstraintViolationException(code: 0): An exception occurred while executing 'CREATE UNIQUE INDEX url ON tl_search (url)':\n\nSQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'http://dev.xxx.com/home.html' for key 'url' at /var/www/vhosts/hosting122583.a2fc1.netcup.net/httpdocs/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:75, Doctrine\\DBAL\\Driver\\PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'http://dev.xxx.com/home.html' for key 'url' at /var/www/vhosts/hosting122583.a2fc1.netcup.net/httpdocs/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:109, PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'http://dev.xxx.com/home.html' for key 'url' at /var/www/vhosts/hosting122583.a2fc1.netcup.net/httpdocs/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:107)"} []

  • Hast du den Templates-Ordner komplett rüberkopiert?Die (Frontend-)Templates befinden sich NICHT in der Datenbank, sondern sind Dateien, üblicherweise mit Suffix html5. Dein aktueller Fehler deutet darauf hin, dass bei der alten Installation schon nicht mehr alles in Ordnung war mit der Datenbank. Die scheint schon lange nicht mehr aktualisiert worden zu sein, oder zumindest nicht komplett erfolgreich. der fragliche Index sollte eigentlich schon seit Contao 3.5 UNIQUE sein. Somit dürften da eigentlich keine doppelten Einträge möglich sein und die Tabelle müsste auch gar nicht aktualisiert werden. Egal, lösche im Backend in der Systemwartung den Suchindex, danach sollte die Datenbankaktualisierung eigentlich funktionieren und du kannst den Suchindex dann wieder neu aufbauen lassen.

  • Moment. Bist du da gerade dabei, eine 3.x auf 4.x upzudaten oder soll das wirklich nur eine 1:1 Kopie werden?

    Und warum kannst du nicht auf die Systemwartung zugreifen? Kommt da eine Fehlermeldung oder hast du keine Admin-Rechte?

    Die alte Version bei Mittwald läuft aber notfalls schon noch und ist noch nicht gelöscht? Von der Domain.mal abgesehen. Nicht, dass wir hier ein Problem erzeugen...

    Falls du wegen Fehler nicht in die Systemwartung kommst, du kannst alternativ per phpMyAdmin in der Datenbank die Tabellen tl_search und tl_search_index auch einfach leeren oder auch löschen. Das Installtool baut die Tabellen dann halt wieder neu auf.