Download auch hier fehlgeschlagen

  • Heute morgen habe ich versucht, von 3.6.2 auf 3.6.4 zu aktualisieren. Das resultierte in der Meldung "Download des Aktualisierungspakets fehlgeschlagen". Der Versuch, die Datei von meinem Rechner aus hochzuladen hat zu keiner Fehlermeldung geführt. Stattdessen bin ich auf die Startseite zurückgeworfen worden und nach ein paar Sekunden wurde wieder die Meldung eingeblendet, dass Aktualisierungen verfügbar seien.


    Da ich dieses Problem noch nie hatte, habe ich überlegt, welche Änderungen ich seit der letzten Aktualisierung vorgenommen habe. Es gab eine Änderung: Ich hatte einen Super User gesperrt. Nachdem ich diese Sperre temporär aufgehoben habe, konnte ich ohne weitere Probleme die Aktualisierung durchführen. Um diesen Punkt deutlich klar zu stellen: Aktualisiert habe ich unter meinem eigenen Super User-Konto, nicht unter dem Konto des gesperrten SU.


    Bei dem gesperrten SU handelt es sich um den, der unsere Joomla-Installation ursprünglich konfiguriert hat. Offenbar hat dieses Konto irgendeine besondere Bedeutung für die Installation von Updates.


    Wie kann ich sicherstellen (und testen), dass zukünftige Updates auch dann funktionieren, wenn dieses Konto gesperrt ist? Insbesondere wäre es natürlich ganz übel, wenn ich dieses Konto löschte, und dann überhaupt keine Updates mehr einspielen könnte.

  • Ich habe versucht, das Problem zu reproduzieren. Dafür habe ich in der version.php die Versionskonstanten überschrieben. Danach meldet die Startseite zwar immer noch "Joomla ist aktuell". Wenn ich dann aber gezielt auf Aktualisierungen prüfen lasse, wird "eine neue Joomla!_Aktualisierung gefunden", und ich kann den Installationsvorgang starten.


    Und jetzt bekomme ich konsequent den gleichen Fehler wie heute morgen, diesmal aber völlig unabhängig davon, ob der alte Super User gesperrt ist, oder nicht.


    Schließlich habe ich die Bedingungen für ein erfolgreiches Update doch gezielt reproduzieren können. Wenn ich nämlich manuell, z. B. per wget oder per scp, das Update-Package direkt in den tmp-Pfad (php.ini) lege, kann ich anschließend die Aktualisierung erfolgreich durchführen. Es sieht also so aus, als sei bei mir, völlig unabhängig von Joomla, der OS-Benutzer www-data aus irgendeinem Grund nicht zum Download berechtigt.


    Dass es heute früh so aussah, als hinge das Problem mit dem gesperrten Joomla-Nutzer zusammen, beruhte also offenbar nur auf Zufall.

  • das kann dann aber nur durch ein Serverupdate gekommen sein, welches die Rechte der User automatisch angepasst hat ... wobei ... lokal hatte/habe ich gleiches Problem und da hat sich rechtetechnisch nichts geändert. Auf meinem Live-System habe ich die Userrechte nur anfänglich angepasst und da liefen J!-Downloads und J!-Update noch problemlos. Bei mir fingen die Probleme mit dem Update von (ich meine) 3.6.0 auf 3.6.2 an. Seitdem habe ich Probleme mit dem Live-Update.

  • Ein Provider greift bei mir nicht in die Seite ein bzw. auf den Server zu. Aufs Betriebssystem habe nur ich Zugriff (meine Kollegen ebenfalls, aber die haben hier nicht eingegriffen). Insofern kann ich ausschließen, dass es Änderungen an den Dateizugriffsrechten gegeben hat. Hab ich aber auch noch mal geprüft, die passen...


    Da die Joomla- und Apache-Logs hier wenig aussagekräftig sind, habe ich den Update-Vorgang mal gedumpt. Aus dem Dump lässt sich herauslesen, dass die Adresse des Update-Pakets sauber aufgelöst wird und der Download von irgendeinem Rechner aus der Amazon-Cloud gestartet wird. Der Download wird auch vollständig durchgeführt - aber auf der Platte landet nichts!


    Wenn ich mich aber mittels su als User www-data anmelde, habe ich überhaupt kein Problem, das Update-Paket per wget ins Temp-Verzeichnis zu schreiben.


    Ich betreibe den Server unter Debian und ich vermute, dass das php-Sicherheitsupdate DSA-3689-1 vom 8. Okt. (Auf php 5, Version 5.6.26) hier eine unrühmliche Rolle spielt. Es gab am Montag ein weiteres php-Update auf 5.6.27, aber das hatte ich gestern früh noch nicht eingespielt.

  • Nein, Ursache ist, dass die Default-Konfig von PHP und Apache auf dem meisten Linuxen für Joomla! suboptimal ist. Du wird immer wieder Probleme haben.


    Besser ist es, wenn die PHP-Prozesse unter dem User laufen, dem auch das Web gehört. Das macht man per suphp (in neueren Debian-Versionen nicht mehr vorhanden) oder über den fcgid-wrapper, es gibt natürlich noch weitere Konfigurationsmöglichkeiten

  • Da die php-Prozesse durch Apache aufgerufen werden, laufen sie unter der gleichen Benutzer-ID wie der Apache selbst, und dieser Benutzer ist der Eigentümer des Webs. Im übrigen haben alle Updates während der letzten anderthalb Jahre ohne weiteres, insbesondere ohne zusätzliche manuelle Eingriffe, auf Anhieb funktioniert. Erstmalig der Upgrade von 3.6.2 ist gescheitert.


    Das konnte ich auch anhand eines alten Spiegels des Webservers eindeutig nachvollziehen:

    • - Update von Joomla 3.4.7 auf 3.6.4 - keine Probleme
    • - Neuinstallation der Joomla Kerndateien - keine Probleme
    • - apt-get update; apt-get upgrade
    • - Neuinstallation der Joomla Kerndateien - Crash!
  • Auch bei mir (lokaler XAMPP-Server) funktionieren die Updates nicht mehr.
    Zur Erklärung: Ich erledige Joomla-Updates grundsätzlich lokal mit einer Live-Kopie der Joomla-Website, weil der Live-Server manchmal mit einem timeout aussteigt, bzw. ich lokal mehr Kontrolle darüber habe, was insgesamt bei dem Update passiert.


    Bis vor zwei Wochen lief das auch alles ohne Probleme. Live-System mit Datenbank runterladen und im lokalen XAMPP-System installieren. Alle Updates und sonstige Änderungen lokal ausführen und ab mit dem System und der Datenbank wieder auf das Live-System. Fertig...


    Jetzt funktioniert allerdings die Joomla-Aktuallisierung lokal nicht mehr und steigt aus mit der Fehlermeldung "Download des Aktualisierungspakets fehlgeschlagen". Das Core-Update wird angezeigt, aber nach dem Klick auf "Dateien direkt installieren" landet die Datei nicht im tmp/Verzeichnis auf meinem lokalem XAMPP-System und dann kommt halt besagte Fehlermeldung "Download des Aktualisierungspakets fehlgeschlagen".


    Ich habe zunächst den Viren-Scanner im Verdacht gehabt, der den Download blockiert, aber negativ.
    Vor zwei Wochen war das noch problemlos in dieser Art und Weise möglich ein Joomla-Update lokal auf einem XAMPP-System durchzuführen.
    Jetzt funktioniert das leider nicht mehr.


    Wer weiß dazu einen Ansatzpunkt, wieso die Aktualisierungs-Datei nicht mehr korrekt heruntergeladen wird, bzw. im tmp-Verzeichnis des lokalen XAMPP-Systems erst garnichts auftaucht. Soweit ich mich erinnere, lag früher der Link einer Joomla Update-Datei auf einer direkten "github-URL".
    Die URL der Joomla Update-Datei ist jetzt anders und leitet vermutlich auch noch auf eine weitere, andere Download-URL?
    Liegt hier eventuell schon der Grund?


    Keine Ahnung wo das Update jetzt herkommt, aber irgendwie hat mein lokales XAMPP-System damit ein Problem und etwas auf meinem lokalen Rechner blockiert / ignoriert den Download der Joomla Update-Datei. Ich bin im Moment ratlos, warum ein lokales Updates nicht mehr wie bisher funktioniert. An meinem lokalen System wurde absolut gar nichts geändert. Es kann also nur damit zusammenhängen, woher jetzt das Update kommt und diese Herkunft wird in irgendeiner Form blockiert. Stellt sich die Frage was blockiert den Download??


    Gruß Andreas

  • Ein Provider greift bei mir nicht in die Seite ein bzw. auf den Server zu. Aufs Betriebssystem habe nur ich Zugriff


    Hallo @herrmann,
    schick doch mal ein Bild von deinen Systeminformationen..., sind alle Verzeichnisse beschreibar? Welche Rechte haben die Verzeichnisse und Dateien? 755 oder andere? viele Fragen....
    um Dir helfen zu können, musst Du schon so viele Informationen wie möglich geben. Aber so aus den letzten Posts raus vermute auch ich ein wwwrun Problem

  • Noch ein Nachtrag...
    Alle Erweiterungen und dessen Update-Downloads laufen auf dem lokalen System korrekt durch, werden zwischengespeichert und werden dann auch ohne Fehler korrekt installiert. (Wohlgemerkt alles auf dem lokalen XAMPP-Server.)


    Nur das Joomla-Core Update funktioniert nicht. Das wird gar nicht erst im tmp/ Verzeichnis zwischengespeichert.
    Also irgendetwas kann doch bei der neuen Joomla Update-Adresse nicht stimmen?


    Wenn ich das richtig gelesen und verstanden habe, dann sind aktuell die Joomla Updates in einem Cloud-Speicher von Google hinterlegt. Und ich vermute da auch, das die eigentliche Update-URL vom Joomla-System je nach Andrang umgeleitet wird auf einen anderen Cloud-Speicher.
    Immer in Abhängigkeit davon wie belastet ein Cloud-Speicher ist.


    Wenn ich damit korrekt liege, dann dürfte es eigentlich klar sein, das installierte Firewalls in dem Fall eingreifen und alles blockieren, weil hier von einer URL zu nächsten weitergeleitet wird. Ich kann mich irren, aber ich gehe mal stark davon aus, das es in diese Richtung geht....

  • Wenn das tatsächlich der Fall wäre, dann wären auch alle Updates davor gar nicht erst möglich gewesen!


    Hallo,
    gehe davon aus dass , herrmann jetzt Andreas04 ist. Jo? Das ist nicht gesagt, hatte auch einen Kunden, der Jahrelang mit dem Problem updates machen konnte.. erst ab Version 3.6.1 war dann endgülig Schicht im Schacht.. Aber wenn du meinst.. sollte in deinen Systeminformationen bei Webinterface nicht CGI/FCGI stehen,, dann kannst Du hier ins Blaue malen was Du willst.. dann ist das apachemodul der Besitzer des Joomla und nicht Du! nachzulesen z.B. hier:
    http://www.easy-joomla.org/sup…em-mal-kurz-erklaert.html

  • Ich glaube, ich habe eine interessante Entdeckung gemacht. Ich habe auch das Problem mit "Download des Aktualisierungspakets fehlgeschlagen". Seltsamerweise habe ich das Problem nur auf meinem vServer (Ubuntu 14.05 LTS), nicht auf meiner lokalen Kiste (openSUSE 42.1).


    In der Datei ./administrator/components/com_joomlaupdate/models/default.php habe ich ein ein paar zusätzliche Zeilen Logging eingefügt, und zwar nach dieser Zeile:


    protected function downloadPackage($url, $target)
    {
    ...
    // Download the package
    $result = $http->get($url);
    ...
    }

    Bei meinem vServer ist $result->code = 303. Das passiert bei einem wget auf die Download-URL auch, aber wget holt sich dann die Update-Datei von der Umleitung. Das Problem ist, dass die folgenden Zeilen


    if (!$result | | ($result->code != 200 && $result->code != 310))
    {
    return false;
    }


    dann die Meldung "Download fehlgeschlagen" auslösen.


    Bei meiner lokalen openSUSE-Kiste ist $result->code = 200 an dieser Stelle (bei ansonsten gleicher Installation). Dort findet anscheinend auch eine Umlenkung statt (wget verhält sich identisch), aber die get-Methode liefert hier das erwartete Ergebnis, und das Update läuft durch.


    Meine Frage wäre nun: Warum führt mein vServer die Umleitung nicht automatisch aus? Ist das ein Problem in der PHP-Installation?

  • hallo,
    egal ob herrman oder andreas04, es liegt nicht am Joomla Update!... Tausende haben das Update ohne Probleme durchgezogen. Beim Mitlesen egal ob in der FB Gruppe, oder hier! lag bei Fehlschlägen, der Fehler zu einen sehr hohen Teil, an falschen Konfigurationen, oder PHP Einstellungen des Servers, durch den Hoster oder ähnlichen. Wie sollen die Supporter hier wissen, was da bei euch eingestellt ist, das selbe gilt für lokale Xampp Installationen.. wenn Ihr keine relevanten Infos darüber raus gebt..


    zur aktuellen Joomla update Url.. die funktioniert ohne Probleme.


    Ich bin hier raus! So long.