Cómo crear tu propia nube con ownCloud paso a paso

De vez en cuando llega una noticia de que ha habido un fallo de seguridad en [inserte plataforma en la nube aquí] y se han robado cientos de fotos. Ya pasó en su momento con lo de the fappening y más tarde con Snapchat. No se a vosotros pero a mí ya me está cansando confiar en un servicio y luego encontrarme con cosas como estas.

Además, después de ver que la mayoría de servicios en la nube no respetan la privacidad y pueden husmear en los datos de los usuarios, he decidido que nadie va a tener más cuidado con mis datos que yo mismo. Por todo ello, he montado mi propia nube con ownCloud. Ya llevo un tiempo usándolo y de momento me está encantando la experiencia de usuario que ofrecen, así que hoy vengo a mostrar una guía paso a paso sobre cómo montar tu propia nube con ownCloud en un servidor Ubuntu 14.04 (que ofrece más tiempo de soporte que la versión 14.10).

Para los que no lo sepáis aún, ownCloud es una nube con la que se pueden sincronizar archivos, calendario, contactos, notas y más cosas mediante extensiones como por ejemplo los marcadores y datos de firefox con mozilla sync. Es gratis, de código abierto y cuenta con aplicación para Android, iOS y cliente de escritorio para Linux, Windows y Mac OS X. Nota: si usáis la app store f-droid para Android, la aplicación de ownCloud os sale gratis.

Si no tienes un servidor o si quieres experimentar

owncloud

Es muy posible que no tengas tu propio servidor, pero no te preocupes. Aunque ese sea tu caso puedes seguir esta guía haciendo una nube en una máquina virtual con la que podrás experimentar sin miedo a que afecte a tu PC. Para ello recomiendo usar Ubuntu Server 14.04 y la máquina virtual la crearemos mediante VirtualBox con las siquientes preferencias.

  • Nombre y OS: Ubuntu Server > Linux > Ubuntu 64 bit
  • Tamaño de memoria: 512 mb (para pruebas nos sobra)
  • Crear un disco duro virtual ahora
  • Tipo de archivo de unida de disco duro: VDI (VirtualBox Disk Image)
  • Almacenamiento en unidad de disco duro físico: Reservado dinámicamente
  • Ubicación del archivo y tamaño: 8,00 GB (para pruebas no necesitamos más)
  • Por último haremos clic en el botón de configuración e iremos a Configuración > red > conectado a: adaptador puente (aquí la mía es: wlp5s0).

Al iniciar la máquina virtual, seleccionaremos el ISO que hemos descargado de la página de Ubuntu Server y veremos que la instalación es muy sencilla e intuitiva. Solo hay que seguir los pasos y responder a las típicas pregunta de instalación, como la zona horaria, nombre de la máquina, usuario, contraseña… etc. Yo he elegido la opción de instalación llamada guiado utilizar todo el disco y actualizaciones de seguridad automáticas. Por último, nos pregunta por los programas a instalar, pero no vamos a seleccionar ninguno porque vamos a hacer una instalación manual. Por último se instalará el Grub.

Si ya tienes un servidor (o la máquina virtual de antes)

Puede que ya tengas un servidor o que hayas creado una máquina virtual siguiendo la guía del punto anterior. En cualquier caso para nuestra nube, lo primero que haremos será actualizar el sistema y la lista de repositorios.

$ sudo apt-get update
$ sudo apt-get upgrade


Ya dediqué un post a hablar de Fish, mi shell favorita. Su resaltado de comandos viene genial para que podáis ver bien los comandos en las fotos del post, así que os muestro como lo instalo y la hago mi shell por defecto (esto es opcional):

$ sudo apt-get install fish
$ chsh -s /usr/bin/fish
$ fish  (para empezar a usarla ya)


(Opcional) Cómo conectarse al servidor de forma remota

mejores emuladores de terminal para linux

Vamos a instalar openssh para que podamos administrar el servidor desde la terminal de nuestro PC o si sois tan nerds como yo, desde nuestro smartphone. Pondremos el siguiente comando en nuestro servidor:

$ sudo apt-get install openssh-server


Ahora tenemos que saber cual es nuestra dirección ip:

