La nube perfecta III. Instalación de owncloud.

Comenzamos la serie de post sobre la instalación y configuracion de la “Nube Perfecta”. Hoy trataremos el tema de la instalación y configuracion báscia de owncloud.

Seguimos con la configuración de nuestra nube. Ahora toca el turno a subsonic una excelente herramienta para ver y escuchar en streaming desde cualquier sitio toda tu colección audiovisual.

¿Que es owncloud?

Resumiendo: ¿Conoces dropbox o google drive? Pues es lo mismo pero controlado por ti.

Siendo un poco mas extensos: OwnCloud es un software libre de almacenamiento independiente a la ubicación de los datos. Es un software basado en la nube, como su nombre indica “OwnCloud” (nube propia).

Podemos acceder a nuestra información a través del navegador, o a través de una aplicación cliente disponible para Windows, Osx y Linux, además de para Android e iOs.

Enumerando sus caracteristicas más importantes:

  • Servidor webdav. Acceso a tus archivos vía apache.
  • Gestión de calendarios, citas, reuniones, etc …
  • Gestión de contactos. Puedes almacenar y gestionar tus contactos además de compartirlos.
  • Servidor de música ampache para escuchar y gestionar tu musica. Podras reproducir musica donde quieras desde tu servidor. (A mi personalmente me gusto muchisimo mas subonic, cosa que ya hablare en su entrada correspondiente )
  • Sencillo control de versiones de tu archivos.
  • Posibilidad de crear varios usuarios y compartir archivos en ellos o de manera pública (ideal para compartir fotos o videos con tu amigos de las vacaciones por ejemplo).
  • Clientes para windows, linux, android, ios.

Instalación de Owncloud. Configuración de apache.

Voy a contar la instalación sobre un Ubuntu Server 12.04 LTS y supondre que ya teneis el servidor apache instalado y funcionando.

Lo primero que necesitamos es que Owncloud pueda utilizar los archivos .htacces. Owncloud hace uso de este archivo para configurar parte de su seguridad. Necesitamos activar los modulos rewrite y headers, para ello ejecutamos:

sudo a2enmod rewrite
sudo a2enmod headers

Ahora debemos cambiar el archivo de configuración de apache /etc/apache2/sites-available/default para permitir a owncloud utilizar correctamente los modulos anteriores y reescribir las reglas adecuadamente. Editamos el fichero con nano o el editor que mas os guste:

sudo nano /etc/apache2/sites-available/default

Ahora donde pone :

AllowOverride None

lo sustituimos por:

AllowOverride All

Para que los cambios surtan efecto debemos reiniciar apache:

sudo service apache2 restart

Instalación de Owncloud. Configurar MySQL.

Necesitamos “securizar” la base de datos que utiliza Owncloud. Para ellos utilizamos el comando mysql_secure_installation para que nos guie en el proceso. Tecleamos:

sudo mysql_secure_installation

Te va a ir preguntando una serie de cosas. Asegurate que introduces una contraseña de root, eliminar los usuarios anonimos, deshabilita el acceso root en remoto, elimina la base de datos de test que se instalo en la instalación inicial y cuando te pregunte si quieres recargar la tabla de privilegios responde si “s”

Instalación de Owncloud. Crear una base de datos para owncloud.

Tenemos que crear una base de datos para que owncloud almacene información necesaria para su funcionamiento. Os voy a mostrar como hacerlo con linea de comandos pero podeis hacerlo con el gestos de base de datos que prefirais.

Nos conectamos a la base de datos:

mysql -u root -p

Os pedira la clave de root que pusisteis en el paso anterior. Ahora debemos crear la base de datos:

CREATE DATABASE owncloud;

Creamos un usuario para owncloud, no olvideis cambiar la contraseña en la instrucción donde pone un_passwrod_cualquiera :

GRANT ALL ON owncloud.* TO ‘owncloud’@’localhost’ IDENTIFIED BY ‘un_password_cualquiera’;

Para salir de la conexion utilizais:

quit

 Instalación de Owncloud. Instalación de los paquetes de owncloud.

Instalamos paquete necesarios para owncloud. Si ya teneis instalado apache probablemente ya los tuvieseis.

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

A continuación instalamos owncloud:

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud.list"
sudo apt-get update
sudo apt-get install owncloud

Al finalizar la instalación ya tenemos disponible owncloud en un navegador. A partir de ahora el resto de instalación sera con su asistente web. Tecleamos en un navegador la siguiente direccion, donde xxx.xxx.xxx.xxx es la ip de la maquina donde lo habeis instalado si esta en vuestra red local o el nombre la maquina si teneis un dominio, etc …

http://xxx.xxx.xxx.xxx/owncloud

Si todo ha ido bien deberia salir algo como esto:

owncloud1

Pulsamos en “Avanzado” que esta justo encima del botón “Completar la instalación”. Después de pulsar se abrirá algo como la siguiente imagen:

owncloud2

