NC 20.0.5: bei SMB-Shares werden nicht alle Verzeichnisse angezeigt

Nochmal: mit neustarten meinte ich sicher nicht „build“, sondern ich meinte nur „docker-compose restart“ oder ohne docker hätte vllt. auch „systemctl restart samba“ gereicht.

php-fpm ist die alternative zu apache+modphp oder wie das heißt. Dann laufen alle PHP-Prozesse auf eigenen Kern(en) und man kann das besser skalieren, wenn es heiß hergeht. (hab ich zumindest das gefühl, villeicht geht das mit modphp auch…)

Mir ging es bloß darum, dass es dann einfach wäre, „php“ neuzustarten… falls das irgendein caching betreibt…

Aber in deinem Fall reicht voll und ganz: „docker-compose restart“…

VG, Tobias

Hallo Matthias,

bei PHP als fastCGI-Prozess mit FPM läuft PHP als eigener Dienst,
während beim Apache-Image PHP bei jeder Anfrage vom Webserver aufgerufen
wird.

FPM ist der modernere Ansatz und deutlich perfomanter. Mit Docker ist
aber eventuell mehr Konfiguration nötig, vor allem bei gemischten
Inhalten (html + php).

Beste Grüße

Jörg

Hallo Jörg,

Vielen Dank,
Mathias

Hallo Mathias,

in den Nextcloud Optionen des Externen Speichers einstellen „Auf Änderungen prüfen: Einmal bei jedem Direktzugriff“ könnte helfen.

Oder die Dateien regelmäßig mit einem Cronjob scannen:

Im Nextcloud Installationsverzeichnis:

sudo -u www-data php occ files:scan --all

Viele Grüße
Klaus

Hallo Klaus,
vielen Dank schon mal für’s Mitdenken.

Das ist bei mir schon eingestellt.

Das hilft tatsächlich, allerdings dauert so ein Scanvorgang auf meinem Server ca 2 Stunden.
Wenn ich das als Cron-Job nachts um 03:00 starte, dauert halt die Übername von Gruppenänderungen bis zum nächsten morgen.
Wäre also ein workaround.
Vielen Dank für den Tip.
Gruß,
Mathias

Hallo Jörg,
ich habe jetzt mal eine Netzcloud mit nextcloud:stable-fpm aufgesetzt. Ob das jetzt performater ist, kann ich noch nicht sagen. Was ich aber gesehen habe, ist dass es das Problem nicht löst.
Auf den Geschwindigkeitsvergleich bin ich mal gespannt. Dafür muss ich aber noch ein paar Dinge konfigurieren.

Die beiden Systeme sind gefühlt gleich schnell.
Gruß,
Mathias

Hallo zusammen,

Die Nextcloud check nur dann ein Verzeichnis, wenn samba mitteilt, dass sich der Inhalt geändert hat.
Wenn also ein Benutzer seine Gruppenzugehörigkeit ändert, ändert das nichts am Inhalt des Tauschverzeichnisses und damit liest NC des Tauschverzeichnisses nicht erneut. Dass sich irgendwelche Berechtigungen geändert haben können, wird dabei ignoriert.

Mein Workaround legt alle 2 Minuten das Verzeichnis nchelper an und alle ungerade Minuten wird es wieder gelöscht. Damit checkt NC jedes mal das Tauschverzeichnis.
Hier meine /etc/cron.d/nchelper :

*/2 * * * 1,2,3,4,5 root /bin/mkdir /srv/samba/schools/default-school/share/projects/nchelper
1-59/2 * * * 1,2,3,4,5 root /bin/rmdir /srv/samba/schools/default-school/share/projects/nchelper

Gruß,
Mathias

Hallo Mathias,

Mein Workaround legt alle 2 Minuten das Verzeichnis nchelper an und alle
ungerade Minuten wird es wieder gelöscht. Damit checkt NC jedes mal das
Tauschverzeichnis.
Hier meine |/etc/cron.d/nchelper| :

*/2 * * * 1,2,3,4,5 root /bin/mkdir
/srv/samba/schools/default-school/share/projects/nchelper 1-59/2 * * *
1,2,3,4,5 root /bin/rmdir
/srv/samba/schools/default-school/share/projects/nchelper |

