So sieht die Meldung aus
Your data directory is invalid
Ensure there is a file called ".ocdata" in the root of the data directory.Häufige Ursachen
- Der Datenträger (zweite Platte, NFS, SMB, Bind-Mount) ist nach einem Neustart nicht eingehängt, der Pfad existiert also, ist aber leer.
datadirectoryin derconfig.phpzeigt auf einen anderen Pfad als den echten, z. B. nach einem Umzug oder einer Migration.- Die versteckte Datei
.ocdatawurde nicht mitkopiert, weil beim Kopieren Punktdateien übersprungen oder nur einzelne Ordner aus einem Backup zurückgespielt wurden. - Der Webserver-Benutzer kann das Verzeichnis nicht lesen, z. B. nach einem falschen
chownoder geänderten Mount-Optionen.
Prüfen
- Welchen Pfad nutzt Nextcloud?
grep datadirectory /var/www/nextcloud/config/config.php - Ist die Markierungsdatei da?
ls -la /srv/nextcloud-data/.ocdata - Ist der Datenträger wirklich eingehängt?
findmnt /srv/nextcloud-data - Besitzer und Rechte des Verzeichnisses
stat -c '%U:%G %a %n' /srv/nextcloud-data
Lösung
- Zuerst den Datenträger einhängen und prüfen, ob deine Benutzerordner und die
nextcloud.logim Datenverzeichnis sichtbar sind. Den Mount vor dem Webserver starten lassen, z. B. mitRequiresMountsFor=/srv/nextcloud-datain einem systemd-Drop-in. - Ist der Pfad in der
config.phpfalsch, den echten Pfad indatadirectoryeintragen und nirgendwo sonst. - Nur wenn der Ordner das echte Datenverzeichnis ist und die Datei fehlt, sie neu anlegen:
sudo -u www-data touch /srv/nextcloud-data/.ocdata. Das nie auf einem leeren Einhängepunkt tun. - Den Besitzer korrigieren:
chown -R www-data:www-data /srv/nextcloud-dataund Rechte0750auf dem Verzeichnis. - Die Seite neu laden. Für künftige Kopien
rsync -anutzen, das Punktdateien mitnimmt.
Häufige Fragen
Kann ich .ocdata einfach anlegen, damit der Fehler verschwindet?
Nur wenn du sicher bist, dass das Verzeichnis deine echten Daten enthält. Auf einem leeren, nicht eingehängten Ordner würde Nextcloud mit einer neuen, leeren Instanz starten, und die ersten Uploads landen auf der falschen Platte.
Warum passiert das nach jedem Neustart?
Meist wird der Datenträger später eingehängt als der Webserver startet, oder der Mount scheitert still. Prüfe die Mount-Unit oder die fstab-Zeile und setze eine Abhängigkeit, damit der Webserver wartet.