Vincular almacenamiento externo en Owncloud

Owncloud permite vincular cuentas de almacenamiento externas como Amazon S3, Google drive, Dropbox, o almacenamiento local para que aparezcan en nuestra nube como una carpeta mas.

En Aplicaciones activar ‘External Storage Support’, por defecto viene desactivado, y en el menú de Administración habilitar la casilla ‘Habilitar almacenamiento externo de usuario’.
Por ejemplo para activar una cuenta de Google Drive necesitamos una API de Drive. Logarse en cuenta de google drive e ir a la consola de las apis, https://console.developers.google.com
Crear un nuevo proyecto, en el menu de ‘APIs y Autenticacion’ ir a APIs y habilitar Drive API.
En Credenciales -> Añadir Credenciales -> ID de cliente de OAuth 2.0, pinchar en Aplicacion Web y rellenar los campos Nombre, Orígenes de JavaScript autorizados (https://www.ejemplo.com), URIs de redireccionamiento autorizados (https://www.ejemplo.com/index.php/settings/admin y https://www.ejemplo.com/index.php/settings/personal).

Ahora en owncloud sección Administracion buscar ‘Almacenamiento externo’, en la ventana ‘Añadir almacenamiento’ seleccionar ‘Google drive’.
Nos crea una línea arriba donde insertamos en la casilla correspondiente el ‘Client ID’ y ‘Client secret’ (si copias y pegas el Secreto de Cliente ten cuidado por que pega un caracter de mas), y le damos a conceder acceso. Si todo va bien aparece un circulo verde a la izquierda. A la derecha hay una ventana llamada Disponible para, donde seleccionamos todos los usuarios o solamente aquellos que nosotros queramos que puedan vincular cuentas externas.

Ahora todos los usuarios disponen de esta posibilidad en su menú personal, tan solo seleccionan el tipo de cuenta que vincular y la configuran.

Cuenta de Dropbox
Para tener un api visita
https://www.dropbox.com/developers/apps
Crea un app y entra en ella, copia la App Key y la App secret en owncloud.

Cuenta de Amazon S3
En el menú superior de la derecha visitar ‘Security Credentials’, ir a ‘Access Key(Access Key ID and Secret Access Key)’, pinchar en ‘Create New Access Key’. Se abre una ventana llamada ‘Create Access Key’, copiar el ‘Access Key ID’ y el ‘Secret Access Key’. Pegar en la nueva instancia creada en Owncloud de Amazon S3 la primera en Clave de acceso y la segunda en Clave secreta, en Depósito escribir el nombre que le habeis asignado en Amazon (en ingles Buckets) y automaticamente conecta.

Almacenamiento Local
En nombre de la carpeta seleccionar Local, insertar la ubicación del disco duro externo, si esta bien un circulo verde aparece a la izquierda.
Para montar un disco duro externo en linux, crear un directorio /media/usb
sudo mkdir /media/usb
Con el comando ls -l /dev/sd* vemos las unidades que estan montadas, en cuanto conectemos el usb aparece la nueva unidad, volvemos a hacer ls -l /dev/sd* y aparecen las nuevas
/dev/sdb -> nombre del dispositivo
/dev/sdb1 -> particion 1 del dispositivo
Montar la memoria con el comando mount, con -t especificamos el tipo de sistema (vfat para FAT, ntfs-3G para NTFS, ext4…)
mount -t ntfs-3g /dev/sdb1 /media/usb
Ahora lo podemos ver en /media/usb, esta es la ubicacion que le interesa a Owncloud.
Para desmontar el disco duro umount /media/usb

Incidencias ocurridas

El soporte cURL no esta activado (Ubuntu 12.04)
Instalar php5-curl
sudo apt-get install php5-curl
En el archivo php.ini apartado ‘Dynamic Extensions’ descomentar o añadir la línea
extension = php_curl.dll
Reiniciar apache
sudo /etc/init.d/apache2 restart