Instala ownCloud en tu Raspberry Pi y gestiona tu propia nube

El almacenamiento de datos en servicios de private cloud como Dropbox, Google Drive o Amazon Drive goza de gran popularidad. Con estos se pueden depositar archivos en una nube virtual con total disponibilidad. Todo lo que se necesita, aparte del software, es un ordenador o un dispositivo móvil con acceso a Internet. Sin embargo, en relación con los proveedores de alojamiento en la nube no deja de existir cierta suspicacia. Sobre todo se critica el desconocimiento por parte de los usuarios respecto a un posible acceso de terceros a sus datos y a su eliminación definitiva del servidor cuando los borran, algo especialmente importante cuando se trata de datos sensibles. La única manera de mantener el control absoluto sobre sus datos es crear y gestionar una nube privada.

Una solución de software consolidada, gratuita y fácil de usar es ownCloud, que en el económico miniordenador Raspberry Pi encuentra una plataforma especialmente indicada para funcionar de servidor o host de una nube personal. En este tutorial te indicamos cómo crear tu propia nube en un Raspberry Pi y qué otros componentes necesitas.

Ventajas de instalar ownCloud en un Raspberry Pi

ownCloud es una aplicación web de alojamiento de archivos (filehosting) con la que el usuario puede crear un repositorio personal, al cual acceder desde cualquier navegador. También se pueden subir y descargar datos (sincronización de datos incluida) con programas cliente y aplicaciones móviles. Además de funcionar como servidor de archivos, ownCloud también ofrece:

  • Calendario / planificador de tareas
  • Agenda
  • Lector de música y vídeo
  • Visor de archivos de imagen y de documentos (PDF y Microsoft Office)
  • Editor de textos de OpenDocument
  • Administración de usuarios, de grupos y de permisos

Más allá de estas prestaciones, también es posible encriptar tanto los datos como su transferencia. ownCloud representa una interesante alternativa a los grandes servicios de almacenamiento en la nube y muchos usuarios valoran el poder guardar sus datos en un servidor privado o en un espacio web alquilado a un proveedor, evitando tener que recurrir a los discos duros de grandes consorcios para que puedan estar disponibles en todo momento. Para poder alojar archivos, eso sí, es necesario disponer de un ordenador con el software de servidor adecuado, que es el que permite, en definitiva, que los datos estén disponibles en Internet.

Hay buenos argumentos a favor del uso de un Raspberry Pi como host de una ownCloud. Por un lado, el coste vinculado a la adquisición del pequeño ordenador y sus accesorios es excepcionalmente bajo, de forma que no existe una opción con una mejor relación calidad-precio que un Raspberry Pi para alojar una nube privada. Por otro lado, el consumo de electricidad de este miniordenador de una platina es muy bajo, un aspecto relevante si un servidor ha de permanecer activo permanentemente.

En general, existen muchos programas y procedimientos con los cuales utilizar un Raspberry Pi para alojar tu propia nube. Para el servidor ownCloud que presentamos a continuación se utiliza un servidor web Apache en la versión 2, puesto que hoy es el más utilizado. Junto al lenguaje de programación PHP 5 también interviene SQLite como base de datos, la cual, frente a otros sistemas como MySQL, tiene la ventaja de sobrecargar en menor medida los recursos del Raspberry Pi.

Pasos previos a la instalación de ownCloud en tu Raspberry Pi

Para instalar tu nube privada, además del miniordenador en sí, necesitas también otros componentes, además de algunos ajustes previos a la instalación y la configuración de ownCloud 9.

