Owncloud – Montar nuestro propio servidor en la nube

Owncloud es un software open source bajo licencia AGPL que permite crear un servidor en la nube. Lejos de lo que pueda parecer, crear y administrar nuestro propio servidor y disponer de él en la nube es muy sencillo.

A estas alturas a todos nos suenan términos como “cloud computing” y “servidor en la nube” y la mayoría de nosotros utilizamos los servicios de alguno de ellos como p.ej. UbuntuOne, DropBox, SpiderOak, Sugar Sync, Google Drive, etc. Basta con crear una cuenta en uno de estos servicios y ya disponemos de un espacio en el que almacenar nuestros archivos; En cualquier momento podemos acceder a ellos desde un ordenador que disponga de conexión a internet.

No obstante, el espacio disponible aunque gratuito es muy limitado y si trabajamos en serio nos resulta insuficiente. Cierto es que podemos contratar espacio adicional pero esto ya nos supone un coste económico. Además la confidencialidad de nuestros datos y de nuestros archivos está supeditada a la “honestidad” de las empresas que ofrecen este tipo de servicios.

Owncloud nos permite crear un servidor y conectarlo a internet, de una manera sencilla. Además seremos nosotros quienes lo administraremos controlando el acceso a la información almacenada. Podemos contratar un hosting e instalar owncloud, pero también podemos instalarlo en un ordenador propio. De esta forma eliminamos las limitaciones en cuanto a capacidad ya que dispondremos de todo el espacio libre que tengamos en el disco duro.

owncloud trae activado por defecto soporte para WebDAV con el que podemos conectarnos a nuestra nube desde un explorador de archivos y desde un navegador web; también dispone de CalDAV para sincronizar el calendario, CardDAV para gestionar nuestra agenda de contactos y Ampache con el que podremos hacer streaming de audio y vídeo.

Algunas de sus principales características son,

  • Sencilla interfaz web
  • Acceso a tus archivos mediante WebDAV
  • Compartir archivos a usuarios y no usuarios de OwnCloud
  • Visor de archivos PDF
  • Calendario/Agenda
  • Gestión de contactos
  • Reproductor de música integrado
  • Una galería donde podrás visualizar tus imágenes
  • Un sencillo editor de textos

Owncloud necesita para trabajar soporte Apache2, php5.

Podemos instalar estas aplicaciones, así como las dependencias necesarias, tal como se indica en su web, o bien utilizar XAMPP (X-multiplataforma, Apache, MySQL, PHP, Perl). Como yo ya tengo instalado XAMPP, ya que lo utilizo para gestionar mis bases de datos MySQL y blogs, voy a utilizarlo también para dar soporte a owncloud.

Consultar el  artículo  Instalar XAMPP (servidor web) en linux 

 

PASOS A SEGUIR

1.- ARRANCAMOS XAMPP

2.- DESCARGAMOS E INSTALAMOS OWNCLOUD EN UBUNTU

3.- CONCLUIMOS LA INSTALACIÓN OWNCLOUD

4.- CARACTERÍSTICAS DE OWNCLOUD

5.- ACCESO A NUESTRO SERVIDOR DESDE INTERNET

6.- ACTUALIZAR OWNCLOUD

===================================================

 

1.- ARRANCAMOS XAMPP

Nos aseguramos de que XAMPP esté en funcionamiento. Si lo utilizamos de manera habitual es posible que ya lo tengamos configurado para que se inicie con el arranque del Sistema. Consultar el artículo  Arrancar/detener XAMPP desde terminal, el panel de control XAMPP, o automáticamente al iniciar Linux

 

2.- DESCARGAMOS E INSTALAMOS OWNCLOUD EN UBUNTU

El programa está disponible para diversas distribuciones Linux, entre ellas Ubuntu, así como para otras plataformas. Ubuntu dispone de una versión estable en sus repositorios, pero dado que no proporciona actualizaciones para el mismo, yo prefiero descargar la última versión estable de la página  web de la aplicación.

2.1- Descargamos el paquete para instalación.

En el momento de la publicación de este artículo la versión liberada es owncloud-4.0.0.tar.bz2

