Nextcloud Fehler beim hochladen auf externem Speicher - Fix?
Hey!
Ich brauch mal wieder eure Hilfe...
Habe mir Nextcloud auf meinem RasPi2b über DietPi installiert und ne externe Festplatte angeschlossen. Diese ist gemountet usw und wird auch erkannt.
Wenn ich nun eine Datei in die Festplatte hochladen wil kommt nur "Forbidden" als Fehlermeldung. Anders wenn ich auf die SD Karte was lade, ea gehts ohne Probleme.
Wisst ihr wie das zu fixen ist?
Danke erstmal!
2 Antworten
Die Festplatte muss mit ext3 oder besser ext4 formatiert sein. Ansonsten funktioniert das nicht. FAT oder NTFS sind unbrauchbar für solche Zwecke.
Dann schaue nun in die Log-Dateien.
/var/log/apache2/access.log
/var/log/apache2/ssl_access.log
Wie ist die Ausgabe von
sudo grep datadirectory /var/www/nextcloud/config/config.php
Und bitte die Ausgabe von
ls -l /pfad/zum/Datenverzeichnis
Wobei Du den Pfad sinngemäß einsetzt.
Der Ordner Apache2 in /var/log existiert nicht...
2. Ausgabe ist
'datadirectory' => '/mnt/dietpi_userdata/nextcloud_data',
und die 3.:
total 12
drwxr-xr-x 4 www-data www-data 4096 Nov 3 17:52 admin
drwxr-xr-x 9 www-data www-data 4096 Nov 3 17:56 appdata_ocscp64xxtgg
-rw-r--r-- 1 www-data www-data 0 Nov 3 17:49 index.html
-rw-r----- 1 www-data www-data 1317 Nov 3 20:56 nextcloud.log
Ordner Apache2 in /var/log existiert nicht.
Der Ordner heißt apache2 und nicht Apache2. Welchen Webserver verwendest Du?
Was steht in /mnt/dietpi_userdata/nextcloud_data/nextcloud.log ?
Im Ordner /var/log sind nur
alternatives.log btmp lastlog mysql private wtmp
apt dpkg.log lighttpd php7.4-fpm.log redis
Welchen Webserver ich benutz weiß ich selbst nicht...
Die Installation übernimmt ja größtenteils Dietpi.
Ordner von apache oder nginx sind jedenfalls nicht vorhanden.
Im /mnt/dietpi_userdata/nextcloud_data/nextcloud.log steht:
{"ht:Id":"DBW1TsExqX9x5R9LkIAN","level":2,"time":"2021-11-03T17:51:37+00:00","r>
{"reqId":"635MVcsmi8TjW8DjEV3S","level":2,"time":"2021-11-03T17:51:51+00:00","r>
{"reqId":"A1nbKn9HKIm72mxSgCDW","level":2,"time":"2021-11-03T20:56:12+00:00","r>
Welchen Webserver ich benutz weiß ich selbst nicht...
Das ist schlecht.
Möglicherweise ist es lighttpd, zumindest gibt es dafür ein Log-Verzeichnis.
Wie ist denn die Ausgabe von
sudo netstat -tlpn | grep 80
Aus dem Nextcloud-Log kann man nichts Wesentliches ableiten, allerdings sieht das nicht vollständig aus.
Inzwischen rausgefunden:
Es ist lighttpd!
sudo netstat -tlpn | grep 80 gibt nix aus...
"Command not found"
Es ist lighttpd!
Also schaust Du jetzt mal ins Log von lighttpd.
sudo netstat -tlpn | grep 80 gibt nix aus...
Doch, natürlich bekommst Du eine Ausgabe:
"Command not found"
Das ist was anderes als "nichts".
Im Ordner lighttpd ist eine "error.log" - die ist leer...
Du hast eine Nextcloud-Installation. Du meinst, warum auch immer, dass diese Lighttpd als Webserver verwendet. Die Logs von Lighttpd sind jedoch entweder nicht vorhanden oder leer. Das passt doch nicht zusammen.
Du verwendest Dietpi, Dietpi stellt Dir die Auswahl Apache, Nginx und Lighttpd zur Verfügung. Nach meinem Verständnis musst Du die Auswahl treffen. Das bedeutet, dass Du irgendetwas gemacht hast, was Du nicht verstanden hast. Das sind schlechte Voraussetzungen.
Wenn ich die nicht besonders gute Dokumentation von Dietpi richtig verstehe, solltest Du mit dem Befehl
dietpi-software
ein Auswahlmenü bekommen. Dort sollte die Option Webserver Preference zu finden sein. Welche Präferenz ist eingestellt?
Hast Du diese Präferenz eingestellt? Wenn ja, warum hast Du diese Präferenz gewählt? Lies bitte https://dietpi.com/docs/software/webserver_stack/#stacks-for-web-development
Und nun wähle bitte einen geeigneten Webserver aus, nämlich den, der aufgrund seiner guten Dokumentation als geeignet für Anfänger beschrieben wird. Anschließend deinstallierst Du Lighttpd und installierst den ausgewählten Webserver. Die Webserver-Präferenz stellst Du sinnvollerweise auch entsprechend ein.
Hab das jetzt mit apache2 probiert - hat nix gebracht.
Hab also das komplette System neu aufgesetzt (wo ich bemerkt habe, dass lighttpd einfach als Standard in DietPi ausgewählt ist, habs dann aber auf apache2 geändert), doch auch hier wieder der selbe Fehler:
Forbidden.
WebUi:
Keine Server-Log-Dateien
Alles funktioniert gut
apache2 access.log:
Nischte ( [ Read 0 lines ] )
apache2 ssl log:
Nicht einmal vorhanden ( [ New File ] )
ls -l /mnt/dietpi_userdata/nextcloud_data/:
total 8
drwxr-xr-x 4 www-data www-data 4096 Nov 4 16:30 admin
drwxr-xr-x 8 www-data www-data 4096 Nov 4 16:30 appdata_ocmmkcesph0l
-rw-r--r-- 1 www-data www-data 0 Nov 4 16:25 index.html
-rw-r--r-- 1 www-data www-data 0 Nov 4 16:25 nextcloud.log
sudo netstat -tlpn | grep 80:
sudo: netstat: command not found
Wohl echt ein spezialgelagerter Sonderfall...
sudo: netstat: command not found
ist ja auch kein Wunder, weil Du die net-tools nicht installiert hast.
Wenn es keine Logdateien gibt, ist auch kein Zugriff erfolgt oder das Logging wurde deaktiviert. Kannst Du einen Screenshot vom Browserfenster machen?
Missverständnis: Ich meine das Browserfenster mit der Meldung "Forbidden".
Jetzt bin ich verwirrt... manche schreiben exFat wäre wichtig, du schreibst ext3/4... Was soll ich jetzt nehmen? xD
Da wird es sicher mehr Details im Log geben.
Ich vermute mal die Festplatte hat ein ungeeignetes Dateisystem (z.B. FAT) oder der Benutzer vom Webserver (=nextcloud) darf dort nicht schreiben.
Wie komm ich ans log File ran? 😅
Die Festplatte hatte ich extra mit exFat formatiert...
So! Alles neu aufgesetzt und mit ext4 formatiert.
Immernoch "Forbidden".