Nextcloud en la Raspberry Pi con PHP 7 y MariaDB (5). Instalación de Nextcloud

Actualizado el 15/11/17 a la versión 12.0.3

El siguiente paso es, por fin, instalar Nextcloud en nuestra Raspberry. Es un paso más sencillo que los anteriores, paradójicamente. Pero aun así, vamos con ello. Lo mejor en este paso es entrar a la Raspberry desde otro ordenador con SSH.

En PuTTY o el terminal, entramos en la Raspberry y nos dirigimos a la carpeta raíz del servidor web, que es una carpeta de sistema, está protegida contra escritura  y el usuario ‘pi’ no puede hacer nada en ella, a no ser que tome privilegios de superusuario. Es decir, todo lo que hagamos aquí deberemos hacerlo empezando las órdenes con ‘sudo’. La carpeta es /var/www/html.

cd /var/www/html
ls

La segunda orden lista el contenido de la carpeta. Veremos uno o dos archivos si hemos ido siguiendo las instrucciones de esta serie de entradas: index.html, que es el archivo de inicio de Apache, e info.php, el archivo que podemos haber creado en una entrada anterior para comprobar el buen funcionamiento de PHP. En realidad, no es una idea especialmente buena tener estos archivos porque pueden dar información a posibles atacantes, por lo que podemos querer borrarlos.

Directorio /var/www/html

Ojo con este paso, que la herramienta de borrado es muy potente y si nos equivocamos podemos llegar a borrar todo el disco duro. En la siguiente orden, la parte de ./ indica que solo se tiene en cuenta el directorio en el que estamos:

sudo rm ./index.html

sudo rm ./info.php

Y nos queda un directorio en blanco. Si abrimos ahora la dirección de la Raspberry en un navegador saldrá una página diferente. Bien, pues vamos a llenarla con nuestro Nextcloud.  Para encontrar la última versión  (ahora mismo la 12.0.3), vamos a http://www.nextcloud.com/install, pulsamos el botón azul ‘Download’ y en la siguiente pantalla vamos de nuevo al botón azul pero lo pulsamos con el botón derecho y seleccionamos la opción de copiar el enlace al portapapeles.

La versión ha cambiado, pero el botón es el mismo: ‘Download Nextcloud’

Para descargar Nextcloud, vamos al terminal SSH, e indicamos que vamos a descargar ese archivo. Escribimos la orden wget y pegamos la URL que acabamos de copiar con MAYS + Ins:

sudo wget https://download.nextcloud.com/server/releases/nextcloud-12.0.3.zip

(Hace falta sudo porque la carpeta es del administrador) Tras descargarse, tenemos un archivo comprimido en zip. Para descomprimirlo, debemos hacer lo siguiente:

sudo unzip nextcloud-11.0.2.zip

Cambiando el nombre, claro, dependiendo del archivo que nos hayamos descargado Esto nos creará una carpeta llamada ‘nextcloud’ con los archivos necesarios. Pero hay que tener en cuenta una cosa importante sobre los permisos y las cuentas de usuario en Linux.

En Linux los usuarios tienen una importancia mayor que en Windows, donde normalmente utilizamos un solo usuario para todo. Sin embargo, en Linux se usan mucho más. En concreto, el servidor web Apache utiliza un usuario diferente para sus tareas, que se llama, en Raspbian, ‘www-data’. Como hemos usado privilegios de superusuario para descargar y descomprimir Nextcloud, el propietario de los archivos no es www-data sino el superusuario, ‘root’. Debemos cambiar esto para no tener problemas.

Para cambiar los permisos de archivo, usamos la siguiente orden:

sudo chown -R www-data:www-data nextcloud

Es decir, con permisos de superusuario, cambiamos la propiedad [change ownership] de todos los contenidos [-R] al usuario ‘www-data’ que pertenece al grupo ‘www-data’ para la carpeta ‘nube’.

Una vez hecho esto, se me ocurren tres opciones:

  1. SI no vamos a instalar más cosas y servidores, lo mejor es mover los contenidos de ‘nextcloud’ a ‘/var/www/html’, para que al escribir la dirección 192.168.XX.XX salga directamente la nube.
  2. Si queremos instalar más cosas, lo podemos dejar tal cual.
  3. Si queremos instalar más cosas, también tenemos la opción de cambiar el nombre de la carpeta para que sea más fácil de escribir y recordar. Como se podrá ver en mis capturas, es la opción que he llevado a cabo yo, cambiando ‘nextcloud’ por ‘nube’.

