Superuser darf keine Verzeichnisse anlegen

  • Hallo,


    ich habe mir erst frisch eine lokale Testumgebung von Joomla! installiert um dieses mal auszuprobieren. Bin also noch ganz neu auf dem Gebiet.


    Obwohl soweit alles ganz gut zu funktionieren scheint, endet jeder Versuch als Superuser unter "Medien" ein neues Verzeichnis anzulegen mit der Meldung:

    Joomla\CMS\Filesystem\Folder::create: Das Verzeichnis kann nicht erstellt werden!Path: /opt/lampp/htdocs/joomla3test/images/zzz


    Auch scheint es dem Superuser nicht erlaubt zu sein, Bilder hochzuladen (also, in die bereits vorhandenen Ordner).

    Abhilfe schafft nur die entsprechende Arbeit in meinem normalen Dateibrowser. Was dort erstellt wurde ist unter Joomla! dann auch verfügbar.

    Geholfen hat auch die Rechtevergabe des Ordners "images" auf 777 zu setzen. Der dann erstellte Unterordner hatte interessanterweise den Besitzer "daemon" der mir bisher auf meinem System unbekannt war. Bilder hinein-laden ist dann aber kein Problem.


    Beide Vorgehensweisen scheinen mir aber keine wirklich elegante Lösungen zu sein. Vor allem die doch sehr nachlässige Rechtevergabe erscheint mir fragwürdig.

    Kann mir jemand auf die Sprünge helfen, den Fehler zu finden?


    Mein System:

    debian 10.10.0 (buster - komplette Neuinstallation)

    Joomla Version 3.9.28

    xampp 8.0.9-0

    Server: Apache/2.4.38 (Debian)

    mysql: MariaDB 10.3.29

    PHP Version 8.0.9


    Bezüglich der letzten beiden musste ich feststellen, dass ich mit den üblichen Kommandozeilenbefehlen (php -v, mysql und verwandte) weder als root noch mit sudo etwas erreichen konnte. Die bash gibt vor, diese Befehle nicht zu kennen.

    Ich hatte bereits vor der kompletten Neuinstallation den Versuch gewagt die xampp-Komponenten einzeln zu installieren (nach einem dezidierten Tutorial natürlich). Dort konnte ich diese Befehle ohne Probleme verwenden. Möglicherweise hat beides miteinander zu tun?


    Vielen Dank schon mal im Voraus

    Stephan

  • Ich vermute hier ein www-run Problem. D.h. der FTP-Benutzer ist ein anderer wie der PHP-Benutzer. Der Server erlaubt aus Sicherheitsgründen nicht das der eine die Verzeichnisse des Anderen ändern darf.
    Versuche mal in der Joomlakonfiguration den FTP-Layer auzurichten.



    Das ist also eine Apache Einstellung (evtl. apache2handler) mit dem man auf Dauer nicht glücklich wird. Korrekte Apache-Einstellung wäre CGI/fastCGI.

  • Das ist also eine Apache Einstellung (evtl. apache2handler) mit dem man auf Dauer nicht glücklich wird. Korrekte Apache-Einstellung wäre CGI/fastCGI.

    Ich ergänze mal:

    Das was bei dir verwendet wird kannst du z.B. auch sehen im Joomla-Backend unter:


    administrator/index.php?option=com_admin&view=sysinfo


    In der Zeile

    PHP-Interface für den Webserver

    im Tab

    Systeminformationen

  • Empfehlenswert ist übrigens anstatt per lokaler Testumgebung es online in einem per .htaccess

    passwortgeschützten Dateiordner zu entwickeln siehe z.B. :

    Ich würde auch online entwickeln in einer passwortgeschützten Subdomain.
    Später das Joomla auf die tatsächliche Domain umzuziehen oder umzuswitchen ist i.d.R. keine große Sache.

    aus:

    Benutzerrechte unter Linux - Testumgebung

  • Hallo Tom, hallo Sieger66,

    erst mal vielen Dank für Eure Antworten. Ich muss allerdings zugeben dass ich wohl nur unzureichend verstehe, worum es dabei genau geht.


    Tom: Bei Aktivierung des FTP wie auf Deinem Bild gezeigt, verweigert Joomla! das speichern der Konfiguration.


    Sieger66: in der Zeile "PHP-Interface für den Webserver" ist bei mir apache2handler eingetragen. Die Zeile

    Zitat

    administrator/index.php?option=com_admin&view=sysinfo

    sagt mir nicht viel. Ich habe eine Datei "index.php" im Joomla-Ordner "administrator". In dieser finde ich aber keinen entsprechenden Eintrag in der Art "option=..."


    Entsprechend werde ich mal versuchen den apache-server zu konfigurieren. Muss mich aber erst mal schlau machen, was da genau zu tun ist.

    Darüber hinaus ist mir aufgefallen (ob's relevant ist kann ich nicht beurteilen) das unter (Joomla-Backend) 'System -> Systeminformationen -> Reiter: Verzeichnisrechte' alle Dateien und Ordner ausnahmslos als Schreibgeschützt eingestuft sind - solange diese "root" gehören. Ändere ich mit z.B. chown -R daemon:daemon images den Besitzer, ändern sich die Einträge für die betroffenen Ordner auf "Beschreibbar". Von daher scheint mir Tom's Ansatz in Richtung Benutzerkonfusion recht plausibel, habe aber aktuell keine konkrete Idee wie diese aufzulösen wäre. Da es sich im Moment nur um einen Test handelt und kein Produktivsystem und das ganze (so hoffe ich zumindest) nicht online erreichbar ist, könnte ich mit dieser Lösung erst mal leben. Ist aber wohl kein guter dauerhafter Zustand.


    Nochmal vielen Dank

    Stephan

  • Eventuell geht nun ein "Licht" an:


    example.com/administrator/index.php?option=com_admin&view=sysinfo


    Das dich auch wieder dorthin führen wird:

    (Joomla-Backend)System -> Systeminformationen


    Ja, du hast also das www-run Problem wie auch Tom schon richtig vermutet hatte.

  • Da hat sich wohl was überschnitten:

    Hallo Sieger66,

    auf einem Webserver zu arbeiten ist für mich im Moment vollkommen uninteressant. Der ganze Test dient nur dazu Joomla! mal kennenzulernen und mir einen Eindruck zu verschaffen, was es kann. Ich habe aktuell gar nicht vor tatsächlich eine öffentliche Website aufzubauen. Darüber hinaus hab ich auch gar keinen.

    Gruß

    Stephan


    Sieger66:


    Huups!!:

    Wenn ich das so genau betrachte ist das ja die Adresse für die Systeminformationen (Licht an!!). Na, wieder was gelernt.

    Bitte um Verzeihung für meine Unaufmerksamkeit.

    Ich mach das erst seit gestern. Das ist mir alles noch nicht so geläufig.

    Danke für den Hinweis

    Stephan

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von stehjan mit diesem Beitrag zusammengefügt.

  • PHP Version 8.0.9

    und beachte auch:

    Ich würde erstmal bei PHP 7.4 bleiben. Diese Version wird noch bis 11/2022 weiter supportet.


    PHP 8 würde ich vielleicht offline mit Xampp betreiben, und dort vorab neue Extensions testen, ob lauffähig.


    Es sind noch nicht alle Extensions und Templates mit PHP 8 lauffähig.

    und


    https://software-lupe.de/tipp/xampp-versionstabellen/

  • Der ganze Test dient nur dazu Joomla! mal kennenzulernen und mir einen Eindruck zu verschaffen, was es kann.

    Vielleicht wäre es in dem Zusammenhang einfacher mit XAMPP als lokalen Webserver zu arbeiten.

  • Vielen Dank Tom,


    genau das tue ich gerade und zwar genau nach diesem Buch.

    Trotzdem vielen Dank für den Tipp.


    Da ich mit meiner aktuellen Lösung im Moment gut Leben kann, würde ich diesen Thread als erledigt ansehen. Wenn ich nur wüsste, wo und wie ich das markieren kann?

    Noch einmal vielen Dank an alle Beteiligten für Eure Unterstützung.


    Gruß

    Stephan