Componentes requeridos

  • Un Raspberry Pi para que funcione de servidor para la nube. Se recomienda un Raspberry Pi 2 Modelo B o un modelo más potente, ya que, de lo contrario, la velocidad de carga y descarga de archivos podría verse afectada, aunque esto también depende de la conexión a Internet.
  • Una tarjeta de memoria MicroSD con capacidad suficiente (se recomiendan 8 GB como mínimo). El espacio de almacenamiento necesario varía naturalmente en función del tipo y de la cantidad de archivos que se quieren almacenar, o de si se guardarán en la misma tarjeta o en otro dispositivo conectado al Raspberry Pi. Una ownCloud puede utilizar también un disco externo en Internet usando FTP o WebDAV, de la misma forma que también se pueden integrar otros servicios de nube como Dropbox o Amazon S3. En este tutorial se usa Raspbian Jessie como sistema operativo, que ha de estar instalado en la tarjeta MicroSD. En el caso que tu Raspberry aún funcione con el predecesor Wheezy, puedes descargar Jessie en la página oficial.
  • Una conexión a Internet por cable de red (opción recomendada) o WLAN.
  • Suministro eléctrico por medio de un cable Micro USB.

Opcionalmente se puede usar un medio de almacenamiento adicional, como un disco duro externo o un pendrive, para que los archivos dispongan de más espacio, pero ha de ser instalado por separado.

En muchos casos también puede ser conveniente instalar un ventilador o un refrigerador por convección (menos potente aunque más silencioso), sobre todo si se realiza overclock (aumentar la velocidad de reloj) sobre el ordenador, posible en los modelos anteriores al Raspberry Pi 3 B. Incluso si vas a usar tu Raspberry como servidor de owncloud en servicio continuo, nunca está de más usar un refrigerador.

Como cualquier servidor, el que presentamos aquí también puede ser administrado “headless”, es decir, sin pantalla, sin teclado y sin ratón. Si te decantas por esta opción, la más sencilla y eficiente energéticamente, puedes usar un acceso remoto por SSH para llevar a cabo las modificaciones pertinentes en el servidor. Clientes SSH como WinSCP, PuTTY para Windows u OpenSSH para sistemas operativos UNIX, permiten el acceso remoto a un servidor desde un ordenador o un smartphone. La conexión se activa introduciendo en el cliente SSH la dirección IPv4 del Raspberry Pi.

Una dirección estática para Raspberry Pi

Para la mayoría de usuarios, utilizar una nube privada solo tiene sentido si el host está disponible las 24 horas, pues solo así es posible acceder a los archivos y subir otros nuevos fuera de la red doméstica. La instalación de un servidor doméstico permanentemente accesible, sin embargo, se enfrenta a la problemática derivada del hecho que la conexión a Internet se basa en una dirección IP dinámica que va cambiando en ciclos variables de 24 horas como máximo. Esto impide poder usar un servidor disponible de forma continuada siempre bajo la misma dirección.

Una dirección IP estática podría superar este obstáculo, pero, aparte de tener un coste relativamente alto, no todos los proveedores de Internet las ofrecen. Una opción alternativa es registrar un dominio en un DNS dinámico o DDNS, que se vincula al router o al ordenador con un programa que asigna automáticamente un nombre de dominio a la dirección IP momentánea. Esto permite que el servidor esté siempre online bajo el mismo nombre. De pago o gratuito, existe una variada paleta de proveedores que ofrecen un DDNS.

Si no utilizas ni una variante ni la otra, solo podrás acceder a ownCloud desde tu red local, pero incluso en este caso vale la pena crear un servidor de archivos propio. De esta manera puedes, por ejemplo, sincronizar automáticamente todos los datos del servidor.

Preparar el Raspberry Pi para la instalación de ownCloud

Primero hay que asegurarse que el Raspberry Pi está bien configurado para su uso como host de una nube privada. Si aún no has cambiado el nombre de usuario predeterminado “Pi” y su contraseña “Raspberry”, es el momento de hacerlo, puesto que sería una negligencia dejar los datos predeterminados por el riesgo que supone para la seguridad no impedir el acceso al servidor desde Internet. Para cambiar estos datos abrimos la configuración tecleando este comando en la consola:

sudo raspi-config

Como ocurre ante cualquier instalación en el Raspberry Pi, también en este caso debernos actualizar el ordenador y los paquetes preinstalados antes de comenzar con la creación de la nube. Para ello, utilizamos estos comandos:

sudo apt-get update

sudo apt-get upgrade

Instalar ownCloud y sus accesorios