Seleccionamos “MySQL” y rellenamos los datos de la base de datos que creamos en pasos anteriores. También podemos cambiar el directorio de almacenamiento de owncloud. Si cambiamos el directorio por defecto debemos darle los permisos apropiados para que todo funcione bien. Para ello teclear lo siguiente:

sudo chown -R www-data:www-data /ruta/al/directorio/de/datos/de/owncloud

Después de unos segundos ya tendremos casi terminada la instalación de owncloud. Es recomendable llegados a este punto en el que ya podemos entrar en la interfaz de owncloud asignar una dirección de correo electrónico a la cuenta de administrador para poder recuperar la clave en el caso de que se nos olvide. Además ya podriamos añadir todas las cuentas de usuarios que necesitemos.

 Instalación de Owncloud. Aumentar el tamaño permitido para la subida de archivos.

Ahora debemos editar el fichero php.ini para modificar el tamaño máximo de los ficheros que se pueden subir por apache para ello escribirmos:

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

Buscamos las lineas que especifican los valores para las propiedades upload_max_filesize y post_max_size. Les ponemos el valor que queramos por ejemplo 5 Gigas. Para ello dejamos las lineas asi:

upload_max_filesize=5000M
post_max_size=5000M

Debemos también modificar el .htaccess. Para ellos editamos el fichero .htaccess:

sudo nano /var/www/owncloud/.htaccess

Modificamos las lineas donde se especifica el valor de las propiedades php_value upload_max_filesize, php_value post_max_size, php_value memory_limit. Le pondremos 5 gigas tal y como pusimos antes.

php_value upload_max_filesize 5000M
php_value post_max_size 5000M
php_value memory_limit 5000M
Esta entrada fue publicada en Informática, owncloud, Ubuntu. Guarda el enlace permanente.

