Problem

Nach einem Update der ownCloud, können manche Dateien nicht geschrieben bzw. hochgeladen werden - andere werden scheinbar jedoch synchronisiert. Der ownCloud Sync-Client meldet "Server hat '403 Forbidden' auf PUT .... geanrtwortet (Sabre\DAV\Exception\Forbidden)".

Prüfung man mittels der occ Befehl die Storages, erhält man die Fehlermeldung "Home storage for user ... not writable".

php occ files:scan --all

Scanning files for 6 users
Starting scan for user 1 out of 6 (ad...)
Starting scan for user 2 out of 6 (mf...)
Starting scan for user 3 out of 6 (mz...)
Home storage for user mz... not writable
Make sure you're running the scan command only as the user the web server runs as
Starting scan for user 4 out of 6 (t3...)
Home storage for user t3... not writable
Make sure you're running the scan command only as the user the web server runs as
Starting scan for user 5 out of 6 (tr...)
Home storage for user tr... not writable
Make sure you're running the scan command only as the user the web server runs as
Starting scan for user 6 out of 6 (wp...)
Home storage for user wp... not writable
Make sure you're running the scan command only as the user the web server runs as

+---------+-------+--------------+------------------+
| Folders | Files | Elapsed time | Items per second |
+---------+-------+--------------+------------------+
| 13      | 14    | 00:00:00     | 457              |
+---------+-------+--------------+------------------+

BASH


Lösung

Im Rahmen des Upgrade / Updates von ownCloud wird empfohlen ein neues  Verzeichnis für die neue Version der ownCloud zu nutzen. Darüber hinaus soll man die Konfigurationsdatei config.php kopieren und das data  Verzeichnis, wo die Daten der User liegen, in das neue ownCloud Verzeichnis kopieren. Leider verschweig die Anleitung jedoch, dass der Pfad für die User Verzeichnisse an zwei Stellen gespeichert werden:

  1. In der config.php  Datei - hier kann man relativ einfach den Speicherpfad in der Variable datadirectory  anpassen. 
  2. In der Datenbanktabelle der User oc_accounts., dort in der Spalte home 

Lösungsansatz 1:

Bennenen Sie die Verzechnisse (alte und neue Installation) der ownCloud Instanz so um, dass der Verzeichnisname bzw. der Pfad auf dem Server den bisherigen Einstellungen enstpricht.

Lösungsansatz 2:

Passen Sie sowohl in der config.php  Datei, als auch in der oben genannten Datenbank-Tabellen-Spalte home  die Pfade so an, dass diese zum neuen Installationsverzeichnis passen.