[gelöst] Private file system - Hochladen nicht möglich
am 04.03.2020 - 09:35 Uhr in
Wertes Kollegium,
ich hab Drupal 8 neuester Version am Laufen und verzweifle bald, weil ich die Sache mit dem privaten Filesystem nicht hinbekomme. Denn es kommen im Status unbeirrlich die zwei untenstehenden Fehlermeldungen. Natürlich habe ich auch im Forum gestöbert, aber nur teilweise Verwertbares gefunden. Wenn ich das für mich gelöst habe, fasse ich die Erkenntnisse gerne für das Handbuch oder eine Anleitung zusammen. Ehrensache.
Fehler gefunden
1. Dateisystem Beschreibbar (private Download-Methode)
Das Verzeichnis /pverzeichnis ist nicht vorhanden. Das richtige Verzeichnis muss auf der Seite Dateisystem eingestellt werden. Alternativ können auch die Lese- und Schreibberechtigung des aktuellen Verzeichnisses manuell so verändert werden, dass das Verzeichnis beschreibbar ist.
2. Geschützes Dateiverzeichnis, Nicht vollständig geschützt
Informationen zur empfohlenen .htaccess-Datei, die zum Verzeichnis private:// hinzugefügt werden sollte, um Schutz gegen die Ausführung von beliebigem Code zu bieten, finden Sie unter https://www.drupal.org/SA-CORE-2013-003.
Folgendes wurde bereits versucht:
- Den privaten Ordner (/pverzeichnis) außerhalb von Drupal angelegt - siehe Anhangbild
- dessen Zugriffsrechte auf 755 gesetzt
- zwei Unterordner angelegt, dort drin auch einen Testinhalt mittels filezilla hochgeladen, einen davon dem private files downl permission als directory genannt
- in allen Ordnern eine .htaccess angelegt (wobei ich mir den Inhalt der htaccess aus einem anderen Forenbeitrag geholt hab - da war ich mir auch nicht sicher
- und in der update.php die entsprechenden Zeilen eingefügt - siehe weiter unten
- nicht zu vergessen: im Dateisystem entsprechend auf "privat" eingestellt
(siehe:
Basis-URL für öffentliche Dateien http://koerperorientiert.at/sites/default/files
Die Basis-URL wird für die URLs der öffentlich verfügbaren Dateien benutzt. Dies kann in der Datei settings.php geändert werden.
Pfad des privaten Dateisystems /pverzeichnis Ein bestehender Pfad im lokalen Dateisystem für das Speichern privater Dateien. Drupal muss für das Verzeichnis Schreibrechte besitzen. Dieser Pfad sollte über das Web nicht erreichbar sein und muss in der Datei settings.php eingetragen werden.)
In der update.php habe ich folgende Zeilen eingefügt:
/**Von mir als privates Verzeichnis hinzugefuegt plus vertrauenswuerdige hostangaben*/
$settings['file_private_path'] = '/pverzeichnis';
$settings['trusted_host_patterns'] = ['^www\.koerperorientiert\.at$','^koerperorientiert\.at$',];
Natürlich habe ich auch das Modul private files download permission aktiviert und dort scheint ja auch auf, dass es das Verzeichnis /pverzeichnis gibt. Umso mehr erstaunt mich die die Fehlermeldung im Status, dass es dieses nicht gäbe. Siehe Anhangbild 2.
Noch zur Lage des /pverzeichnis gesagt: siehe Anhangbild 1; Mein root heißt html, darunter liegen mehrere Drupalinstallationen und auch das /pverzeichnis auf gleicher Ebene wie Drupals Stammverzeichnis (KPT8 heißt es bei mir).
Ich hab also einen Inhaltstyp angelegt, bei dem auch Dateien hochgeladen werden sollen (entsprechende Dateitypen angegeben) und dort als Upload-Ziel die privaten Dateien angekreuzt. Und dennoch ist es ein Rätsel, was da nicht klappt. Datei kann nicht hochgeladen werden.
Bitte um eure Unterstützung oder weiterführende Anregungen, die ich leider erst abends ausführen kann. Eilt also nicht gleich.
Beste Grüße aus Österreich,
Martin
Anhang | Größe |
---|---|
Drupal8 - privater upload.JPG | 17.25 KB |
privater upload.JPG | 32.18 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben
Wer ist der einer des Verzeichnisses?
am 04.03.2020 - 11:38 Uhr
Für den Webzugriff muss der wwwuser einer sein, um Dateien anzulegen.
Grüße
Ronald
Nicht verstanden
am 04.03.2020 - 12:39 Uhr
Hallo Ronald,
ich verstehe es grad nicht wie du es meinst.
Der Inhaltstyp ist für "normale" Besucher nicht zugänglich, kann nur von mir als Admin angelegt werden. Es geht um ein internes Forum zum Fachaustausch. Ich lege Foren an und meine KollegInnen sollen "angemeldet" diskutieren und auch herunterladen können.
Wo sollte das drinstehen, der "einer", was ist dir da nicht klar oder was fehlt in meinen Angaben?
Lg martin
Bei Drupal 8 wird der Pfad
am 04.03.2020 - 12:52 Uhr
Bei Drupal 8 wird der Pfad zum Private-Verzeichnis in der settings.php eingetragen. Der Pfad muß auf dem Server ein absoluter Pfad sein. Also ist /pverzeichnis mit Sicherheit falsch. Wenn ich Deine Struktur sehe, scheint mit /home/html/pverzeichnis möglich, aber ich kann nicht sehen, ob html direkt unter Deinen Home-Verzeichnis liegt.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Pfad für privates Verzeichnis ändern
am 04.03.2020 - 14:02 Uhr
Hallo zusammen,
ja das klingt einleuchtend - werde ich in der update.php ändern und dann berichten.
Im Anhang sende ich den Serverpfad mit. Und brauchts dann die vorangestellten / oder nicht?
MlG Martin
PHP Einstellungen kontrollieren
am 04.03.2020 - 14:35 Uhr
Es ist sehr ratsam, den "private" Ordner außerhalb vom Webroot zu legen. Neben den allgemeinen Zugriffs- und Schreibe-Rechten des Ordners kann es aber sein, daß der PHP-Prozess mit dem Drupal ausgeführt wird aufgrund von Sicherheits-Einstellungen (die sehr sinnvoll sind) auf den gewählten Ordner nicht zugreifen darf (Stichwort "php.ini" und co.). In solchen Fällen geben die PHP-Logs dazu aber einen entsprechenden Hinweis, wenn das nicht klappen sollte.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
Ja, es braucht den "/" am
am 04.03.2020 - 14:45 Uhr
Ja, es braucht den "/" am Anfang, wenn es ein absoluter Pfad sein soll.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Ok verstanden, kann ich erst später ausprobieren
am 04.03.2020 - 15:32 Uhr
Ich werde die update.php entsprechend ändern und dann berichten. Noch ein paar Fragen:
In meiner htaccess steht folgendes drinn - ist das passend?
# Deny all requests from Apache 2.4+.
Require all denied
# Deny all requests from Apache 2.0-2.2.
Deny from all
# Turn off all options we don't need.
Options -Indexes -ExecCGI -Includes -MultiViews
# Set the catch-all handler to prevent scripts from being executed.
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
# Override the handler again if we're run later in the evaluation list.
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003
Danke für eure Rückmeldungen, ihr habt es sicher bemerkt, da fehlen einige Grundkenntnisse, aber es wird langsam,
best greetings
Martin
Thema gelöst - upload funktioniert
am 04.03.2020 - 19:39 Uhr
Danke euch, es ist vollbracht. Falls wer noch Zeit hat mir die obigen Fragen wegen der htaccess zu beantworten wäre ich dankbar. Ansonsten löse ich gerne meine Zusage ein und stelle diese Erfahrung der community zu Verfügung. Muß erst schauen wo das gut hinpasst.
Super, dass ihr euch die Zeit genommen habt. Gelegen hat es am Pfad in der update.php. Ich hab dazu beim Provider nachgesehen, wie der seine Verzeichnisstruktur benannt hat: /var/user xxxx/und mehr... also eine längere Kette an Unterordnern und erst am Ende mein privater Ordner. Alfahosting hat alle Verzeichnisse und Pfade sehr übersichtlich aufgelistet.
Danke und Grüße aus Ö,
Martin