Para llevar a cabo estas opciones, estos son los comandos necesarios:

  1. sudo mv nextcloud/*.* ../*.* (mover todos los archivos dentro de ‘nextcloud’ al directorio superior)
  2. No hay que hacer nada, evidentemente.
  3. sudo mv nextcloud nube (mover la carpeta nextcloud’ a la carpeta ‘nube’)

Ahora ya podemos borrar el archivo .zip. Si no lo hacemos, Nextcloud nos dará un mensaje de advertencia que puede ser molesto. Lo hacemos con el comando
sudo rm./nextcloud-12.0.3.zip.

A partir de este paso, ya podemos trabajar en el navegador, entrando en la dirección adecuada. Según la opción que hayamos escogido de las tres, será:

  1. http://192.168.XX.XX
  2. http://192.168.XX.XX/nextcloud
  3. http://192.168.XX.XX/nube

Como mi opción es la 3, he ido a esa dirección y veo esto:nextcloud-mozilla-firefox_051

Este es el momento en que podemos escoger nuestro nombre de usuario y la contraseña que nos dé la gana. Luego podremos crear más cuentas de usuario si queremos. Pero más importante que el usuario y contraseña es la información siguiente.

El segundo recuadro blanco nos pregunta dónde queremos guardar los archivos que subamos a nuestra nube. Es importante cambiar el directorio que aparece por defecto, porque está en la tarjeta SD y, aparte de que lo llenaríamos en seguida, si la tarjeta se estropea perderíamos la información. Para evitar este problema era la cuarta entrada de la serie. Como se puede ver, he señalado la carpeta /media/Vir/nube. Si el disco duro no lo vamos a usar para nada más, no haría falta el último directorio pero al crear esta subcarpeta la raíz del disco duro queda  más ordenada. (por cierto que, si quieres hacer algo así, deberás crear la carpeta con sudo mkdir /media/Vir/nube y darle los permisos al usuario del servidor con sudo chown -R www-data:www-data /media/Vir/nube).

La advertencia que hay en el centro de la página es sobre los tipos de bases de datos. Nos avisa de que solo puede utilizarse una base de datos MySQL o MariaDB. Como esta última es la que hemos instalado y creado, no hay problema, así que en el último recuadro blanco podemos añadir el nombre de la base de datos y del usuario (será el mismo si hemos seguido el tutorial) y la contraseña que creamos en su momento. La última casilla podemos dejarla con ‘localhost’.

Si hemos introducido bien todos los datos, tardará un ratito (está creando los archivos y carpetas necesarios para el nuevo usuario) y nos saldrá una pantalla de bienvenida:

seleccion_054

No la cierres directamente. Tienes ahí enlaces para descargar los clientes de escritorio (el primer botón negro, para Ubuntu el proceso es algo más complicado pero para Windows es muy fácil) y móviles (los otros dos botones, dependiendo de si usas Android o iPhone). Yo el cliente de Android lo he descargado de F-Droid, que es una appstore alternativa que solo ofrece software libre.

Antes, Nextcloud aparecía por defecto en inglés. Ahora no debería ser el caso, pero si te ocurriera, es probable que quieras ponerlo en español. Para ello, pulsamos en nuestro nombre de usuario que aparece arriba a la derecha y seleccionamos ‘Administración’. En la pantalla que aparece, podemos cambiar el idioma como se ve en la siguiente imagen.

También hay enlaces sobre cómo usar nuestra flamante nube para, además de los archivos y documentos que queramos, almacenar nuestro calendario, nuestras tareas, nuestros contactos… Cuando la cerramos, veremos que tenemos algunas carpetas y documentos de ejemplo.

archivos-nextcloud-chromium_053

Y ya podemos decir que tenemos nuestra propia nube. Pero ¿cómo acceder a ella desde fuera de casa? Si lo intentáramos, veríamos que la dirección 192.168… no funciona. Ese será el contenido de la siguiente entrada.

6 comentarios

2 pings

Ir al formulario de comentarios

  1. Ante todo enhorabuena por los elaborados tutoriales.
    Tengo un problema en este apartado al montar mi nextcloud.
    Monto mi disco en /media/disco/nube pero toma los permisos 777 al reiniciar la raspberry.
    Cuando efectúo la instalación de nextcloud y pongo en marcha: http://mi_ip/nube, sale un aviso de nextcloud diciendo que el directorio de datos que he puesto no tiene los permisos 0770 y por lo tanto no sigue la instalación.
    No se si me he explicado bien pero no me deja avanzar.
    Alguna sugerencia?

    1. Tiempo después, se me ha ocurrido una posibilidad: quizás el problema no esté en los permisos de /media/disco/nube, sino en los de una subcarpeta dentro de ese disco.

  2. Me encuentro en la misma posición que miguelns21, he realizado correctamente el chown y el disco lo he montado con mount

    ¿Como puedo solucionar el error «El directorio de datos (/media/DATOS) se puede leer por otros usuarios. Por favor cambie los permisos a 0770 para que el directorio no se pueda mostrar para otros usuarios.»?

    Un saludo:
    Eric

    1. Hola, Eric (y Xero): por lo poco que sé de los permisos de Unix, lo que tienes que hacer es más o menos lo que comenta Pablo más abajo:
      sudo chown www-data:www-data /media/DATOS
      sudo chmod 770 /media/DATOS

      Con lo primero nos aseguramos de que el propietaro dle directorio es el usuario de Apache y con lo segundo impedimos que otros usuarios puedan leerlo.

  3. Primero agradecerte los tutoriales como los demás.
    Otro con el mismo problema, a ver si nos arrojas algo de luz.

    Un saludo,

    Pd: se me ha colado comentario en otro post.

  4. Para resolver el problema de los permisos 0770, es necesario instalar el ntfs-3g y montar el disco con el.

    apt-get install ntfs-3g

    Luego en el fstab al montar el disco externo, por ejemplo:

    «/dev/sdb1 /mnt/Mydisco ntfs-3g defaults,auto,rw,permissions 0 0»

    cambiar los permisos y el usuario del disco:

    sudo chmod 775 /mnt/Mydisco
    sudo chown -R www-data:www-data /mnt/Mydisco

    Con eso a mi me ha funcionado.

  1. […] hecho en una carpeta, deberá ser /var/www/html/nextcloud, dependiendo de lo que hayamos usado en la quinta entrada de la serie. Debemos cambiarlo las 4 veces que […]

  2. […] hecho en una carpeta, deberá ser /var/www/html/nextcloud, dependiendo de lo que hayamos usado en la quinta entrada de la serie. Debemos cambiarlo las 4 veces que aparece. También, igual que antes, debemos cambiar la barra de […]

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.