krasse Arbeitsbeschaffungsmaßnahem: 24 Stunden am Tag 5 Tage die Woche …
Bemerkst du da nicht Nebenwirkungen wenn Server und NC andauernd (einmal
pro Minute) beschäftigt werden?

LG

Holger

Hi @rettich

Schonmal den Befehl hier probiert?
sudo -u www-data php occ files:scan --all

VG, Dorian

Hallo Dorian,

Ja, aber der beschäftigt die NC ca. 2 Stunden.
So ein leeres Verzeichnis ist da in null,nix angelegt.

Besser wäre es natürlich, wenn die NC von selbst das Tauschverzeichnis checken würde. Hab ich aber nicht hingekrigt :frowning:

Ob man den Server jede Minute beschäftigen muss ist natürlich eine berechtigte Frage. Alle 5 oder alle 10 Minuten reicht bestimmt auch.

Gruß,
Mathias

Die Nextcloud ist davon nicht betroffen. Die kriegt nur von samba mitgeteilt, dass sich im Tauschverzeichnis was geändert hat. Und dann liest sie das Verzeichnis ein.

Gruß,
Mathias

Hallo,

die pädML Linux hat doch optional eine dockerisierte NC-VM, bei der ausschließlich über SMB-Shares gearbeitet wird, sprich, da wird nichts in der NC-VM s gelegt, sondern alle Dateien und Verzeichnisse in der NC sind die Homes und Tauschverheichnisse im päd. Netz.

Ich kann mir nicht vorstellen, dass das ein grundsätzliches Problem sein kann, sonst würde dieses Konzept ja nicht wirklich Sinn machen.

Ich finde das aber mega smart, das muss man dem LMZ an der Stelle lassen.

Mal schauen, ob ich das mit der existierenden NC umgesetzt kriege.
Die LDAP-Einstellungen in der LMZ-NC-VM kenne ich.
Jetzt brauche ich die nötigen LDAP-Daten und Einstellungen in der PädML - das Dauerthema seit 2018.
Die SL hat Anfang März ein Gespräch mit SL, Dienstleister und mir anberaumt mit dem Ziel, eine künftig kooperative Zusammenarbeit zu bewirken. Bislang werde ich vom Dienstleister zwischen ignoriert und von oben herab für zu blöd hingestellt.
Ich bin gespannt…

Viele Grüße
Steffen

Hallo zusammen,

es ist tatsächlich so, daß Nextcloud bzw. das Addon files_external so seine Schwierigkeiten mit SMB Shares oder SFTP Shares hat.

Probleme gibt es z.B. mit Onlyoffice. Ein gleichzeitiges Arbeiten an Dateien ist nicht möglich. Ebenso sind Änderungen eines Benutzers an einem Onlyoffice File nicht unbedingt immer sofort sichtbar, bzw. es ist nicht nachvollziehbar wann diese Änderungen beim Anderen sichtbar sein werden.

Dasselbe mit Kommentaren, die man zu einer Datei auf einem SMB-Share hinterlässt. Änderungen nicht beim anderen sichtbar.

Die obigen Probleme kann man umgehen, indem man Ordner „teilt“. Aber auf einem SMB-Share, welches bereits Gruppenberechtigungen hat macht das keinen Sinn.

Ebenso passiert es, daß beim Upload auf ein SMB-Share des Lehrers auf das Home eines Schülers die Dateien hochgeladen werden, aber für den Schüler nicht sichtbar sind. Auf Dateisystemebene sind die Dateien da, aber Nextcloud zeigt sie nicht an obwohl sich der Schüler nochmal durch die Verzeichnisstruktur klickt. Aber eben auch nicht immer und nicht nachvollziehbar.

Auch funktioniert Drag and Drop von einem Dateibrowser z.B. ins User Homeverzeichnis nicht, ohne daß man direkt ins Verzeichnis navigiert, also dieses öffnet.

Viele Grüße
Klaus

Hallo Steffen,
ich würde meinen Workaround als Lösung bezeichnen. Zumal der Server kaum belastet wird. Wenn Univention das gleiche Plugin benutzt, werden die das wohl ähnlich machen.

Das ist leicht:
Nenne den Home-Ordner einfach „/“. Dann liegen alle Dateien nicht mehr auf der Nextcloud sondern im Home-Verzeichnis des Benutzers.

Aber VORSICHT!!! Der Admin sollte auf diesen Share keinen Zugriff haben!!!
Sonst kann er sich nicht mehr anmelden.