La nube privada que instalamos en el Raspberry Pi no está compuesta únicamente por el software de la aplicación, sino también de diversos programas que han de ser instalados paso a paso. A falta de otras indicaciones, introduce los comandos en la consola del Raspberry Pi.

Instalar Apache 2, PHP 5 y SQLite

El servidor Apache se instala en primer lugar con el siguiente comando:

sudo apt-get install apache2

Para comprobar si la instalación finalizó con éxito hemos de introducir la dirección IP del dispositivo en la barra del navegador. Si aparece una página web vacía con la frase “It Works!” (¡Funciona!), todo va bien.

Para hacer que la nube esté disponible en Internet, se activa la redirección de puertos en el router y se desvían las peticiones desde el puerto 433 al Raspberry Pi. Esto puede realizarse de forma diferente en cada router, pero es posible encontrar tutoriales para muchos modelos.

Una vez ejecutada la redirección, el dispositivo está ahora disponible bajo su dirección IP (o bajo el nombre de dominio si hemos usado un DDNS) en Internet. Si no se lleva a cabo la redirección de puertos solo se puede tener acceso al servidor desde la red local.

Ahora se instalan PHP, SQLite y otros paquetes necesarios:

sudo apt-get install php5 php5-gd sqlite php5-sqlite php5-curl

Una vez se cierra la instalación de todos los programas, se reinicia el servidor Apache:

sudo service apache2 restart

Instalar ownCloud

Cuando se han finalizado todos los preparativos se puede instalar owncloud en el Raspberry Pi. El software se puede descargar en la página web oficial de ownCloud. En “Archive File” se descarga el archivo comprimido en .zip y se copia en el Raspberry Pi. También puedes instalarlo a través de la consola. Aquí has de introducir la versión de ownCloud que quieres instalar (en este caso, ownCloud 9.1.0). Teclea este comando:

wget https://download.owncloud.org/community/owncloud-9.1.0.zip

Para instalar una versión diferente se modifican sencillamente las cifras correspondientes ([…] community/owncloud-X.X.X.zip). La última versión más estable del programa siempre se encuentra en el mencionado enlace a la sección de descargas de la página oficial.

Independientemente de la opción elegida, una vez descargado el archivo .zip, has de instalarlo y descomprimirlo en la carpeta correcta:

sudo mv owncloud-9.0.4.zip /var/www/html
cd /var/www/html
sudo unzip -q owncloud-9.0.4.zip

Seguidamente, creas una carpeta para ownCloud en el servidor y configuras los permisos de acceso:

sudo mkdir /var/www/html/owncloud/data
sudo chown www-data:www-data /var/www/html/owncloud/data
sudo chmod 750 /var/www/html/owncloud/data

Una vez creada la carpeta, reinicia el Raspberry Pi:

sudo reboot

Configurar ownCloud

Una vez has instalado el programa y has creado la estructura de ficheros adecuada, entra en la configuración de la cuenta personal en ownCloud. Para ello necesitas el explorador del Raspberry Pi, donde deberás introducir la dirección IP del ordenador, completando la dirección al final con „/owncloud“ (192.168.X.X/owncloud). En caso de usar el servidor con una dirección DDNS, esta sustituye a la IP.

A continuación debería aparecer la pantalla de registro de ownCloud. Puede que aparezca el mensaje de aviso “Performance Warning” en referencia a SQLite, pero puedes ignorarla, porque el servidor, aun así, está listo para funcionar. Registra tu cuenta de administrador introduciendo un nombre de usuario y una contraseña en el punto correspondiente del menú. Cuando completes la instalación tu nube personal en ownCloud estará disponible bajo esta cuenta de administrador. En el menú “Archivos” (ownCloud también está disponible en castellano) podemos subir y descargar documentos.

La seguridad de tu Raspberry Pi

Si tu Raspberry Pi dispone de una dirección estática puedes acceder a tu ownCloud desde cualquier dispositivo con la dirección IP o DDNS correspondiente, aunque teóricamente puede hacerlo cualquier usuario. Solo por eso es recomendable el uso de contraseñas seguras. Recuerda que si tu servidor Raspberry está disponible en Internet, es importante que ocuparte de su seguridad y de su actualización constante.