$ hostname -I


  • Si usas Linux. Instala openssh si no lo tienes de la misma forma que antes. Si usas otra distro que no sea Ubuntu busca el programa en tus repositorios.
  • Si usas Windows. Cygwin es una terminal Linux para Windows, al instalarla selecciona el paquete openssh.
  • Si usas Mac puedes administrar el servidor desde tu terminal igual que en Linux, asegúrate de que tienes ssh.
  • Si estás en Android. Usa la aplicación connectbot, es genial y más sencilla de usar imposible.

En cualquiera de los casos anteriores ejecutaremos el siguiente comando:

$ ssh [email protected] (ejemplo -> ssh [email protected])


Nos pedirá la contraseña y ya seremos capaces de administrar el servidor desde nuestro PC o móvil, es decir, hemos entrado a nuestro servidor.

Requisitos de ownCloud

owncloud

Ya sea desde el propio servidor, máquina virtual o de forma remota, antes de hacer nada, hay que instalar unos requisitos para que ownCloud pueda funcionar. Primero un servidor LAMP, al instalar te preguntará por una contraseña para MySQL, no la olvides.

$ sudo apt-get install lamp-server^  (no os olvidéis del ^ final)
$ sudo mysql_secure_installation (nos preguntará unas cosas)


  • change root password? pon n.
  • remove anonymous users? pon y.
  • disallow remote root logins? pon y.
  • remove test database and access to it? pon y.
  • reload privilege tables? pon y.

Instala las siguientes dependencias:

$ sudo apt-get install php5-gd php-xml-parser php5-intl smbclient curl libcurl3 php5-curl


Ahora necesitamos habilitar los módulos de Apache2 mod_rewrite y mod_headers para que ownCloud funcione con normalidad.

$ sudo a2enmod rewrite
$ sudo a2enmod headers


Por último editaremos la configuración de Apache2 para que las normas rewrite de ownCloud funcionen.

$ sudo nano /etc/apache2/apache2.conf


Una vez allí debes bajar buscando una sección llamada <directory /var/www/> en la que sustituiremos AllowOverride None por AllowOverride All, pulsaremos la combinación de teclas Ctrl+x, guardaremos el archivo y reiniciaremos Apache2 para que se carguen los cambios.

$ sudo service apache2 restart


Instalación de ownCloud

instalar-owncloud

Hay que bajar la última versión, extraerla, moverla a la carpeta que le corresponde y darle los permisos adecuados.

$ wget http://download.owncloud.org/community/owncloud-latest.tar.bz2
$ tar -xjf owncloud-latest.tar.bz2
$ sudo mv owncloud /var/www/html/
$ cd /var/www/html/
$ sudo chown -R www-data:www-data owncloud


Ahora vamos a crear la base de datos de ownCloud. Primero entramos a MySQL:

$ mysql -u root -p


Creamos la base de datos:

> CREATE DATABASE owncloud;


Asignamos la base de datos al usuario owncloud con la contraseña (pass) que queráis:

> GRANT ALL ON owncloud.* TO 'owncloud'@'localhost' IDENTIFIED BY 'pass';


Ahora podemos salir escribiendo quit.

Último paso

owncloud

Usaremos nuestro navegador web para entrar al servidor, recordad que la ip se consigue con el comando hostname -I o sino la podemos ver también con ifconfig. Pondremos nuestra ip/owncloud/ en la barra de dirección del navegador que estemos usando:

192.XX.XXX.XXX/owncloud/

Aquí crearemos una cuenta de administrador, dejaremos el directorio de datos tal cual y rellenaremos la configuración de la base de datos de la siguiente manera:

  • owncloud
  • contraseña (de la base de datos)
  • owncloud
  • localhost

Por último, haremos clic en completar la instalación.

owncloud

Nada más entrar nos dará links para instalar las aplicaciones para smartphone y el cliente de escritorio. Con esto ya hemos conseguido crear nuestra propia nube. Ha sido un duro proceso, pero creo que ha merecido la pena para poder ser los auténticos dueños de nuestros datos.

Espero que os haya servido esta guía, yo estoy muy contento con ownCloud y estoy sincronizando archivos, calendario y contactos. He cogido el pack de estudiante de Github y estoy usando los 100$ que te dan para hacer un servidor en DigitalOcean, hasta el momento cuando he pedido soporte técnico han sido de mucha ayuda. Ahora decidme, ¿usáis alguna plataforma en la nube diferente?

Recomendados