Nextcloud geht nicht?

julihan41  01.09.2022, 21:10

Welches Betriebssystem? Wie installiert? Welche Vorkenntnisse hast du?

FoxyMC 
Fragesteller
 01.09.2022, 22:09

Debian 11, Normal über APT, So wenig wie du dir vorstellen kannst...

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Was ist denn die Ausgabe von

ls -l /mnt/s2/files/data/nextcloud.log

und

ls -l /mnt/s2/files/data

?

FoxyMC 
Fragesteller
 01.09.2022, 21:29

Hey, schonmal danke für deine Hilfe. Hier sind die Augaben: https://hastebin.com/cojugecimu.yaml

0
franzhartwig  01.09.2022, 21:45
@FoxyMC
-rw-r----- 1 www-data root 0 31. Aug 23:08 /mnt/s2/files/data/nextcloud.log

Gut, hier hat www-data Lese- und Schreibrechte. Ich bin mir jedoch nicht sicher, ob das mit der Gruppe root so funktioniert.

Setze doch bitte mal Gruppe und Besitzer auf www-data und die Rechte für Dateien auf 640 und für Ordner auf 750. Das kannst Du relativ einfach so machen:

find /mnt/s2/files/data/ -type f -print0 | xargs -0 chmod 0640
find /mnt/s2/files/data/ -type d -print0 | xargs -0 chmod 0750
1
FoxyMC 
Fragesteller
 01.09.2022, 22:33
@franzhartwig

chmod: Beim Setzen der Zugriffsrechte für '/mnt/s2/files/data/<ORDNER>/files/<ORDNER>/<ORDNER>/<DATEI>': Die Operation ist nicht erlaubt

0
franzhartwig  01.09.2022, 23:08
@FoxyMC

Oh je. Möglicherweise solltest Du Dich mit den Grundlagen von Linux mal vertraut machen. Das geht natürlich nur mit Root-Rechten. Also setze ein sudo davor:

find /mnt/s2/files/data/ -type f -print0 | xargs -0 sudo chmod 0640
find /mnt/s2/files/data/ -type d -print0 | xargs -0 sudo chmod 0750
0
FoxyMC 
Fragesteller
 01.09.2022, 23:54
@franzhartwig

Bedeutet mit Root eingeloggt zu sein nicht gleich das man Root rechte hat?
Mache es aber jz mit "sudo" davor als root user

0
franzhartwig  02.09.2022, 20:48
@FoxyMC
Bedeutet mit Root eingeloggt zu sein nicht gleich das man Root rechte hat?

In der Regel ja.

0
franzhartwig  02.09.2022, 23:39
@FoxyMC

Das Rechteproblem ist also gelöst. Standardeinstellung ist, dass nach dem Login das Dashboard geladen wird. Das kann aber nicht gefunden werden.

Möglicherweise ist das Dashboard deaktiviert. Also:

sudo -u www-data php /var/www/html/occ app:enable dashboard

Problem behoben?

Ansonsten ein Workaround:

Ergänze die Datei /var/www/html/config/config.php um die Zeile

'defaultapp' => 'files',

Ich bin mir nicht sicher, ob die Pfade stimmen, nötigenfalls musst Du die anpassen.

0
FoxyMC 
Fragesteller
 02.09.2022, 23:58
@franzhartwig

Also wen ich das erste eingebe kommt
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

0
franzhartwig  03.09.2022, 10:05
@FoxyMC
Also wen ich das erste eingebe kommt

Das ist ja schön, dass Du zumindest den ersten Tipp ausprobiert hast. Ich schrieb jedoch:

Problem behoben?

Ansonsten ein Workaround:

Hast Du den zweiten Lösungsweg auch mal ausprobiert?

Im nächsten Schritt solltest Du Deine Nextcloud-Installation mal in Ordnung bringen. Dazu gibt es eine Dokumentation von Nextcloud. Auch eine Suchmaschine kann Dir zu dem ausgeworfenen Fehler wertvolle Hinweise geben.

https://github.com/nextcloud/server/issues/27781#issuecomment-873393301

https://github.com/nextcloud/server/issues/27781#issuecomment-873397702

https://docs.nextcloud.com/server/latest/admin_manual/