2.2- Nos vamos a una terminal, nos desplazamos a la carpeta donde lo hemos descargado y descomprimimos el archivo en la carpeta destino (carpeta dentro del directorio XAMPP): /opt/lampp/htdocs 

sudo tar -xvf owncloud-4.0.0.tar.bz2 -C /opt/lampp/htdocs 

2.3- Identificamos a nuestro usuario en Ubuntu como propietario de la carpeta owncloud y su contenido.

sudo chown -R    MiUsuarioUbuntu:www-data  /opt/lampp/htdocs/owncloud

 

3.- CONCLUIMOS LA INSTALACIÓN OWNCLOUD
Desde la barra de direcciones de un navegador web tecleamos:

http://localhost/owncloud (si accedemos desde el ordenador donde está instalado owncloud)

http://url.del.servidor/owncloud (si accedemos desde otro ordenador de la red)

—– Editado 06/04/2013 ————————————————————————————–

Si al acceder se muestra el siguiente mensaje:

OwnCloud error
Es un tema de permisos sobre el directorio de instalación de Owncloud. Nos vamos a una terminal y tecleamos,

sudo chmod 777 -R  /opt/lampp/htdocs/owncloud

———————————————————————————————————————-

Se nos muestra la interfaz que permite seguir con la instalación…

Proporcionamos un nombre y una contraseña para la cuenta de administrador del servidor.

 

Owncloud permite trabajar con bases de datos SQLite, MySQL y PostgreSQL:

♦ Base de datos SQLite

Para las instalaciones básicas, desde la web de owncloud recomiendan «SQLite, ya que es fácil de instalar (ownCloud lo hará por nosotros). Para las grandes instalaciones puedes usar MySQL o PostgreSQL», en cuyo caso haríamos clic en “Completar la instalación”. La base de datos del servidor se crea en la carpeta  /owncloud/data

 

♦ Base de datos MySQL

Tanto para MySQL como para PostgreSQL demos introducir ciertos parámetros de configuración. Yo he optado por utilizar una base de datos MySQL que podré gestionar desde XAMPP si lo deseo. Para ello hacemos clic en “opciones avanzadas” y se nos muestras las opciones de configuración.

Introducimos un “nombre para la base de datos“; El “usuario” y su “contraseña para la base de datos MySQL” deben existir previamente. En mi caso ya estoy registrado como usuario en MYSQL (Greiscool) desde el que gestiono mi blog de wordpress en local. En caso contrario accederíamos desde XAMPP a MySQL y daríamos de alta un usuario y contraseña que luego utilizaríamos para la instalación de owncloud.

Finalmente pulsamos el botón “Completar la instalación“.

Y con esto ya tenemos instalado nuestro servidor.

Como curiosidad, ya que este no es el objetivo del artículo, si ahora nos vamos a MySQL vemos que existe una nueva base de datos “owncloudDB”.

Haciendo click en “Comprobar los privilegios” podemos ver podemos comprobar que aparece el usuario “oc_AdminOwncloud” que es como queda registrado “AdminOwncloud” en MySQL el cual hemos elegido como administrador de owncloud. Yendo más alla, haciendo clic en el menú general  Más ->privilegios  comprobamos que, a nivel global de MySQL, sólo tiene privilegios de uso (Usage), aunque podemos editarlo y modificar privilegios, contraseña, otorgarle acceso a otras bases de datos, etc., como cualquier otro usuario creado directamente en MySQL.

4.- UN PASEO POR LAS CARACTERÍSTICAS DE OWNCLOUD

Una vez dentro del servidor vemos las opciones que ofrece:

♦ Archivos: Mediante el botón “Nuevo”, podemos subir archivos al servidor. Pasando el puntero del ratón sobre un archivo se muestran las opciones de descarga, renombrarlo, compartirlo, etc. Y haciendo clic sobre ellos se muestran (archivos de texto e imágenes), se reproducen (archivos de audio y vídeo).

♦ Música: Dispone de un sencillo reproductor.

♦ Calendario: Gestión de calendarios, eventos.

♦ Contactos: Configuración de agendas, gestión de contactos

♦ Imágenes: Gestión de imágenes.

 

