Crea tu propia nube con Raspberry Pi y OwnCloud

Crea tu propia nube con Raspberry Pi y OwnCloud
Publicado en Linux

Hoy vamos a ver otra de las múltiples aplicaciones para, el ya comentado muchas veces, minicomputador Raspberry Pi. Por solo 35 dólares tenemos ante nosotros un increíble abánico de posibildades y proyectos que harán las delicias de los más manitas y amantes del DIY, Do It Yourself! o ¡Hazlo tu mismo!.

raspberry pi

En este caso específico vamos a ver como usar nuestra Raspberry Pi para crear nuestra propia plataforma en la nube. Vamos a utilizar para ello el apodado la comunidad Dropbox Open Source, estamos hablando de Owncloud.

Para quien no lo sepa Owncloud es una increíble plataforma que nos permite por medio de nuestro propio servidor almacenar archivos en línea, además de funcionalidades muy interesantes como son el streaming de música directamente desde el servidor, un editor de textos online, un visor de documentos o una galería de imágenes en línea. Una plataforma que nos dará un control total sobre nuestros archivos desde cualquier dispositivo que usemos.

Para el desarrollo de este proyecto necesitarás a parte de tu Raspberry Pi, un disco duro externo o llave USB que usaremos para almacenar los datos, también podemos utilizar la propia tarjeta SD de nuestra Rasp.

Configurando nuestra conexión e instalando el servidor

Lo primero que haremos será editar el archivo de interfaces de red para darle a la Raspberry una IP fija, usaremos el siguiente comando para editar dicho archivo:

sudo nano /etc/network/interfaces
                

Una vez abierto el archivo deberás modificarlo para que quede de esta manera, puede que el campo address sea diferente en tu caso.

  auto eth0
                  iface eth0 inet static
                         address 192.168.1.118
                         gateway 192.168.1.1
                         netmask 255.255.255.0
                         network 192.168.1.0
                         broadcast 192.168.1.255
                

Tras editar el archivo usaremos Ctrl+O para guardar el archivo y Ctrl+X para salir del editor. Reiniciaremos entonces nuestro adaptador de red de la siguiente manera:

sudo /etc/init.d/networking restart
                

Procederemos entonces a actualizar los repositorios y la propia Raspberry Pi y luego instalaremos todo el software necesario para el servidor:

sudo apt-get update
                sudo apt-get install apache2 php5 php5-json php5-gd php5-sqlite curl libcurl3 libcurl4-openssl-dev php5-curl php5-gd php5-cgi php-pear php5-dev build-essential libpcre3-dev php5 libapache2-mod-php5 php-apc gparted
                

Configurando PHP y Apache

Una vez descargado todo el software vamos a proceder a configurar paso a paso toda nuestra infraestructura, comenzaremos instalando PHP APC, hará que las paginas carguen de manera más rapida: sudo pecl install apc

Tras la instalación crearemos el archivo apc.ini:

sudo nano /etc/php5/cgi/conf.d/apc.ini
                

y añadiremos lo siguiente dentro del archivo:

  extension=apc.so
                  apc.enabled=1
                  apc.shm_size=30
                

Ahora vamos a modificar el PHP.ini para cambiar el tamaño máximo de los archivos que subamos a nuestra nube y añadiremos la extensión APC. Abrimos el archivo de la siguiente forma:

sudo nano /etc/php5/apache2/php.ini
                

Cambiaremos los siguientes valores, esto nos permitirá subir archivos hasta 1GB de tamaño y habilitaremos la anteriormente mencionada extensión.

  **upload_max_filesize** = 1024M
                
                  **post_max_size** = 1200m
                
                  **extension** =apc.so
                

Ahora activaremos SSL en Apache. que hará mas segura nuestra plataforma, primero abrimos este archivo de configuración:

sudo nano /etc/apache2/sites-enabled/000-default
                

y modificamos el valor Allow over ride a All ,debe estar por defecto en None.

Pasamos ahora a instalar SSL con los siguientes comandos:

sudo a2enmod rewrite
                sudo a2enmod headers
                sudo openssl genrsa -des3 -out server.key 1024; sudo openssl rsa -in server.key -out server.key.insecure;sudo openssl req -new -key server.key -out server.csr;sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt;sudo cp server.crt /etc/ssl/certs;sudo cp server.key /etc/ssl/private;sudo a2enmod ssl;sudo a2ensite default-ssl
                

Cuando hayamos hecho todo esto reiniciamos Apache para que los cambios tomen efecto:

sudo service apache2 restart
                

Descargando e instalando Owncloud en nuestro servidor

Si has llegado hasta aquí te has quitado ya todo el trabajo sucio, solo quedan unos cuantos comandos por ejecutar y tendremos nuestra propia nube perfecta y funcionando. Con los siguientes comandos descargaremos Owncloud, lo copiaremos en nuestro servidor y lo haremos accesible:

wget download.owncloud.org/community/owncloud-5.0.0.tar.bz2
                sudo tar -xjf owncloud-4.5.1.tar.bz2
                sudo cp -r owncloud /var/www
                sudo chown -R www-data:www-data /var/www/owncloud/
                

Finalmente modificaremos el archivo .htaccess para permitir que el tamaño máximo del archivo cargado sea el mismo que el que pusimos en Php.ini:

sudo nano /var/www/owncloud/.htaccess
                

Configurando Owncloud

Lo primero que vamos a hacer es permitir que el servidor modifique nuestro dispositivo externo modificando los permisos desde el terminal, de la siguiente manera:

sudo chown -R www-data:www-data /media/owncloud
                

Ya hemos llegado al final del tutorial, solo nos queda poner en nuestro navegador la dirección http://NUESTRAIP/owncloud , elegiremos un nombre de usuario y una contraseña y en el apartado Avanzado podemos modificar la localización de nuestro almacenamiento. Pulsa en Finish y ya tendrás tu nube lista, podrás subir tus archivos a tu nueva plataforma.

Para ti
Queremos saber tu opinión. ¡Comenta!