ownCloud : tous les fichiers semblent avoir disparu après avoir accepté un partage

La version 7 d'ownCloud permet le partage entre instances ownCloud de manière aisée : quand quelqu'un partage un répertoire avec un lien, alors il est possible d'ajouter le contenu partagé à son propre compte sur une instance d'ownCloud différente en saisissant seulement le chemin d'accès (e.g. owncloud.mondomaine.fr) de sa propre instance.

Mais gare à la surprise sur php5-curl n'est pas installé sur votre serveur !

En effet, ownCloud utilise curl pour accéder aux données partagées et les rendre accessibles au sein de votre propre instance. Si curl ou php5-curl ne sont pas installés, le code d'ownCloud plante et alors plus aucun fichier n'apparaît dans votre compte quand vous y accédez depuis le client web. Pas de panique, les données sont toujours et là et seul leur affichage ne se fait pas à cause de l'erreur générée par l'absence de curl.

Vous pouvez confirmer que le problème vient de là en observant le contenu de /var/log/apache2/error.log :

[Sun Aug 10 07:12:50 2014] [error] [client x.y.z.a] PHP Fatal error:  Call to undefined function Sabre\\DAV\\curl_init() in /var/www/owncloud/3rdparty/sabre/dav/lib/Sabre/DAV/Client.php on line 465, referer: https://myowncloud.tld/index.php/apps/files?dir=abc

La résolution est toute simple : il suffit d'installer curl et php5-curl. Ainsi, sous Debian, on fera :

aptitude install php5-curl curl

et le tour est joué ! vous devez à nouveau voir vos fichiers dans votre instance d'ownCloud.