Aktualisierung von Joomla 3.8.3 auf 3.8.5 (gFTP stürzt ab)

  • Hallo,


    ich habe gerade nach folgender Anleitung (Aktualisierung von 3.6.5 auf 3.7.2 nicht möglich)https://forum.joomla.de/index.…h/?postID=25870#post25870versucht, auf Joomla 3.8.5 zu aktualisieren, aber bei dem Versuch, die Dateien per FTP zu transferieren, stürzt mir jedes Mal gFTP ab (ich benutze Ubuntu 16.04). Die Erstinstallation von Joomla 3.8.3 ging ohne Probleme, und auch sonst hatte ich mit gFTP bisher keine Schwierigkeiten. Was kann da los sein? Ich habe mir über den Link im Backend Joomla_3.8.5-Stable-Update_Package.zip heruntergeladen, es entpackt und das Verzeichnis Templates gelöscht (siehe Link oben).


    Vielen Dank,


    Claus

  • Hi,
    du willst von Joomla 3.8.3 auf 3.8.5 aktualisieren, verstehe ich das richtig?


    Das musst du nicht zwangsläufig per FTP machen, man kann die Installation auch direkt über das Backend durchführen.


    Je nachdem wo die Seite liegt bieten die meisten Webhoster auch WEBFTP o.ä. an. Man kann oftmals ZIP-Dateien hochladen und sie dann auf dem Server entpacken - das wäre auch noch eine Möglichkeit. Aber die bevorzugte Update-Methode ist einfach im Backend auf Update klicken.


    Falls du eines der Standard-Templates benutzt (z.B. Protostar) solltest du es vorher am besten ebenfalls über das Backend kopieren, ihm einen anderen Namen geben und das neu benannte als Standard setzen. Updates überschreiben meistens die Standard-Templates.

  • Vielen Dank. Ich habe jetzt einen Thread gefunden, in dem mein Problem, über das Backend zu aktualisieren, beschrieben wird. Erst durch die dort geschilderte Fehlermeldung bin ich überhaupt auf die Idee gekommen, per FTP zu aktualisieren.


    Claus


    P.S: Ich habe nach der obigen Anleitung die configuration.php geändert, mit dem Resultat, dass ich nun weder meine Website noch das Backend erreiche. Ich bekomme nur eine lapidaren 'Error'. Der Pfad sieht bei mir so aus: /customers/f/4/b/claus-cyrny.net/httpd.www, und die beiden Einträge in der configuration.php lauten public $log_path = '/customers/f/4/b/claus-cyrny.net/httpd.www/administrator/logs'; bzw. public $tmp_path = '/customers/f/4/b/claus-cyrny.net/httpd.www/tmp';. Wo liegt da der Fehler?


    Ich habe jetzt das httpd.www/ entfernt und kann nun wieder sowohl meine Website als auch das Backend erreichen. Die Aktualisierung über das Backend funktioniert; ich bekomme allerdings die Fehlermeldungen
    Warnung
    JFolder::create: Das Verzeichnis kann nicht erstellt werden!Path: /customers/f/4/b/claus-cyrny.net/administrator
    sowie

    Es ist ein Fehler aufgetreten!
    0 Cannot write to log file.
    Was kann ich da tun?

  • Hallo Claus,
    da scheint der Pfad immernoch nicht zu stimmen.


    erstelle eine einfach textdatei mit dem namen pfad.txt und folgendem inhalt:


    PHP
    <?php
    
    
    echo $_SERVER['DOCUMENT_ROOT'];
    
    
    ?>


    dann abspeichern und in pfad.php umbenennen und in das root-Verzeichnis deiner Joomla-Installation hochladen.


    Anschließend rufst du die Datei über den Browser auf. Dann wird dir der absolute Pfad angezeigt. Diesen trägst du dann im Backend unter Server bei Temp-Verzeichnis ein.
    Du musst lediglich daran denken noch ein /tmp hinten dranzuhängen.


    *edit: sollte dann evtl. so aussehen:
    /customers/f/4/b/claus-cyrny.net/httpd.www/tmp


  • Das habe ich ja alles schon gemacht.


    *edit: sollte dann evtl. so aussehen:
    /customers/f/4/b/claus-cyrny.net/httpd.www/tmp


    Wenn ich das in der configuration.php so eingebe, kann ich, wie ich oben schon geschrieben habe, weder meine Website noch das Backend erreichen. Ich bekomme jetzt - ungeachtet der Fehlermeldungen - im Backend die Meldung, dass sowohl Joomla als auch die Erweiterungen aktuell sind:

    Joomla! ist aktuell!
    Alle Erweiterungen sind aktuell!


    Claus

  • Hmmm, liegt deine Joomla-Installation vielleicht in irgendeinem Unterordner (z.B. joomla o.ä.)?
    Dann müsstest du das Verzeichnis noch mit einfügen.


    public $tmp_path = '/customers/f/4/b/claus-cyrny.net/httpd.www/joomla/tmp';

  • > Hmmm, liegt deine Joomla-Installation vielleicht in irgendeinem Unterordner?


    Nein.


    > Oder nutze wegen Pfaden das Tool joom-config


    Habe ich mir heruntergeladen. Ein Pfad (/tmp) wurde korrigiert.


    > Schau doch bitte in deiner Server-Verwaltungsoberfläche, ob dein Server als FCGI oder FPM läuft. Wenn er als apache2handler oder mod_php läuft, hast du mit ziemlicher Sicherheit dieses Problem.


    Ich habe mich im Kontroll-Panel von One.com, meinem Provider, eingeloggt, aber ich kann die obigen Angaben nirgendwo finden. Gibt es da ein PHP-Script. mit dem ich das herausfinden kann?


    Vielen Dank für euer Feedback. Ich meine, jedenfalls ist meine Installation jetzt aktualisiert. Kann ich da die obigen Fehlermeldungen ignorieren?


    Claus

  • Ja, wenn du ins Joomla-Backend kommst, dann findest du diese Informationen unter System -> Systeminformationen -> Systeminformationen, sonst lege eine Datei namens z.Bsp. info.php auf den Server ins Joomla!-Root-Verzeichnis ab, mit dem Inhalt

    PHP
    <?php echo phpinfo();


    Dann rufe diese Datei auf und suche nach Server API


    Da bekomme ich 'CGI/FastCGI'. Aber, wie ich schon geschrieben habe, der Server läuft als mod_php. Die eine Fehlermeldung '0 Cannot write to log file' kommt, wie ich herausgefunden habe, daher, dass /customers/f/4/b/claus-cyrny.net/administrator/logs (Protokollverzeichnis) laut Informationen im Backend schreibgeschützt ist. Soll ich das per FTP ändern? Ich habe mir das Verzeichnis per FTP angeschaut, und das ist auf CHMOD 777. Daneben gibt es aber noch ein anders Verzeichnis /administrator/administrator/logs, und in dem befinden sich die Dateien joomla_update.php und error.php. Diese Verzeichnis ist auf CHMOD 755. Soll ich das auf 775 setzen?


    Claus

    • Hilfreich

    Wenn der Server als mod_php läuft, ist die Wahrscheinlichkeit des wwwrun Problems sehr groß.


    Im Prinzip ist es so, der Apache läuft unter einem anderen Systembenutzer als der FTP-User, was dazu führt, dass alle Dateien und Ordner, die über FTP angelegt werden, vom Benutzer des Apache nicht geändert werden dürfen und alles was über Scripte angepasst oder geändert wird, mit dem FTP-Benutzer in Konflikt steht.


    Wenn möglich solltest du den Server über FastCGI bzw. ab PHP 7 über FPM betreiben und die Dateien in Gruppe und Benutzer auf deinen FTP-Benutzer umstellen lassen. Sprech das mit deinem Hoster ab.


    Mit der Berechtigung 777 erlaubst du jedem Benutzer auf dem Server, alles mit dem Ordner anzustellen. Gleiches gilt mit der Berechtigung von 666 bei Dateien. Richtig wäre bei Dateien 644 und bei Ordnern 755.


    Wenn dein Hoster das nicht bewerkstelligen kann, wird es Zeit für einen Wechsel ;)

  • > Wenn möglich solltest du den Server über FastCGI bzw. ab PHP 7 über FPM betreiben und die Dateien in Gruppe und Benutzer auf deinen FTP-Benutzer umstellen lassen. Sprech das mit deinem Hoster ab.


    Ok, vielen Dank. Ich habe meinem Provider eine entsprechende Email geschrieben.


    Claus

  • > Wenn möglich solltest du den Server über FastCGI bzw. ab PHP 7 über FPM betreiben und die Dateien in Gruppe und Benutzer auf deinen FTP-Benutzer umstellen lassen. Sprech das mit deinem Hoster ab.


    ich habe jetzt die Antwort meines Providers bekommen. Anscheinend habe ich die Frage falsch formuliert. :( Ich habe mich an Deine Antwort gehalten und die Frage so gut formuliert, wie ich konnte (ich kenne mich mit den technischen Details von Servern eben nicht so gut aus). Wie gesagt, der Support konnte mit meiner Anfrage nicht so viel anfangen. :(


    Claus

  • Versuch mal bitte folgendes, erstelle eine Datei namens test.php im Joomla-Rootverzeichnis mit dem Inhalt

    PHP
    <?php mkdir('./test', 0755);


    Dann rufe die Datei im Browser auf. Jetzt schau mal via FTP wem der Ordner test gehört (Benutzer/Gruppe) und vergleiche das mal mit dem Ordner administrator.


    Besitzer müsste dein FTP-Benutzer sein, wenn nicht ist der Server nicht optimal konfiguriert.

  • Ok, dann ist soweit alles in Ordnung.


    Die Pfade in der configuration.php
    public $log_path = '/customers/f/4/b/claus-cyrny.net/httpd.www/administrator/logs';
    public $tmp_path = '/customers/f/4/b/claus-cyrny.net/httpd.www/tmp';
    scheinen auch richtig zu sein, wem gehören denn diese Ordner, und sind die Berechtigungen der Beiden auch auf 755 gesetzt?

  • Ok, dann ist soweit alles in Ordnung.


    Die Pfade in der configuration.php
    public $log_path = '/customers/f/4/b/claus-cyrny.net/httpd.www/administrator/logs';


    Wenn ich diesen Pfad so in die configuration.php eingebe, kann ich das Backend und meine Website nicht mehr erreichen. Deshalb habe ich das '/httpd.www' rausgenommen. Danach funktionierte wieder alles.


    public $tmp_path = '/customers/f/4/b/claus-cyrny.net/httpd.www/tmp';
    scheinen auch richtig zu sein, wem gehören denn diese Ordner, und sind die Berechtigungen der Beiden auch auf 755 gesetzt?


    Die beiden Ordner gehören mir und sind beide auf 755 gesetzt.


    Claus

  • Hallo nochmal,


    nach Rücksprache mit meinem Provider bekam ich folgenden Hinweis:


    Ich sehe in Ihrem Webspace, das Joomla erfolgreich auf die Version 3.8.5 aktualisiert wurde. Diese Nachrichten, die Sie dort bekommen haben, sind auch nur Warnungen, also keine Probleme, die das erfolgreiche Aktualisieren Ihrer Joomla Installation verhindern. Auf Ihrem Webspace sind auch Einträge in den Log-Dateien bis zum 06.02.18 vorhanden, bis zu diesem Zeitpunkt war das Schreiben in die Logs also möglich. Ich habe bei einer kurzen Online-Suche allerdings etwas gefunden, was das die Warnung bei Ihnen auslösen könnte. Gehen Sie bitte einmal in Ihren File Manager und suchen die Datei mit dem Namen "configuration.php". Gehen Sie in dieser Datei in Zeile 59 und ersetzen sie durch diese hier: public $log_path = '/customers/f/4/b/claus-cyrny.net/administrator/logs'; Der Pfad, der momentan bei Ihnen dort angegeben ist, ist nämlich der falsche. Nach dieser Änderung sollte eine solche Warnung nicht mehr auftreten. Ist das dennoch der Fall, lassen Sie es mich bitte wissen.


    Damit ist das Problem für mich erst einmal gelöst.


    Claus