26 respuestas a La nube perfecta III. Instalación de owncloud.

  1. David dijo:

    Buenas, yo tengo un Ubunto 10.04 server, he instalado todos los paquetes necesarios, incluso he instalado el owncloud pero no consigo entrar en la pantalla de instalación (entra pero se me queda en blanco)

  2. David dijo:

    Si que me esta funcionando, de hecho es un servidor web que ahora mismo tiene unas 15 paginas en funcionamiento

    • androide1 dijo:

      Pues tendrás que ir haciendo pruebas y descartando. Mira la configuración de apache, como tienes los virtualhost… no se me ocurre mejor cosa para empezar…

  3. David dijo:

    El problema me viene cuando intento entrar en lo ruta http://miWeb.com/owncloud/ que me pone esto, cuando se perfectamente que esta en esa ruta:

    Not Found

    The requested URL /owncloud/ was not found on this server.

    • androide1 dijo:

      Tienes la carpeta owncloud en el path definido en el virtualhost de miweb.com. owncloud por defecto se te metió en /var/www/owncloud… igual el directorio raíz que tienes definido no es ese

  4. David dijo:

    He conseguido instalarlo en la raíz del dominio pero cuando intento instalarlo en la carpeta owncloud, no puedo. Tiene que ser algo del servidor, si alguien sabe como solventarlo que me lo diga

    • androide1 dijo:

      Lo metas donde lo metas da igual. Apunta un virtualhost a esa carpeta y listo… y si no siempre te queda la ñapa de hacer un enlace simbolico de la carpeta owncloud del document root que tengas definido a donde sea que hayas instalado el owncloud.

  5. hola a todos.
    todo va bien, los instale, seleccione la base de datos todo perfecto, pero ahora pongo el nombre de usuario y la password y me dice:
    Not Found

    The requested URL /owncloud/index.php/apps/files/ was not found on this server.

  6. Sergio dijo:

    Hola,
    quería consultar una duda, ¿cuál es el nombre de la tabla donde se almacenan los archivos que subimos a ownCloud?

    Muchas gracias, un saludo.

  7. Juan dijo:

    Hola, Gracias por estos manuales !! Están muy currados!

    He seguido este manual de instalación de owncloud (ya que tenía instalado apache) y todo bien hasta que en el paso de crear un usuario para owncloud, en el comando

    GRANT ALL ON owncloud.* TO ‘owncloud’@’localhost’ IDENTIFIED BY ‘un_password_cualquiera’;

    Me tira este error: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

    podrías especificar el tema de comillas y que hay que sustituir por que ? en ‘owncloud’@’localhost’ sobretodo…

    Gracias y perdón por la torpeza

    • androide1 dijo:

      Las comillas son las comillas simples, es justamente esa que pones la ultima después del cualquiera.

      Sustituir el ‘un_password_cualquiera’ por el password que quieras darle a la base de datos para el usuario owncloud. No lo confundas ni con el password del usuario de owncloud que tu usaras para usar la aplicacion, ni con ningún otro… Es el password con el que owncloud accederá a la base de datos. Fíjate que en los siguientes pasos donde tienes que poner la base de datos tienes que poner esta clave que pones aquí y el usuario owncloud. Usamos como nombre del usuario ‘owncloud’ como podriamos usar ‘pepito’. Imagínate que owncloud es una persona pues le estamos diciendo a la base de datos que se llama owncloud y usara la clave que le pongas. Aqui ‘owncloud@localhost’ es donde elegimos el nombre de esa persona del ejemplo. El @ localhost es para decirle que ese usuario solo puede conectarse desde localhost, es decir, desde la propia maquina, esto es, porque tenemos la instalación de owncloud y la base de datos en la misma maquina.

      El primer owncloud.* es porque la base de datos la hemos llamado owncloud ( podríamos llamarle basededatos_owncloud para quedar mas claro) y el * es porque queremos darle a ese usuario que estamos creando acceso a todas las tablas que contiene la base de datos llamada owncloud.

      Espero haber conseguido aclararte un poco mas el tema.

  8. Juan dijo:

    Woow !! Si, mucho más de lo que “pedia” !! hehehe…..
    Muchas Gracias, la confusión como bien has captado, creo que estaba en que el usuario se llama owncloud, como el programa, y como la base de datos, ahí me he echo el lio, y luego, que si había que poner comillas o no, porque en principio se entiende que no hay que ponerlas, pero he probado convinaciones y convinaciones, y sin éxito… así que he dicho “voy a preguntarle” porque además hay 3 tipos de comillas en el comando… heheh… así que ya no sabía ni que pensar xD

    Creo que me ha quedado claro clarete, voy a probar a ver… Muchas Gracias por la aclaración !! 😉

  9. guillermo dijo:

    Hola,

    estoy llevando la instalación a cabo en mi raspberry pi y fue todo correcto hasta que me salte el paso de pulsar “avanzado” para terminar la instalación. De esta manera no pude poner que mi disco duro conectado a la raspy fuera el directorio de almacenamiento de owncloud. ¿ Cómo hago para modificarlo? Tengo permisos dados y el disco montado en la raspberry.

    • guillermo dijo:

      Edito: He modificado el archivo config.sample.php cambiando en database /var/www/owncloud/data como /media/discoduro/owncloud/data (donde tengo guardado el disco en el servidor) sin cambio alguno. Se os ocurre algo más que no sea ponerlo como almacenamiento externo (taampoco me funciona aunque esto creo que puede ser problema de los permisos.

      Un saludo

  10. Ricardo dijo:

    Buen día.

    Tengo inconvenientes para cambiar el directorio de almacenamiento de OwnCloud. Coloco en terminal
    sudo chown -R www-data:www-data /media/server/SeagateExpansionDrive/owncloud
    (Esa es la ruta de la carpeta en el disco duro externo donde deseo que se almacene todo lo relacionado a OwnCloud)

    Ahora bien, cuando coloco en el navegador http://xxx.xxx.xxx.xxx/owncloud, aparece correctamente la página principal, pero en el campo ‘Data Folder’ por defecto se tiene /var/www/html/owncloud/data
    Lo cambio por media/server/SeagateExpansionDrive/owncloud/data y al hacer clic para entrar, dice un mensaje

    “Can’t create or write into the data directory media/server/SeagateExpansionDrive/owncloud/data”

    ¿Por qué?
    Muchas gracias por tu ayuda.

    • androide1 dijo:

      Con la instruccion que me pones le estas cambiando el dueño a esa carpeta, comprueba que tiene permisos para escribir tambien

      • Ricardo dijo:

        ¿Y cómo se hace esa comprobación de permisos para escribir?

        Coloqué esa instrucción porque en el post explicas que
        “Si cambiamos el directorio por defecto debemos darle los permisos apropiados para que todo funcione bien. Para ello teclear lo siguiente:
        sudo chown -R www-data:www-data /ruta/al/directorio/de/datos/de/owncloud”

        Porque he leído que cambiando el archivo de configuración, pero me dice que no puedo editarlo.

        Gracias, androide1

        • androide1 dijo:

          Seria algo como sudo chmod 744 -r /server/SeagateExpansionDrive/owncloud/

          Asi le damos permisos de todo al dueño y al resto solo de lectura.

          Ese directorio es un disco duro usb o algo similar que estas montando? Asegurate que se puede escribir en él, revisa el fstab (el archivo donde se configuran las opciones de montaje de los discos), y segundo lo de los permisos que te pongo.

  11. Ricardo dijo:

    Ok. Pero al usar chmod, ¿no doy permisos sobre el archivo? En este caso colocaste la ruta, ¿también se puede?

    Muchas gracias, en verdad, por esos puntos.

    Lo hago y te comento, androide1.

  12. empezare a hecharle un ojo ahora ya!!

  13. Jessica Cabrera dijo:

    Buenas tardes,
    Ayuda por favor necesito saber para que funcione correctamente, cuales son los requisitos que debe tener el servidor
    respecto a memoria y procesador.
    ????

  14. angel dijo:

    hola buenas tardes e podido instalar owncloud y configurarlo pero haora quisiera publicarlo en internet ya me registre en no-ip ya instale el cliente para linux estoy utilizando ubuntu server y lo que no se es endonde coloco el dns que puse en la cuenta de no-ip me podran ayudar porfas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *