Ich habe gerade versucht die 5er zu installieren, aber der Manager bietet mir nur die 4.13 an. Hat sich etwas an Prozedur der Installation geändert?
Druckbare Version
Ich habe gerade versucht die 5er zu installieren, aber der Manager bietet mir nur die 4.13 an. Hat sich etwas an Prozedur der Installation geändert?
Hallo Fulano,
schau mal in diesen Thread:
https://community.contao.org/de/show...83569-Contao-5
Ich denke ja. Mache es so, wie @Planepix geschrieben hat, so scheint es ja zu funktionieren. Wenn du die Problemchen mit .env und .env.local zwecks Datenbank und auch mit der Erzeugung des Backend-Admins vermeiden willst, dann würde ich vorschlagen, zunächst mal eine 4.13 zu installieren, dabei gleich PHP 8.1 einzustellen, weil das nachher von der 5.0.0 sowieso benötigt werden wird. Dann mit dem unter 4.13 noch vorhandenen Installtool die Datenbankzugangsdaten einzugeben und die Datenbank zu aktualisieren und den Administrator-Benutzer zu erzeugen. Danach machst du dann sofort über den Manager ein Update auf 5.0.0, trägst also 5.0.* ein anstatt 4.13.* und führst ein composer update durch mit allen Paketen, eigentlich kann es da ja nur die Core-Pakete geben. Wenn das durchgelaufen ist, wovon ich aufgrund der Erfahrung von @planepix ausgehe, ist ein kurzer Abstecher in die Konsole derzeit noch zwingend erforderlich wegen der notwendigen Datenbankänderungen. In der Konsole wechselst du in das Installationsverzeichnis deiner Installation, also dahin wo auch die composer.json liegt, nicht ins public Unterverzeichnis. Dort gibst du dann ein:
wobei php durch den Pfad zum gültigen PHP 8.1 CLI Binary ersetzt werden muss, falls "php -v" eine andere Version ausspuckt als PHP 8.1. Der passende Pfad sollte sich im Manager nachschauen lassen, falls er nicht eh bekannt ist.HTML-Code:php vendor/bin/contao-console contao:migrate
Jetzt werden dir in der Konsole die Änderungen an der Datenbank angezeigt. Die alle durchführen lassen, inklusive der DELETEs. Jetzt solltest du dich im Backend mit dem bereits unter 4.13 angelegten Benutzer anmelden können und im Dashboard hoffentlich die Version 5.0.0 sehen.
Bisher alles reine Theorie, ich habs noch nicht so getestet, mache ich aber heute am Nachmittag noch. Aber vielleicht kommt bis dahin ja noch der neue Manager :D;)
ui ui ui
Danke für die Information. Das ist dann offensichtlich nicht mit ein paar Klicks getan.
Ich habe mal wie beschrieben durchgeführt, bei dem Befehl in der Konsole beklomme ich aber eine Fehlereldung:
Code:c864202_w178_ssh1@domain.de:/web$ php vendor/bin/contao-console contao:migrate --with-deletes13:54:01 CRITICAL [console] Error thrown while running command "contao:migrate --with-deletes". Message: "An exception occurred in the driver: SQLSTATE[HY000] [2002] No such file or directory" ["exception" => Doctrine\DBAL\Exception\ConnectionException^ { …},"command" => "contao:migrate --with-deletes","message" => "An exception occurred in the driver: SQLSTATE[HY000] [2002] No such file or directory"]
In ExceptionConverter.php line 103:
An exception occurred in the driver: SQLSTATE[HY000] [2002] No such file or directory
In Exception.php line 28:
SQLSTATE[HY000] [2002] No such file or directory
In Driver.php line 28:
SQLSTATE[HY000] [2002] No such file or directory
der neue CM ist noch Dev https://github.com/contao/contao-manager/tree/develop
Ich habe es jetzt auch mal probiert und meine RC-Installation dafür plattgemacht. Hat bei mir gerade eben exakt so funktioniert. Das Installtool hattest du bei der 4.13 Installation komplett durch, inkl Datenbankzugangsdaten, Tabellen anlegen lassen und Administrator-Benutzer, bevor du das Update auf 5.0.0 gestartet hast?
Versuch mal die Datei .env im root Verzeichnis der Contao Installation anzulegen mit Angabe der Variablen APP_SECRET u. DATABASE_URL
(s.a.: https://docs.contao.org/dev/referenc...anaged-edition)
Danach dann auf der Konsole den Befehl:PHP-Code:
php vendor/bin/contao-console contao:migrate
Erhalte diese Fehlermeldung auch bei einer Neuinstallation via Konsole:
Soweit OK - Abschließend erhalte ich obige Fehler.PHP-Code:
composer create-project contao/managed-edition demo 5.0
Daher dann die .env Datei erstellt (s.o.) und dann weiter mit:
PHP-Code:
php vendor/bin/contao-console contao:setup
php vendor/bin/contao-console contao:migrate
php vendor/bin/contao-console contao:user:create
Ich habe nur die Variable für die Database URL festgelegt, danach klappte es mit der Migration.
Vielen Dank für die Information
Was muss denn in die APP_SECRET?
Edit: Scheint zu reichen einfach nur die Variable anzugeben. In der .env habe ich nun nur das hier:
APP_SECRET=
DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name"
Bei Database natürlich mit richtigen Werten. ;)
Das APP_SECRET darfst du auf keinen Fall auf Leer setzen, lösche das wieder aus deiner .env Datei.
Wie beschrieben ist die APP_SECRET notwendig.
Du könntest einen beliebigen random password generator dafür verwenden, oder bei einem 4er Upgrade den Inhalt (secret) aus der parameters.yml übernehmen.
Oder über ein eigenes bash script generieren ala:
Code:#!/bin/sh
getRandomToken=$(cat /dev/urandom | tr -dc "a-zA-Z0-9" | fold -w 64 | head -n 1)
echo $getRandomToken
Contao 5 erzeugt das APP_SECRET automatisch, da muss man nichts machen.
Nur mal zu meinem besseren Verständnis... Mittlerweile gibt es ja Contao 5.0.1 und die Changelog verstehe ich nach Durchschauen der Issues so, dass der Absturz bei der Datenbankmigration in der Konsole dadurch gefixt wird. Liege ich da richtig oder braucht es auch jetzt bei einem Update von 4.13.8 auf 5.0.1 noch die .env für eine erfolgreiche Migration der Datenbank per Konsolenbefehl? Das war ja offensichtlich auch schon bei Contao 5.0.0 nicht in jedem Fall erforderlich, bei mir jedenfalls nicht. Aber sollte das jetzt mit Contao 5.0.1 nicht bei allen (oder jedenfalls den allermeisten) halbwegs vernünftigen Webhostingumgebungen funktionieren?
Für die Datenbank Migration musst du natürlich immer noch die Datenbank Verbindung definieren, wie in jeder Contao Version zuvor. Contao kann die Zugangsdaten ja nicht magisch wissen ;)
Genau deswegen rede ich ja über ein Update von 4.13 auf 5.0.1, da ist eine Datenbankverbindung ja bereits gegeben, sofern die 4.13 Installation komplett durchgeführt wurde, also inklusive Installtool. Wenn man nur die Dateien/Bundles installiert hat, dann ist Contao 5.0.x natürlich ahnungslos in Bezug auf die Datenbankzugangsdaten.
@tab Ja, geht ja jetzt.
Neuinstallation der 5.0.1 via Console läuft jetzt auch ohne Fehler durch.
Es werden eine (leere) .env und eine .env.local (inkl. APP_SECRET) angelegt.
Dann Datenbank Zugangsdaten eintragen und normal weiter.
Prima, dann gehe ich davon aus, dass auch ein Update von einer bestehenden 4.13.8 Installation aus auf Contao 5.0.1 jetzt problemlos möglich sein sollte, ohne sowas zu bekommen:
Ich wollte ja nur wissen, ob ich die Infos zur Version 5.0.1 richtig interpretiere, dass also u.a. der Fehler aus diesem Thread damit gefixt wurde.Code:Message: "An exception occurred in the driver: SQLSTATE[HY000] [2002] No such file or directory" ...
Wenn du bereits eine Datenbankverbindung konfiguriert hast, sollte dich der Fehler aus Contao 5.0.0 ohnehin nicht betreffen.
Mich nicht, ich hatte die Fehlermeldung auch mit 5.0.0 nicht. Aber offenbar @Fulano: https://community.contao.org/de/show...l=1#post562126
Jedenfalls habe ich diesen Post so verstanden, als ob er zunächst ebenso vorgegangen sei, wie ich vorgeschlagen hatte, aber dann beim migrate die Fehlermeldung bekam. Falls er das aber irgendwie abgwandelt hat und deswegen beim Aufruf des migrate Befehls keine Datenbankverbindung verfügbar war, ist das für mich sowieso geklärt. Letztlich interessant war für mich, ob das mal wieder von der Systemumgebung abhängt, was wegen des Unterschieds zwischen seinem und meinem Ergebnis der Installation bei identischer Vorgehensweise für mich eben so aussah.
Nur zur Info:
Nach Neuinstallation via Console wird als Document-Root autom. »public« gesetzt.
Wenn man im Anschluß einfach das Verzeichnis »public« wieder nach »web« umbenennt und sofort das BE Login aufruft erhält man die Info:
"JavaScript scheint in Ihrem Browser deaktiviert zu sein. Das Contao-Backend funktioniert ohne JavaScript nur eingeschränkt."
Man muß nach der Umbenennung in der composer.json zunächst den Eintrag
hinzufügen und anschließend ein »composer install« ausführen. Anschließend erhält man auch keine entsprechende Meldung mehr.Code:"extra": {
"public-dir": "web"
Eigentlich sollte man so nicht vorgehen - eher umgekehrt - von web -> public. :D
Hierbei kann man dann den composer.json Eintrag, sofern vorhanden, entweder ändern oder entfernen.
Mein Hintergrund:
Mit der docker/devilbox kann man leider das Document-Root Verzeichnis nicht per project sondern nur global setzen.
Hab im Container noch ältere Versionen die explizit »web» benötigen. Daher ...
Solltet ihr also diese Meldung erhalten - Dann checken
Gut zu wissen. Irgendwie erinnere ich mich dunkel an einen Beitrag in letzter Zeit, wo genau diese Fehlermeldung kam. Mal suchen und schauen, ob das dort gelöst wurde. Der Zusammenhang zwischen Fehlermeldung und Fehler ist jedenfalls nicht auf den ersten Blick erkennbar, mag aber durchaus logisch sein.
Edit: War dieser Thread hier: https://community.contao.org/de/show...-nicht-richtig
Das war aber eine lokale Installation und Contao 4.9.
Wie gesagt: Normalerweise geht man genau umgekehrt vor (Der CM kann ja beides)
Also das bestehende Verzeichnis »web« nach »public« umbenennen.
Sofern der Eintrag in der composer.json existiert diesen ändern oder ganz entfernen (dann wird von public ausgegangen).
Dann »composer install« via Console o. CM.
(Nicht vergessen die Domain dann aufs public Verzeichnis setzen)
Bin nicht sicher ab wann man das Document-Root ändern konnte (sicher nicht vor/mit der 4.9).
Aber auf jeden Fall mit der der 4.13 und dem aktuellen CM.
Auf die Schnelle finde ich: public ab 4.12. Insofern sehe ich da eher keinen Zusammenhang.
Hallo Zusammen
ich habe die 4.13 auf 5..0.1 aktualisirt... Ihr wisst ja sicher schon meine Frage... Das Installtool ist ja weg und im Manager ist es noch Inaktiv und wie gehabt geht es ja auch nicht.... was soll ich da tun? Console weiss ich nicht genau wie bedienen... leider ausser jemand hätte einen tip ... danke
Da wirst du auf die neue Version des Contao Managers warten müssen.
@MacPix
Mit dem CM 1.6.0 solltest du nun die 5er vollständig via Manager installieren können.
Gerade ein Upgrade von 4.13.8 auf 5.0.1 via CM 1.6.0 (inkl. DB Migrations im CM) durchgeführt.