https://docs.nextcloud.com/server/latest/admin_manual/installation/index.html

Wenn dann das Cache-Problem gelöst und die Installation aufgeräumt ist, kannst Du noch mal probieren, das Dashboard zu aktivieren.

0
FoxyMC 
Fragesteller
 03.09.2022, 20:13
@franzhartwig

Also ich denke/hoffe das alles soweit Geschafft ist, also das Dashboard ist denke ich mal in Ordnung es gibt keine Cache Probleme mehr, dass einzige was nur noch ist, ist das Problem das ich die Domain über einen Reverse Proxy Betreibe, die NC/die eine APP will aber eine SSL verschlüsselung haben damit man sich ein loggen kann (https://hastebin.de/gobogeyode.json) also verstehe ich zumindest hier. Nun meine frage ob man das deaktivieren kann oder ähnliches damit es geht da faktisch sowieso nur eine ssl/https Verbindung möglich ist?

0
franzhartwig  03.09.2022, 22:54
@FoxyMC
dass einzige was nur noch ist, ist das Problem das ich die Domain über einen Reverse Proxy

Was ist der Grund für den Reverse Proxy?

die NC/die eine APP will aber eine SSL verschlüsselung haben

App, nicht APP. Und warum schreibst Du nicht im Klartext, dass die App Passwords hier das Problem verursacht?

Deaktiviere die App, damit Du erst mal die Grundinstallation von Nextcloud auf Fehlerfreiheit prüfen kannst.

sudo -u www-data php /var/www/html/occ app:disable passwords
damit man sich ein loggen kann (https://hastebin.de/gobogeyode.json) also verstehe ich zumindest hier.

Die App Passwords, zu Deutsch Passwörter, ist eine App, die nicht zur Grundausstattung von Nextcloud gehört. Sie kann nachträglich installiert werden. Sie ist also zum Betrieb von Nextcloud nicht notwendig. Es handelt sich um einen Passwort-Manager.

Nun meine frage ob man das deaktivieren kann oder ähnliches damit es geht da faktisch sowieso nur eine ssl/https Verbindung möglich ist?

Keine Ahnung, was Du damit sagen möchtest.

0
FoxyMC 
Fragesteller
 04.09.2022, 12:20
@franzhartwig

Ich habe bereits die App deaktiviert ohne erfolg, nun erhalte ich dies in den error.log https://hastebin.de/ozuhizigoy.json.
Ich habe Docker auf den Host Installiert deswegen der Reverse Proxy, ich hatte bereits versucht die Nextcloud in Docker zu machen aber ohne erfolg weswegen ich mich dazu entschieden habe diese Manuel auf den Host zu betreiben.

Ich möchte mich nochmal bedanken das du dir die Nerven hier zerbrichst (so kommt es zumindest rüber)

0
franzhartwig  04.09.2022, 13:27
@FoxyMC
Ich habe bereits die App deaktiviert ohne erfolg

Nein, nicht ohne Erfolg. Deine Installation ist, so wie es aussieht, komplett vermurkst. Warum das so ist, weiß ich nicht. Der Erfolg ist, dass die zur App passwords gehörende Fehlermeldung nun weg ist. Die App passwords bekommst Du nur ans Laufen, wenn zwischen Nextcloud und Reverse Proxy TLS (also HTTPS) gesprochen wird. Da musst Du also Nextcloud und den Proxy entsprechend konfigurieren. Auf dem Proxy kannst Du auch die Zertifikatsprüfung ausschalten. Das ist in der Regel nicht empfehlenswert. Da aber Proxy und Nextcloud-Instanz auf einem Host laufen, halte ich das für vertretbar.

Nun hast Du wieder ein Rechteproblem in anderen Apps (laut Logmeldungen in der App theming und in der App files. Beides sind Apps, die in der Regel vorinstalliert sind. Und genau deshalb meine ich, dass die Installation vermurkst ist. Wie soll es, nach ausgeführter Installation, zu Rechteproblemen kommen? Die Installationsroutinen jedenfalls setzen die Rechte richtig. Da musst Du also mal in Dich gehen und überlegen, was Du so alles gemacht hast. In der Not setzt Du Nextcloud noch einmal neu auf. Das Datenverzeichnis ist ja separat, das wird also nicht beeinflusst. Du musst lediglich nach der Neuinstallation von Nextcloud das Datenverzeichnis neu indexieren, damit die Dateien auch in der Datenbank richtig auftauchen. Dinge wie Kalender, Kontakte, was auch immer, sind in der Datenbank gespeichert. Da solltest Du ein Dump von speichern, den Du anschließend zurückspielst.

0
FoxyMC 
Fragesteller
 04.09.2022, 13:55
@franzhartwig

Ok eine Neuinstallation kann ja nicht schaden, muss ich was dabei Beachten? Muss etwas in der config.php übereinstimmen wie die "instanceid", "secret", oder "passwordsalt"?
Und werden die User dann auch Übernommen, also mit den Daten? Wo kann ich befehle finden das die Datein Indexiert werden etc.?

0
franzhartwig  04.09.2022, 14:36
@FoxyMC

Zunächst einmal: Wenn Du die App passwords verwenden möchtest zusammen mit dem Reverse Proxy, findest Du hier Hinweise für die Konfiguration:

https://help.nextcloud.com/t/nextcloud-passworts-erkennt-https-nicht/122692/2

muss ich was dabei Beachten? Muss etwas in der config.php übereinstimmen wie die "instanceid", "secret", oder "passwordsalt"?

Nein, das muss nicht sein. Die Datenbank wird neu angelegt, die Passwörter neu festgelegt. Wie gesagt, wenn Du Daten aus der Datenbank übernehmen möchtest, ist es am besten, Du sicherst die Datenbank und spielst sie anschließend zurück. Da sind dann Kontakte, Kalender, etc. mit drin, aber auch die Benutzer samt Passwort.

Sichern:

mysqldump --user=<db-benutzer> --host=localhost <datenbankname> > /Pfad/zum/Backup.sql

 Wiederherstellen:

mysqldump --user=<db-benutzer> --host=localhost <datenbankname> < /Pfad/zum/Backup.sql

Der Unterschied der beiden Befehle ist lediglich die Pfeilrichtung vor dem Backup-Pfad.

Wo kann ich befehle finden das die Datein Indexiert werden etc.?
sudo -u www-data php /var/www/html/occ files:scan --all

Die komplette Dokumentation von occ findest Du hier: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html

0
FoxyMC 
Fragesteller
 04.09.2022, 18:55
@franzhartwig

Also wen ich files:scan --all mache wird nur der eine User geladen den ich bei der Neuinstallation erstellt habe

0
FoxyMC 
Fragesteller
 06.09.2022, 14:03
@franzhartwig

Also ich habe das jetzt gemacht, also eine Nextcloud Neu aufgesetzt(Als Datei pfad /var/www/html/data) dann den pfad zu /mnt/s2 geändern (habe neu rein gemountet, also ohne files/data) und dann konnte er den appdata ordner nicht finden also ich den von /var/www/html/data kopiert (hätte ich von anfang an den /mnt/s2 ordner Benutz kommte immer ein Fehler) dann habe den dump importiert und ein files:scan --all gemacht, da würde dann auch alle User erkannt, dann wollte ich mich einloggen, musste auch wieder die 2Fa aktiviert also die App via Mail habe auch die Mail config aus der alten kopiert hat alles Funtkioniert und dann komme ich auf die Nextcloud Server Fehler Seite und in den Error-Logs steht dies:
https://pastebin.com/raw/KnxCg73m

0
franzhartwig  06.09.2022, 14:53
@FoxyMC

Möglicherweise möchtest Du Deine Sätze mal strukturieren, das ist grauenhaft zu lesen.

Also ich habe das jetzt gemacht, also eine Nextcloud Neu aufgesetzt(Als Datei pfad /var/www/html/data) dann den pfad zu /mnt/s2 geändern (habe neu rein gemountet, also ohne files/data)

Es ist völlig unverständlich, was Du gemacht hast. Warum hast Du den Datenpfad geändert? Beim Aufsetzen der Nextcloud wirst Du doch gefragt, wie der Datenpfad lauten soll. Da kannst Du doch direkt den richtigen Pfad angeben.

Im Ordner data liegen Deine Dateien. Ebenso liegt dort ein Verzeichnis appdata_xxxxx, wobei xxxxx eine hexadezimale Zeichenkombination ist. Dort liegen im Wesentlichen Cache-Dateien. Warum war im bisherigen Datenverzeichnis dieses Verzeichnis nicht vorhanden?

(hätte ich von anfang an den /mnt/s2 ordner Benutz kommte immer ein Fehler)

Was willst Du mir mitteilen? Hätte? Kommte?

dann habe den dump importiert und ein files:scan --all gemacht, da würde dann auch alle User erkannt,

Die Benutzer werden nicht erkannt, die stehen in der Datenbank. Wenn Du den Dump importierst, sind natürlich die Benutzer wieder angelegt. files:scan ist eine andere Geschichte, unabhängig davon. Mit files:scan wird die Tabelle oc_filecache neu gefüllt.

{"reqId":"rLXFFe7yTia7vxHoftSk","level":3,"time":"2022-09-06T13:51:57+02:00","remoteAddr":"172.17.0.4","user":"Maxi","app":"index","method":"GET","url":"/index.php/apps/dashboard/","message":"Could not create folder","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36","version":"24.0.4.1","exception":{"Exception":"OCP\\\\Files\\\\NotPermittedException","Message":"Could not create folder","Code":0,"Trace":[{"file":"/var/www/html/lib/private/Files/AppData/AppData.php","line":156,"function":"newFolder","class":"OC\\\\Files\\\\Node\\\\Folder","type":"->"},

Das sieht wieder nach einem Rechteproblem aus. Wie genau wird das Medium, auf dem sich das Datenverzeichnis befindet, gemounted?

0
FoxyMC 
Fragesteller
 06.09.2022, 16:32
@franzhartwig

Ich Verbinde meinen Externen Speicher mit diesen Befehl:
sshfs <User>@<Server>:/<HostPfad> /mnt/s2

0
franzhartwig  06.09.2022, 17:03
@FoxyMC

Aha. Das widerspricht aber ziemlich Deiner Behauptung

"/mnt/s2" ist über FTP rein gemountet 

SSH ist nicht FTP, SFTP ist nicht FTP, SFTP ist nicht FTPS.

Du solltest die Rechte beim Mounten mitgeben und das auch möglichst in der fstab erledigen, damit das automatisch beim Booten passiert.

https://wiki.ubuntuusers.de/FUSE/sshfs/

0
FoxyMC 
Fragesteller
 06.09.2022, 18:43
@franzhartwig

Ich hatte zuvor FTP deswegen habe ich das weiter oben gesagt, ich dachte, das spielt keine große rolle, weswegen ich es nicht weiter thematisiert habe.

Ich hatte das mal drinnen, also beim Autostart in fstab und dann konnte der keine Verbindung oder so aufbauen und ich konnte dann nicht mehr ins System rein, da das Tastaturen-Layout anders ist in VNC und ich somit nicht das Sonderzeichen eingeben konnte, um das System trotzdem zu starten, deswegen sträube ich mich ein wenig davor, auch wenn ich nun das Sonderzeichen weggelassen habe.

Ich habe nun -o idmap=user -o uid=33 -o gid=33 drangehangen und es gehört auch alles www-data aber ich kann Trozdem nicht als www-data user drauf zugreifen. (Also kein "sudo -u www-data ls/mkdir" es kommt immer ": Keine Berechtigung")

Hier habe ich mal eine Kleine Auflistung der Ordner/Dateien und deren Reche https://hastebin.de/imivolicay.yaml

0
franzhartwig  06.09.2022, 20:02
@FoxyMC

Ich habe nun -o idmap=user -o uid=33 -o gid=33 drangehangen und es gehört auch alles www-data aber ich kann Trozdem nicht als www-data user drauf zugreifen. (Also kein "sudo -u www-data ls/mkdir" es kommt immer ": Keine Berechtigung")

Kein Wunder. Es reicht ja nicht, Besitzer und Gruppe richtig zu setzen. Die Berechtigungen des Besitzers und der Gruppe müssen auch korrekt sein. In /mnt/s2/ hat niemand Leserechte. Wie man die Rechte richtig setzt, habe ich bereits beschrieben. w = write, r = read, x = execute

Ich sehe wieder, dass Dir die grundlegendsten Grundlagen der Linux-Administration fehlen. Ich frage mich auch, wie es zu diesen Berechtigungen kommen konnte.

0
FoxyMC 
Fragesteller
 06.09.2022, 21:05
@franzhartwig

Auch wen ich den Ordner /mnt und /mnt/s2 777 gebe habe ich keine Rechte dort einen Ordner zu erstellen oder zu lesen

4 drwsrwsrwx 1 www-data www-data 4096 6. Sep 18:34 s2
root@deb11:/mnt/s2# sudo -u www-data ls -ls
ls: Öffnen von Verzeichnis '.' nicht möglich: Keine Berechtigung
0
franzhartwig  06.09.2022, 21:25
@FoxyMC

Die gesetzten Rechte sind nicht 777. Das wäre drwxrwxrwx. Statt x hast Du das s für Besitzer und Gruppe. Das s steht für setuid und setgid. Versuche mal:

find /mnt/s2/ -type f -print0 | xargs -0 sudo chmod 00640
find /mnt/s2/ -type d -print0 | xargs -0 sudo chmod 00750
0
FoxyMC 
Fragesteller
 07.09.2022, 09:33
@franzhartwig

Ich habe die Befehle so eingegeben und nun hat der s2 Ordner die Rechte

root@deb11:~# ls -ls /mnt/
insgesamt 4
4 drwxrwx--- 1 www-data www-data 4096  6. Sep 18:34 s2
root@deb11:/mnt/s2# sudo -u www-data ls -ls
ls: Öffnen von Verzeichnis '.' nicht möglich: Keine Berechtigung
0
FoxyMC 
Fragesteller
 07.09.2022, 18:16
@franzhartwig

Mit

sshfs <User>@<Server>:<HostPfad> <Pfad> -o idmap=user -o uid=33 -o gid=33 -o allow_other

Funktioniert alles.

1
franzhartwig  07.09.2022, 21:09
@FoxyMC

Super. Sprich: Beim Mounten des Datenverzeichnisses wurden die falschen Rechte gesetzt.

0

Du hast einen Fehler mit den Berechtigungen, www-data darf in /mnt/s2 nicht schreiben. Was nimmst du da zum mounten, welche Optionen, gibst du uid mit an, was zeigt ls -l /mnt/s2 für Berechtigungen ?

Woher ich das weiß:Studium / Ausbildung – Informatiker
FoxyMC 
Fragesteller
 01.09.2022, 21:31

mh aber wieso darf er nicht drauf zugreifen?
Hier die ausgebe: drwxr-xr-x 3 www-data root 4096 31. Aug 20:13 files
Zum verbinden habe ich das eingegeben: curlftpfs <server> /mnt/s2 -o allow_other,uid=33

0
iQa1x  01.09.2022, 21:38
@FoxyMC

Mit uid=33 sieht das gut aus. Blöde Frage, wenn du dich per FTP direkt verbindest, darfst du dann schreiben ? Nicht, dass du einfach keine Schreibrechte auf dem FTP hast, weil irgendwas schief gegangen ist. Geht ein touch /mnt/s2/files/testfile ?

1
iQa1x  01.09.2022, 21:51
@FoxyMC

Ja, ich auch nicht. Mich wundert auch das "Operation not permitted", wenn Rechte falsch wären sollte da "Permission denied" kommen. Könnte mir nur vorstellen, das PHP da file locking versucht, was ftpfs nicht kann oder so was in der Richtung.

0
iQa1x  01.09.2022, 21:59
@FoxyMC

Ich glaube nicht, das es was bringt, aber du kannst mal die mountoption direct_io noch versuchen anzuhängen...

0

Das hat offensichtlich irgendwas mit dem ftp Mount zu tun. Wenn du schon unbedingt ein remoteverzeichnis einbinden musst, nimm dafür besser nfs im lokalen Netzwerk. Übers Internet besser sshfs.

Woher ich das weiß:Berufserfahrung – Seit langer Zeit als Systemadministrator tätig
FoxyMC 
Fragesteller
 01.09.2022, 22:39

Wie wäre dann bei sshfs der ganzue befehl mit den rechten und so?

0