Haciendo clic en el icono con forma de engranaje (en esta versión está situado en el extremo inferior izquierdo de la ventana) tenemos acceso a las siguientes opciones de configuración:

• Personal: cambio de contraseña, configuración de idioma, formato de fecha y hora, email, etc.

• Usuarios: gestión de usuarios y grupos.

• Aplicaciones: acceso a las aplicaciones instaladas por defecto en el servidor, y a nuevas aplicaciones que podemos instalar.

• Administrador: configuración de diversos parámetros de administración del servidor.

• Ayuda.

 

Cuando un usuario registrado accede al servidor únicamente tendrá acceso a “Personal” y “Ayuda”.

También están disponibles  clientes de escritorio  para diversas plataformas (Linux, Mac, Window$, así como los archivos fuente que podemos descargar y compilar para nuestro sistema. Próximamente habrá cliente para móviles).

 

5.- ACCESO A NUESTRO SERVIDOR DESDE INTERNET

Para poder acceder a nuestro servidor owncloud desde cualquier ordenador conectado a internet, debemos conocer la IP. El problema suele producirse si no disponemos de una IP fija. Lo normal es que nuestra IP sea dinámica, es decir, cambia cada vez que el router se reinicia, se conecta a internet, etc. Esto es bueno ya una persona especialmente interesada en atacarnos (llamémosle hacker) lo tiene más difícil al desconocer nuestra “puerta de entrada”. Pero en el caso que nos ocupa esto es un inconveniente ya que necesitamos poder localizar la IP de nuestro servidor con independencia de cual sea en ese momento. Para asegurar esto podemos utilizar un servicio de DNS dinámico como el que proporciona de manera gratuita  No-IP.

En el caso de No-IP, nos damos de alta en el servicio y este nos permite acceder a nuestro servidor owncloud desde un navegador web con una URL del tipo siguiente:

http://nombre_elegido.no-ip.org/owncloud

De esta forma no importa las veces que cambie la IP pública del servidor ya que esta se hace transparente a los usuarios, los cuales se conectarán a través de la url anterior.

 

Veamos los pasos para establecer la conexión:

1) Identificamos la IP del PC en el que tenemos el servidor owncloud.

Cada equipo conectado a un router tiene asignada una IP que le identifica en la red local. En Ubuntu, hacemos clic en el icono de conexión a internet. Hacemos clic en Información de la Conexión. Los datos que nos interesan son:

Dirección IP: es la dirección que identifica a este equipo en la red.

Ruta predeterminada: dirección que nos permite entrar en la configuración de nuestro router.

2) Entramos en la configuración de nuestro router, nos desplazamos al apartado de configuración NAT y  redireccionamos el puerto de entrada a la IP que identificamos en el punto 1. El puerto por defecto para el servidor web es el “80”, pero es posible que lo tengamos ocupado con algún servicio, o que esté reservado por otro equipo de nuestra red local, en este caso debemos elegir otro.

3)  Nos logueamos en NO-IP y configuramos los parámetros del host: Si nos conectamos desde el PC en el que hemos instalado el servidor owncloud, la IP del host es identificada automáticamente y basta con actualizar los datos. Si el puerto es diferente al “80” lo indicaremos como parámetro y luego actualizamos los datos.

4) Si tenemos firewall instalado en nuestro Sistema comprobamos que no nos bloquee el puerto.

NO-IP nos permite configurar hasta 3 host en su versión gratuita. Además pone a nuestra disposición para descarga un cliente (Linux, MAC y Window$) que podemos instalar para mantener actualizado el host de manera automática, cada vez que se produzcan cambios en la IP.

Ahora cualquier usuario de nuestro servidor podrá acceder a su cuenta desde cualquier equipo conectado a internet.

 

6.- ACTUALIZAR OWNCLOUD

Según la información proporcionada en la web de Owncloud: Para actualizar OwnCloud, basta con reemplazar los archivos con el nuevo conjunto de la descarga, manteniendo las carpetas “config” y “data” para preservar nuestros datos.

Web del proyecto