Wie man sieht, haben alle Gruppen Zugriff auf das Home-Verzeichnis „/“ nur nicht der Admin.
Beim Tauschverzeichnis ist’s dann nicht mehr so schlimm, wenn der Admin mit drin ist. Das wird dann halt nicht gemountet.
Gruß,
Mathias

Hallo Klaus,

Ich benutze Collabora, allerdings als Docker-Image. Dieses Collabora nutzen wir in Moodle (läuft super) und in der NextCloud. Wäre eventuell eine Alternative.

Das habe ich eben mit ein paar Probe-Schüler-Accounts durchgespielt. Hat bisher funktioniert.

Das habe ich auch beobachtet. Das zickt tatsächlich manchmal. Aber dann fängt der Download doch an. Woher die Verzögerung kommt, weiß ich auch nicht. Vielleicht eine langsame Internetverbindung?!?

Gruß,
Mathias

Hallo Mathias,

ich habe aktuell dasselbe Problem, dass neue Gruppen erst spät/gar nicht bzw. erst, wenn man sich über die Webgui bei Nextcloud anmeldet und nochmal auf den projects-Ordner klickt, Nextcloud „merkt“, dass sich im Ordner was verändert hat.

Genauso, wenn ein Lehrer Dateien in einen Projektordner hochgeladen hat. Dann „bemerkt“ der NC-Client das häufig nicht. Erst ein Einloggen in die WebUI und Navigieren zum Projektordner (und manchmal auch erst beim zweiten Aufruf des Ordners) werden die neuen Dateien angezeigt. Anschließend synchronisiert der NC-Client diese auch.

Darf ich fragen, ob Du die Lösung hier von vor über zwei Jahren noch nutzt (mit Deinem nchelper Cron-Job) oder ob Du inzwischen von in NC geteilten SMB/CIFS Shares Abstand genommen hast?

Ich finde die Lösung, über NC die Home- und Tauschverzeichnisse vom LMN7-Server zu teilen so praktisch, dass ich eigentlich keine separate NC-Infrastruktur „hochziehen“ will …

Beste Grüße,
Jens

Hallo Jens,
den nchelper-Cron-Job benutze ich nicht mehr.
Ich habe das Problem so gelöst:


Das Tauschverzeichnis teile ich nur mit den Lehrern. Mit den Schüleren teile ich das Verzeichnis über die Nextcloud:
grafik
So traten die Probleme mit Dateien, die nicht sichtbar sind nicht mehr auf.

Gruß,
Mathias

Guten Morgen!

Vielen Dank für Deine schnelle Rückmeldung!

Genauso sehen meine Einstellungen für die Einbindung des Tausch-Ordners auch aus, funktioniert aber (wie oben beschrieben) maximal hakelig (eigentlich nicht zumutbar).

Welchen smbclient verwendet Du jetzt? Oder fällt Dir noch was ein, warum die Einstellung bei Dir funktioniert, bei mir jedoch nicht? Ich habe ansonsten dasselbe Setup, wie von Dir oben beschrieben (NC im Docker mit eigenem Dockerfile; nur deshalb habe ich diesen Thread auch nochmal hochgezogen).

Dockerfile:

FROM nextcloud:apache
RUN apt-get update && apt-get install -y procps smbclient && rm -rf /var/lib/apt/lists/*

Beste Grüße,
Jens

Hallo Jens,

bei mir sieht das Dockerfile inzwischen so aus:

FROM nextcloud:25.0.4
RUN apt-get update && apt-get install -y smbclient libsmbclient-dev imagemagick && pecl install smbclient && docker-php-ext-enable smbclient && rm -rf /var/lib/apt/lists/*

Gruß,
Mathias

Danke, Mathias,

ich habe mich nun leider (wenngleich ich die Möglichkeit, die Tausch-Verzeichnisse über die Schulkonsole für Projekte zu konfigurieren sehr reizvoll fand, weil das dann sowohl zentral als auch über „selbst einschreiben“ möglich ist) dafür entschieden, nur die User-Home an die Nextcloud anzubinden, die Tausch-Verzeichnisse jedoch nicht. Die Info, dass es darin neue Dateien gibt, hat mir einfach zu lang gedauert (wenn sie denn überhaupt ohne manuellen Eingriff in der Nextcloud-UI ankam).

Beste Grüße,
Jens