instalar nextcloud raspberry pi

Cómo instalar NextCloud en Raspberry Pi

Una de las cosas más útiles que puedes hacer con una Raspberry Pi es instalar Nextcloud. Es el servicio al que mas uso le estoy dando en mi Raspberry Pi, sin duda alguna. Se trata de un servicio que convierte tu equipo en una nube tipo Dropbox o Google Drive pero vitaminado ya que se le pueden ir añadiendo aplicaciones para multitud de utilidades como calendario, notas, marcadores, tareas, contactos, biblioteca musical, etc… Además conseguimos tener el control de nuestros datos y no se los prestamos a terceras empresas para que les saquen partido debilitando nuestra privacidad. Y, por supuesto, como todo en éste blog es Software Libre. ¿Qué más se puede pedir?

Para poder instalar NextCloud en la Raspberry Pi, primero tienes que haber instalado el servidor web apache, el gestor de bases de datos MariaDB, el intérprete de PHP y es altamente recomendable tener también instalado PHPMyAdmin. Opcionalmente, si quieres tener varias webs en dominios diferentes, por ejemplo una dirección para tu blog y otra diferente para NextCloud, también debes configurar apache para varios dominios.

Una vez comprobado que ya tienes todo lo anterior listo ya puedes empezar con la tarea de instalar NextCloud. Los pasos que voy a ir explicándote están probados en mi propia Raspberry Pi con Raspbian 9 Stretch y con Raspbian 10 Buster y puedo garantizar que funcionan, pero seguramente también son válidos para Debian, Ubuntu, Linux Mint y cualquier derivado de Debian.

En mi caso lo voy a hacer en un dominio creado como te he explicado en el artículo de los multidominios llamado nube.duckdns.org, directamente en el directorio raiz. Pero puedes hacerlo en el dominio y en la carpeta que tu quieras. Simplemente adapta las instrucciones a tu gusto.

Descargar NextCloud

Empieza situándote en la carpeta donde quieres instalar NextCloud:

cd /var/www/html/nube.duckdns.org

Descarga el script de instalación y cambia su propietario para que lo pueda gestionar el servidor web.

wget https://download.nextcloud.com/server/installer/setup-nextcloud.php

sudo chown www-data:www-data setup-nextcloud.php

Instala el paquete php-curl. Es posible que ya lo tengas instalado, pero por si acaso compruébalo:

sudo apt install php-curl

Creación de la carpeta de datos

Los datos que vayas a guardar dentro de tu nube de NextCloud se almacenarán en una carpeta. Es muy recomendable por motivos de seguridad que esa carpeta se encuentre fuera de las carpetas visibles desde Internet, es decir fuera de /var/www/html/

Vamos a crear esa carpeta dentro del home de tu usuario de Raspbian y a darle permisos para que el usuario que utiliza el servidor web pueda acceder y guardar los archivos en ella.

cd
mkdir NextCloudData
sudo chown www-data:www-data NextCloudData

Preparar la base de datos

NextCloud necesita un base de datos para poder funcionar. Voy a explicarte como crear el usuario y la base de datos necesaria utilizando PhpMyAdmin. Si no lo tienes instalado te recomiendo que lo hagas o tendrás que hacerlo desde la consola de mysql. Un poco mas abajo te pongo las instrucciones que deberían de funcionar.

Accede a la página de entrada de PhpMyAdmin e identíficate con tu usuario y contraseña de PhpMyAdmin.

PhpMyAdmin login

Haz clic en el apartado «Cuentas de usuarios» que se encuentra situado en la parte de arriba.

PhpMyAdmin Usuarios

Pulsa en «Agregar cuenta de usuario«.

PhpMyAdmin crear usuario

Rellena los datos, por ejemplo:

  • Nombre de usuario: nextcloud
  • Nombre del Host: Local (localhost)
  • Contraseña: una contraseña segura (apúntala, la necesitarás en el proceso de configuración de NextCloud)
  • Debe volver a escribir: la misma contraseña segura

Marca la casilla «Crear base de datos con el mismo nombre y otorgar todos los privilegios.»

PhpMyAdmin crear cuenta de usuario

Desplázate hasta abajo del todo y pulsa el botón «Continuar».

PhpMyAdmin resultado

Y con esto ya tendrás creada la base de datos y el usuario para NextCloud.

Si no tienes PhpMyAdmin instalado y no lo quieres instalar, puedes probar a crear el usuario y la base de datos con las siguientes instrucciones.

AVISO: no he comprobado que funcione. Es la salida que ofrece PhpMyAdmin al seguir los pasos. Debería funcionar pero no lo puedo garantizar.

sudo mysql -u root

CREATE USER 'nextcloud'@'localhost' IDENTIFIED VIA mysql_native_password USING 'contraseña';

GRANT USAGE ON *.* TO 'nextcloud'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

CREATE DATABASE IF NOT EXISTS nextcloud;

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';

Instalar NextCloud en Raspberry Pi

Desde el navegador dirígete a la dirección del archivo del script de instalación que habías descargado antes, por ejemplo:

http://dominio o ip de la raspberry/setup-nextcloud.php
NextCloud Setup Wizard