Publicado el 6 junio, 2012 en Linux, Ubuntu, Web y redes y etiquetado en , , , , , , , , , , , . Guarda el enlace permanente. 26 comentarios.

  1. Hola Me da un pantallazo que dice PHP module zip not installed. Lo activo desde php.ini y al ejecutar la instalación sale como para descargar un archivo phtml…¿Sabes que puede ser? Uso ubuntu 12.04 el ultimo xampp y owncloud a día de hoy.

    • Es debido a que en las últimas versiones de XAMPP falta el módulo ZIP. Descárgate la 1.7.7, es la última que he podido comprobar que dispone de dicho módulo. Lo que has intentado, activando la extensión ‘zip’ en el modulo php.ini, te lleva al resultado que has obtenido.
      Puedes encontrar todas las versiones de XAMPP en sourceforge. Te dejo el enlace:
      Versiones de XAMPP ; a las posteriores a la 1.7.7 (al menos por el momento) les falta el módulo ‘ZIP’ necesario para arrancar Owncloud.

  2. Hola eh seguido tu tutorial el mejor que he visto hasta ahora pero eh tenido dos problemas a la hora de entrar a http://localhost/owncloud el primero lo contestaste en la respuesta anterior instale el xampp 1.7.7 y todo bien me quite ese error el segundo es este que me aparece
    “Can’t create data directory (/opt/lampp/htdocs/owncloud/data)

    You can usually fix this by giving the webserver write access to the ownCloud directory ‘/opt/lampp/htdocs/owncloud’ (in a terminal, use the command ‘chown -R www-data:www-data /path/to/your/owncloud/install/data’ ”

    Lo que hice fue cambiar los comandos que dijiste en ese paso por

    sudo tar -xvf owncloud-4.0.0.tar.bz2 -C /opt/lampp/htdocs/owncloud

    despues

    chown -R www-data:www-data /path/to/your/owncloud/install/data
    //utilice www-data y luego lo intente con mi nombre de usuario

    Entre a la pagina y un desastre que formatie de nuevo la pc mejor para hacerlo de nuevo en limpio.

    ademas de eso puse arrancar XAMPP al iniciar Ubuntu de la forma en que lo pusiste y tambien lo intente ejecutando el comando sudo chmod +x /etc/rc.local para dar permiso de ejecucion.

    Eh googleado lo que me da owncloud pero no encuentro nada
    espero que puedas ayudarme de antemano Gracias!

    • Hola juan. Yo también me he encontrado con este error en alguna ocasión (es curioso porque sólo en algunas versiones de Owncloud). La solución es muy sencilla, es un tema de permisos en el acceso a los archivos del directorio Owncloud, basta con ir a una terminal y teclear,
      sudo chmod 777 -R /opt/lampp/htdocs/owncloud

      (voy a editar el artículo para indicar la solución ante la aparición de este error)

      Un saludo.

    • He descubierto que Owncloud se configura con bastante mas facilidad si se instala Apache 2, php (y lo que se necesite. Ver pagina del autor de Owncloud) de forma nativa desde la distribución linux que useis (repositorios). No se el motivo pero en xampp (lammp) me dio bastante guerra, sobre todo en la instalación. Ahora lo tengo funcionando en Ubuntu 12.04 y va de maravilla.

      • Owncloud ha ido evolucionando, en las primeras versiones la instalación sobre apache2 nativo resultaba complicado, incluso instalando los diferentes componentes que se indicaban en la web de Owcloud lanzaba muchos errores de dependencias. Seguramente ahora resultará más sencilla la instalación, pero hay que tener en cuenta detalles como p.ej. la base de datos con la que vaya a trabajar, SQLite, MySQL o PosgreSQL. Si se elije SQLite el propio Owncloud realiza todo el trabajo y en este caso no notaremos diferencia entre trabajar sobre Apache2 o sobre XAMPP. Para cualquiera de las otras ya es necesaria una cierta preparación. Aquí es donde XAMPP proporciona una GUI/interface (el ejemplo desarrollado en el artículo) que sin duda resulta cómoda sobre todo a un usuario novel. Por el contrario, si se instala sobre Apache2, PHP,… debe procederse desde la terminal y esto ya resulta algo más tedioso.
        También por supuesto podemos instalar owcloud desde el Centro de Software: No se en que situación se encuentra en estos momentos, unas versiones atrás este método resultaba un incordio.
        Cómo vemos, disponemos de diferentes caminos para su instalación, cada usuario puede elegir el que más le convenga/convenza/apetezca.

  3. Hola me parece muy completo el tuto ya tengo el servidor andando localmente pero tengo un problema no puedo acceder desde internet yo poseo una ip publica estática,
    ya configure en router la redireccion del puerto 80 y el router me dice que lo redirecciona a 80:80 y con la ip-publica:8080/owncloud no puedo acceder al servicio, también tengo un subdominio en no-ip en donde declaro en la parte de de
    host type: Port 80 Redirec
    y la ip publica y el puerto 8080
    y cuando intento entrar por nombre-del-subdominio:8080/owncloud no puedo
    quizás tu sepas que sucede te agradecería que me ayudaras gracias

    • Hola joseph. Si tienes IP fija ya no necesitas utilizar no-ip, basta con que redirecciones el puerto en el router. Te conectas de la siguiente manera:

      http://tu_ip_publica/owncloud

      Si utilizas no-ip:

      http://nombre_elegido.no-ip.org/owncloud

      Así sin más, no necesitas indicar el puerto en la conexión, ya lo has redireccionado en el router.
      Comprueba también que el cortafuegos no se esté bloqueando la conexión. Si fuese este el caso configura en el mismo una regla que te la abra el puerto para entrada/salida.

      Un saludo.

      • Gracias por tu respuesta🙂 pero sigo sin tener acceso desde internet, partiendo de que tengo acceso a owncloud desde mi computador pero no desde internet que podría estar haciendo mal. la redireccion del puerto en el router? tambien tengo una regla para ssh puerto 22 redirigido al 2222 y este servicio si anda perfectamente y la regla para el puerto 80 la cree que de igual forma.
        alguna idea?

        • Sólo se me ocurre que te hayas equivocado en el redireccionamiento. Cada router es distinto y tienen su propio formulario de configuración NAT, pero básicamente todo se reduce a decirle que, las peticiones a una determinada IP (publica) que lleguen por un puerto (del router), se dirijan a un puerto determinado en un equipo (es decir a la ip del equipo en la red local).
          Comprueba también que el cortafuegos no te esté bloqueando el puerto.

        • oye amigo ya esta gracias por toda tu ayuda era una falla en la redirección en el router

  4. se me olvidaba no debo configurar el archivo /etc/host si lo debo hacer como lo hago tambien tengo configurado con base de datos mysql

  5. hola otra vez me gusto mucho tu tutorial y me gustaría compartir parte de tu información en Taringa, me darias tu permiso? en las fuentes te citaria y citaria tu blog y lo compartiria con la misma licencia de creative commons, algo mas si tu quieres?

  6. Exelente tuto!!, pero tengo un problema al querer compartir un link por mail, el link que genera hace referencia a la URL local y no a la publica, se entiende?

    • Hola Marcelo. Sí entiendo lo que me dices. Cuando generas un enlace para compartir te muestra algo como esto
      http://localhost/owncloud/public.php?service=files&t=eb578c331b999ed3ac56133e4d9da867

      Cuando inicias Owncloud, en la barra de direcciones del navegador te aparece como http://localhost/owncloud/?app=files
      Haz lo siguiente: sustituye localhost por tu IP pública, es decir, inícialo como http://TU_IP_PÚBLICA/owncloud/?app=files
      y genera de nuevo el enlace a compartir.

  7. Hola greiscool tiempo sin pasar por aca resulta que pude instalar mi nube hace mucho tiempo ya.Lo he hecho mil veces e incluso e instalado a otros companeros pero tengo una duda que me inquita bastante la cual es a la hora de que instalamos xampp en el primer comentario mencionas que la version a utilizar es la 1.7.7 la cual es la que he utilizado todas las veces solo por cuestiones de curiosidad podemos utilizar las versiones mas recientes? te pregunto esto para darle vida a esta publicacion y siempre tratar de tener lo mas nuevo bueno espero tu respuesta gracias

    • Hola Juan.
      Para poder responderte necesito comprobarlo. He estado ojeando las nuevas versiones de XAMPP y de Owncloud… y veo que ha habido cambios sustanciales. Empezando por XAMPP, que ahora dispone de un instalador (paquete con extensión .run), lo que hace que los pasos para su instalación, en principio, difieran de los que se explican en el artículo.
      En estos momentos estoy bastante liado y no encuentro tiempo para hacer las pruebas necesarias, pero en cuanto pueda instalaré las nuevas versiones de XAMPP y OWNCLOUD. Si veo que los cambios son importantes publicaré un nuevo artículo
      Un saludo.

  8. Esta bien, estare al pendiente de tu blog.Creo que es un muy buen articulo y se debe de estar actualizando de vez en cuando jeje. espero poder contribuir con algo pronto, de antemano muchas gracias un saludo greiscool

    • Hola Juan.
      Al fin he podido sacar un poco de tiempo…
      Como te decía en el comentario anterior, ahora XAMPP dispone de un instalador. El último paquete a día de hoy (xampp-linux-1.8.3-4-installer.run para SO de 32 bits ó xampp-linux-x64-1.8.3-4-installer para SO de 64 bits), me han permitido instalar el servidor Owncloud (versión a día de hoy: owncloud-7.0.1.tar.bz2) siguiendo las mismas directrices que detallo en este artículo, sin problema.

      Cómo los cambios en la instalación de XAMPP son mínimos (apenas un par de líneas, para explicar como se lleva a cabo con el instalador) voy a actualizar aquel artículo.

      Por si fuese de tu interés y de cualquier lector del blog, estoy preparando un nuevo artículo en el que detallo como instalar el Servidor Owncloud sin utilizar XAMPP, sino instalando directamente Apache2, MySQL, PHP,…

      Un saludo.

  9. Abraham Villaraux

    Saludo, creo que deberias de aclarar la diferencia entre un servicio cloud y un script que tiene la palabra cloud en su nombre, ya que los servicios cloud son estables, o almenos mas estables que un unico servidor en internet, que es lo que propone el script, en realidad solo por el nombre suena bonito, pero no debe de confundir a las personas el termino ni el uso del script, si un proveedor de servicio cloud tiene problema en un servidor, tiene muchos otros que permitiran la permanencia del servicio en internet, caso contrario de este script que si lo montas en un hosting normal, es como comprar un hosting con cPanel, el cual te da acceso ftp y tambien muchos de ellos incluyen soporte para WebDav, es mi humilde opinion, se que el post es viejo, pero era una idea que queria compartir.

    • Hola Abraham. El artículo no pretende confundir a nadie, sólo trata de ofrecer a cualquiera la posibilidad de “con un equipo que tenga en casa” montar su propio servidor y colgarlo en internet, por supuesto para su uso personal, familiar, amigos, etc… nunca con el objetivo de ofrecer un servicio profesional; para esto último, como bién dices, lo recomendable es contratar un servicio a un proveedor, el cual debe garantizarnos que los datos que alojemos en él van a estar seguros, siempre accesibles, protejidos contra fallos, etc.
      No entiendo a que te refieres con “… caso contrario de este script que si lo montas en un hosting normal, es como comprar un hosting con cPanel…”. Los servicios de hosting profesionales proporcionan (al menos los que son serios sí lo hacen) todo ésto que comento, además de proporcionar acceso FTP, Webdav, etc,… así como un entorno que permita al usuario configurarlo de una manera sencilla (como es el caso de los que incluyen cPanel).

      Pero como comentaba, esto és lo que és, “una manera sencilla” de que cualquier usuario, con un equipo modesto pueda montar su propio servidor, colgarlo en internet, ver sus posibilidades,….a partir de ahí queda todo un mundo por explorar.
      Un saludo.

      • Abraham Villaraux

        Perdon no quise parecer pesado al comentar, es un excelente post, a lo que me referia con cPanel es que si tu contratas un hosting con panel de control cPanel puedes ocupar tu hosting como un disco virtual ya que la mayoria incluye WebDav, solo como respaldo claro esta, porque no tiene mayores funciones, y nuevamente lamento el malentendido.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s