ownCloud es una aplicación libre que permite el almacenamiento en línea y cloud computing. Puede ser instalado en cualquier servidor que disponga de una versión reciente de PHP (mayor o igual a 5.3) y soporte de SQLite (base de datos por defecto), MySQL o PostgreSQL. Es una especie de reemplazo libre para Dropbox, pero que requiere de un servidor propio.

ownCloud no posee un paquete para instalar el cliente en CentOS 7 (sí para CentOS 6), así que en este artículo voy a explicar cómo compilar el cliente ownCloud desde los fuentes. He utilizado CentOS 7 como ejemplo, pero el procedimiento es el mismo para cualquier distribución GNU/Linux.



El cliente ownCloud para GNU/Linux requiere Mirall y CSync. Mirall es el frontend GUI, mientras que CSync es quien se encarga de llevar a cabo el proceso de sincronización.

Antes de comenzar, en CentOS 7 es necesario instalar las siguientes dependencias:

yum install sqlite-devel neon-devel libsmbclient-devel doxygen qtwebkit-devel

Descargar los fuentes de csync desde el siguiente enlace csync - Files.

Compilar e instalar csync:

wget https://open.cryptomilk.org/attachments/download/27/csync-0.50.0.tar.xz
tar xvf csync-0.50.0.tar.xz 
cd csync-0.50.0/
mkdir build
cd build/
cmake -DCMAKE_BUILD_TYPE="Debug" ../
make
sudo make install
cd ..

CentOS 7 no posee el paquete qtkeychain, el cual es una dependencia de Mirall que se encarga de almacenar contraseñas de forma segura. Es una especie de capa de abstracción a GNOME Keyring y KDE Wallet, entre otros. Descargar los fuentes de qtkeychain desde la página frankosterfeld/qtkeychain - Releases.

Compilar e instalar qtkeychain:

wget https://github.com/frankosterfeld/qtkeychain/archive/v0.4.0.tar.gz
tar xvf qtkeychain-0.4.0.tar.gz 
cd qtkeychain-0.4.0/
mkdir build
cd build/
cmake ..
make
sudo make install
cd ..

Descargar los fuentes de Mirall desde el enlace "Sources" que se encuentra en la página Install Desktop Clients.

Compilar e instalar Mirall:

wget https://download.owncloud.com/desktop/stable/mirall-1.6.3.tar.bz2
tar xvf mirall-1.6.3.tar.bz2 
cd mirall-1.6.3/

Mirall no posee un documento INSTALL dentro del paquete. No sé en qué se está convirtiendo la comunidad de software libre, pero ya no se respetan un carajo las convenciones y los estándares. La guía de instalación se encuentra en la página ownCloud Client Manual - Appendix A: Building the Client - Generic Build Instructions.

mkdir build
cd build/
cmake -DCMAKE_BUILD_TYPE="Debug" ../
make
sudo make install

Al intentar ejecutar owncloud, falla porque no puede localizar las librerías dinámicas de libowncloudsync (csync) y libqtkeychain (qtkeychain). Como se han instalado correctamente los paquetes csync y qtkeychain, seguramente las librerías han quedado instaladas en un directorio no reconocido por el linker.

[emi@hal9000 ~]$ which owncloud
/usr/local/bin/owncloud

El ejecutable owncloud se encuentra en el directorio /usr/local/bin. Veamos de qué librerías compartidas depende:

[emi@hal9000 ~]$ ldd /usr/local/bin/owncloud | grep "not found"
        libowncloudsync.so.0 => not found
        libqtkeychain.so.0 => not found

Se observa que el linker no encuentra las librerías libowncloudsync.so.0 y libqtkeychain.so.0.

Para buscar rápidamente las librerías, actualizar la base de datos de mlocate:

sudo updatedb

Luego, localizar las librerías utilizando la herramienta locate:

[emi@hal9000 ~]$ locate libowncloudsync.so.0
/home/emi/packages/mirall-1.6.3/build/src/libowncloudsync.so.0
/usr/local/lib64/libowncloudsync.so.0
[emi@hal9000 ~]$ locate libqtkeychain.so.0
/home/emi/packages/qtkeychain-0.4.0/build/libqtkeychain.so.0
/home/emi/packages/qtkeychain-0.4.0/build/libqtkeychain.so.0.4.0
/usr/local/lib64/libqtkeychain.so.0
/usr/local/lib64/libqtkeychain.so.0.4.0

Se observa que ambas librerías se han instalado en el directorio /usr/local/lib64/. Entonces, es necesario crear links simbólicos a un directorio reconocido por el linker (por ejemplo /lib64), o configurar el linker para que reconozca al directorio /usr/local/lib64/.

Para agregar un nuevo directorio en la configuración del linker, crear un archivo dentro de /etc/ld.so.conf.d/:

sudo nano /etc/ld.so.conf.d/owncloud.conf

Y agregar la ruta sin la barra al final.

Debe quedar de la siguiente forma:

[emi@hal9000 ~]$ cat /etc/ld.so.conf.d/owncloud.conf 
/usr/local/lib64

Finalmente, ejecutar ldconfig para configurar el linker:

sudo ldconfig

Al ejecutar nuevamente el comando ldd /usr/local/bin/owncloud se observa que no hay librerías desaparecidas.

Ejecutar owncloud por primera vez:

owncloud

Configuración del cliente

En el primer paso es necesario especificar la URL de nuestro servidor, indicando la ruta al recurso, por ejemplo htts://cloud.linuxito.com/owncloud:

Luego ingresar las credenciales de usuario:

A continuación, especificar un directorio local para sincronizar:

Al conectar se observa que comienza el proceso de sincronización y solicita el acceso a KDE Wallet para guardar las credenciales:

Se ha configurado el cliente exitosamente:

Desde el icono en la bandeja se puede acceder a la carpeta local o navegar la versión en la nube:

Al crear una nueva cuenta se incluyen algunos directorios por defecto como "documents", "music" y "photos":


Tal vez pueda interesarte


Compartí este artículo