Pulsa el botón Next para que comience la instalación. Lo primero que hará será comprobar las dependencias por si tienes que instalar algún paquete extra.

NextCloud comprobación de dependencias

En este caso dice que todas las dependencias están encontradas por lo que no es necesario instalar nada aparte. Ahora pide que escribas el directorio donde quieres que se instale NextCloud. Si lo quieres instalar en el directorio donde ya estás situado escribe simplemente un punto (.) y pulsa Next. Tras unos segundos o minutos aparecerá la siguiente pantalla.

NextCloud  Instalado correctamente

El primer paso de la instalación se ha completado de forma satisfactoria. Pulsa el botón Next para continuar.

Configuración inicial

Rellena los datos que pide:

  • Nombre de usuario: el que quieras tener para NextCloud
  • Contraseña: Una contraseña segura para acceder a NextCloud
  • Carpeta de datos: /home/usuario/NextCloudData (la que habías creado antes).
  • Usuario de la base de datos: nextcloud
  • Contraseña de la base de datos: la que le pusiste al crear la base de datos
  • Nombre de la base de datos: nextcloud
  • Host de la base de datos: localhost

La casilla «Instalar las aplicaciones recomendadas» la puedes dejar marcada o desmarcarla para instalar tu después las aplicaciones que quieras. Si la dejas marcada instalará las aplicaciones Calendario, Contactos y Correo. Las aplicaciones OnlyOffice y Talk darán error ya que no están preparadas para funcionar en procesadores ARM como el que tiene la Raspberry Pi. Si lo estás instalando en una máquina con procesador x86 como el de cualquier ordenador normal no debería de dar problemas.

Una vez que tengas todos los datos introducidos pulsa el botón «Completar la instalación»

NextCloud configuración
NextCloud Aplicaciones recomendadas

Una vez completada la instalación verás la siguiente pantalla.

NextCloud Hub
NextCloud Home

Y con esto habrás conseguido instalar NextCloud en la Raspberry Pi. Ha sido una tarea larga, pero los pasos son claros. Te aseguro que vale la pena ya que le podrás sacar mucho partido.

Hay otros métodos para instalarlo más sencillos usando Docker pero eso lo dejaremos para próximos artículos.

6 comentarios en “Cómo instalar NextCloud en Raspberry Pi

  1. Pablo

    Estupendo artículo!! Aunque me preguntaba de qué forma se le puede añadir mas unidades de almacenamiento y asociarlas a NextCloud. Por ejemplo un USB o HDD.

    Muchas gracias!

    Responder
    1. AlexPro Autor

      Hola Pablo, poner un almacenamiento externo se podría si configuras la carpeta de datos de NextCloud en él, pero irían todos los datos a él.

      Si lo que quieres es tener los datos en la unidad principal y a parte añadirle un disco externo conectado por USB no estoy seguro de que se pueda hacer. Puedes mirar la Aplicación/Plugin «External storage support». En principio está pensada para acceder a carpetas/unidades compartidas en red, pero puede que también funcione para lo que quieres. Ya te digo que no lo he probado, no te sé decir.

      Un saludo y gracias por tu comentario.

      Responder
  2. Raúl

    Muy útil el artículo, muchas gracias por compartirlo.
    Estoy intentando seguirlo pero una vez que termina la instalación no consigo acceder a la página de configuración inicial. Estoy utilizando un dominio que he conseguido a través de la página noip.com, por lo que dentro de la ccarpeta /var/www/html tengo creada la carpeta con el nombre del dominio. Dentro de ella es donde he instalado Nextcloud, es decir, dentro de la carpeta /var/www/html/{my-dominio}/nextcloud. También tengo crado el fichero .conf dentro de /etc/apache2/sites-availables, con nombre {mi-dominio}.conf, con los valores
    ServerAlias {my-dominio}
    ServerName {my-dominio}
    ServerAdmin pi@{my-dominio}
    DocumentRoot /var/www/html/{my-dominio}
    ¿Qué se me puede estar escapando?
    Muchas gracias de antemano.
    Un saludo.

    Responder
    1. AlexPro Autor

      Hola Raul. Gracias por comentar.

      Es difícil adivinar qué es lo que está fallando, pero vamos a intentarlo.

      Lo primero que habría que saber es si están intentando acceder desde la red local o desde fuera.

      Te sugiero que pruebes ambos casos y ver si de alguna de las dos formas funciona.

      Un saludo.

      Responder
        1. AlexPro Autor

          Hola de nuevo, Raul.

          Supongo que desde dentro de tu red accedes al NextCloud con la IP y desde fuera con el dominio de noip.

          Si es así puede que el problema sea que no tienes añadido el dominio a la lista de dominios permitidos de NextCloud.

          Para añadirlo tienes que editar el archivo config/config.php y buscar la sección «trusted_domains» y dejarlo tal que así:

          ‘trusted_domains’ =>
          array (
          0 => ‘dominio.noip.com’,
          1 => ‘192.168.1.6’,
          ),

          Lógicamente cambiando el dominio por el tuyo y la ip por la tuya interna.

          A ver si con eso lo consigues arreglar.

          ¡Salut!

          Responder

Deja una respuesta

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