Cómo instalar Nextcloud en Debian 10 Buster

Cómo instalar Nextcloud en Debian 10 Buster

  • Autor de la entrada:
  • Categoría de la entrada:Linux
  • Comentarios de la entrada:4 comentarios

En esta ocasión explicamos cómo instalar Nextcloud en Debian 10 Buster paso a paso, un servicio de nube de archivos que podrás montar tanto en tu red local como en Internet sobre tu propio servidor o VPS Debian.

Antes de instalar Nextcloud en Debian 10 Buster

Si tienes intención de seguir esta guía de instalación de Nextcloud en Debian 10 Buster debes satisfacer al menos los siguientes requisitos básicos:

  • Un sistema Debian 10 Buster actualizado.
  • Un entorno o pila tipo LAMP (servidor web con PHP y bases de datos).
  • Acceso a línea de comandos con root o algún usuario con permisos de sudo.
  • Conexión a Internet.

Si aún no tienes configurado el entorno necesario, quizás te interese echar un vistazo previo a nuestra guía de instalación LAMP en Debian 10 Buster.

Podrías instalar Nextcloud en tu sistema Debian 10 Buster como el sitio web principal, una parte de este sitio web o un sitio alternativo a través de un servidor virtual. Por sencillez, en esta guía integraremos Nextcloud como parte de la página web por defecto de Debian 10.

Aunque en este ejemplo no usamos seguridad HTTPS, es importantísimo que la uses en tu configuración.

Cómo descargar Nextcloud para Debian 10 Buster

Puesto que no hay paquetes disponibles en la distribución, vamos a descargar Nextcloud para Debian 10 Buster desde el sitio web del proyecto:

como descargar nextcloud para debian 10 buster

Seguiremos cualquiera de los enlaces «Get Nextcloud» para elegir «Server packages» o «Download for server» y se abrirá una pequeña ventana donde en vez de seguir el enlace «Download Nextcloud» pincharemos el botón «Details and download options«, que nos mostrará otras opciones:

como descargar e instalar nextcloud para debian 10 buster

Hay disponibles dos formatos de paquete, la versión .tar.bz2 y la versión .zip. Puedes descargar el que prefieras directamente desde el navegador, pero en este caso copiaremos el enlace del paquete .tar.bz2 para realizar la descarga desde consola con el comando wget:

~$ wget https://download.nextcloud.com/server/releases/nextcloud-19.0.3.tar.bz2

Cómo instalar Nextcloud en Debian 10 Buster

Antes de empezar con el proceso de instalación de Nextcloud en Debian 10 Buster debemos preparar el sistema, mediante una serie de tareas previas que detallamos a continuación.

Preparando los archivos de Nextcloud

Vamos a descomprimir el paquete que acabamos de descargar en su ubicación definitiva, según cómo hayamos decidido integrar Nextcloud en el servidor web.

En este ejemplo, al formar parte del sitio web principal del servidor Debian 10 Buster, descomprimiremos Nextcloud en el directorio raíz de documentos web:

~$ sudo tar xf nextcloud-19.0.3.tar.bz2 -C /var/www/html/

Nextcloud necesita permisos de escritura sobre sus propios archivos. Como esto se hace a través del servidor web, cambiaremos el propietario y el grupo de la carpeta de Nextcloud que se acaba de crear, a los que usa el servidor web (www-data para Apache en Debian 10):

~$ sudo chown -R www-data: /var/www/html/nextcloud/

Preparando PHP

Nextcloud requiere la instalación de varias extensiones de PHP en Debian 10, como son curl, gd, imagick, intl, mbstring, xml o zip:

~$ sudo apt install -y php-bcmath php-curl php-gd php-gmp php-imagick php-intl php-mbstring php-xml php-zip

Es importante también tener instalada la extensión que permita conectar con el servicio de bases de datos que queramos utilizar (elimina la que no te interese):

~$ sudo apt install -y php-mysql php-pgsql

Opcionalmente, pero muy recomendable si el servicio va a tener carga de trabajo, sería configurar algún sistema de caché de datos, como el que ofrece la extensión APCu:

~$ sudo apt install -y php-apcu

Una vez instaladas las extensiones y sus dependencias será necesario recargar el servicio web o el servicio PHP-FPM. En este caso sería el servidor web:

~$ sudo systemctl reload apache2

Preparando el servidor web

Nextcloud es capaz de trabajar con el módulo Rewrite de Apache, si este es tu servidor web en Debian 10. Si es el caso, debemos activar este módulo:

~$ sudo a2enmod rewrite

Para poder usar las configuraciones de los archivos .htaccess debemos asegurarnos de que el servidor web los toma en cuenta. En este ejemplo, el servidor web ignora estos archivos en la ubicación elegida para Nextcloud. Por tanto debemos añadir una configuración adicional que permita la carga de tales archivos.

Crearemos el archivo para esta configuración:

~$ sudo nano /etc/apache2/sites-available/nextcloud.conf

El contenido será un bloque Directory con la directiva AllowOverride:

<Directory /var/www/html/nextcloud>
        AllowOverride all
        php_value memory_limit "512M"
</Directory>

Y también aprovechamos para añadir cierta configuración de PHP. Guardados los cambios y cerrado el archivo, hay que activar esta nueva cofiguración:

~$ sudo a2ensite nextcloud.conf

Si estás instalando Nextcloud en un servidor virtual, la configuración anterior debería formar parte de la configuración del servidor virtual.

En cualquier caso, para aplicar los cambios reiniciaremos el servidor web:

~$ sudo systemctl restart apache2

Preparando la base de datos

Nextcloud necesita trabajar con el servicio de bases de datos que tenemos instalado en Debian 10, por lo que detallaremos la preparación de los dos más usados.

MariaDB/MySQL

Crearemos una nueva base de datos y el usuario que la administrará, cosa que podemos hacer desde consola con el cliente mysql y un usuario administrador:

~$ mysql -u root -p

Creamos la base de datos:

> create database nextcloud charset utf8mb4 collate utf8mb4_unicode_ci;

Si usamos MySQL 8, creamos el usuario asegurándonos de que utilice un plugin de autenticación compatible con PHP:

> create user nextcloud@localhost identified with mysql_native_password by 'XXXXXXXX';

Si usas MariaDB o una versión 5.x de MySQL, no es necesario especificar el plugin:

> create user nextcloud@localhost identified by 'XXXXXXXX';

Concedemos los permisos necesarios al usuario sobre la base:

> grant all privileges on nextcloud.* to nextcloud@localhost;

Y cerramos el cliente:

> exit

PostgreSQL

Crearemos un rol con contraseña:

~$ sudo -u postgres createuser nextcloud -P

Y una base de datos asociada a dicho rol:

~$ sudo -u postgres createdb nextcloud -O nextcloud

No pierdas de vista estos datos, porque los necesitaremos más adelante.

Instalar Nextcloud en Debian 10 vía web

Llegó el momento de instalar Nextcloud en Debian 10 Buster usando el instalador web desde un navegador.

Accederemos a la URL de Nextcloud según la hayamos configurado. En este ejemplo en el que el servidor Debian 10 es accesible en el dominio debian10.local.lan, la URL http://debian10.local.lan/nextcloud/ sería la indicada:

como instalar nextcloud en debian 10 buster

En esta página del instalador se nos pedirá el nombre del nuevo usuario administrador y su contraseña, y por otro lado los datos de conexión al servicio de bases de datos (que creamos anteriormente). Además, por defecto aparece marcada la opción de instalar ciertas aplicaciones del ecosistema de Nextcloud, que puedes desmarcar si no te interesan.

Tras introducir los datos seguiremos el enlace «Completar la instalación» y en unos instantes una nueva página nos mostrará en un carrusel algunas de las características más destacables de Nextcloud:

instalar nextcloud en debian 10 buster

Tras pasar todas las diapositivas del carrusel, aparecerá la página principal de nuestro usuario administrador, con algunos archivos y carpetas de muestra, y ya podremos empezar a cargar archivos, crear carpetas, etc.

Pero también podremos crear nuevos usuarios asignándoles su corrrespondiente cuota de disco, etc.

Post-instalación de Nextcloud en Debian 10 Buster

Una vez instalada y funcionando la aplicación, será necesario realizar alguna tarea adicional si decidiste instalar la extensión APCu para configurar una caché de datos, ya que hay que activar su uso editando la configuración de Nextcloud:

~$ sudo nano /var/www/html/nextcloud/config/config.php

Al final del archivo, justo antes del paréntesis de cierre de la configuración, insertaremos esta variable:

...
  'memcache.local' => '\OC\Memcache\APCu',
);

Basta con guardar los cambios y cerrar el archivo para que la caché de datos quede activa.

Cómo probar el servicio desde un cliente

Para probar el funcionamiento de tu nueva nube de archivos Nextcloud en Debian 10 puedes instalar un cliente descargado desde el sitio de Nextcloud (la misma página desde la que descargamos el paquete del servidor), para cualquier sistema o dispositivo.

Por ejemplo, tras instalar un cliente de escritorio en Windows, nos solicitará la URL de conexión al servicio:

Este tipo de cliente necesita autenticarse contra el servicio a través del navegador, así que abrirá una página para introducir los datos del usuario y confirmar que se desea enlazar el dispositivo con la cuenta.

Hecho esto el cliente mostrará las opciones de conexión:

Terminados los ajustes, si es que haces alguno, puedes iniciar la conexión con el servicio Nextcloud en el servidor Debian 10 y se producirá la transferencia de archivos:

En unos instantes la cuenta estará completamente sincronizada, pudiendo cerrarse el cliente (que queda en segundo plano) y comprobar en la carpeta configurada que los archivos en el servidor están disponibles localmente:

Conclusión

Ahora que sabes cómo instalar Nextcloud en Debian 10 ya puedes montar tu propio sistema de nube de archivos para tu red local, tanto doméstica como profesional, en entornos de red local o a través de Internet. Existen multitud de clientes de Nextcloud para gran variedad de dispositivos de escritorio y móviles, así que tus archivos estarán disponibles en cualquier momento y lugar.

Si tienes alguna duda, pregunta, sugerencia, o quieres informar de algún error, puedes dejar un comentario.

Y si gracias a esta pequeña guía de instalación de Nextcloud en Debian 10 Buster ya tienes montado el sistema y te apetece agradecérmelo, puedes hacerlo invitándome a un café:

 

O dejando una propina de 1 $ desde PayPal si lo prefieres:

¡Gracias!

 

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (5 votos, promedio: 5,00 de 5)
Cargando...

Esta entrada tiene 4 comentarios

  1. jose

    Hola, ¿quién realiza estos tutoriales?, les agradezco desde el alma porque son geniales y perfectos, bien detallados y precisos. Gracias, muchas gracias.

    1. Chacho Cool

      ¡Hola! Pues los realizamos aquí en la redacción de chachocool.com y el secreto es que probamos todo lo que redactamos una y otra vez, hasta que encontramos la forma en que creemos que se entiende todo lo mejor posible, con la menor dificultad. Nos alegra saber que son útiles.

  2. danilo parada

    Hola, chachocool, te cuento que tengo un inconveniente con el código que presentas y es que, al crear el archivo nextcloud.conf con la información arriba descrita, apache2 no permite reiniciar porque desconoce la palabra ‘php_value‘. ¿Sabes cómo puedo solucionar este tema?

    Inicialmente, he eliminado la palabra php_value, sin embargo, si esta allí es por algo, ¿no?

    1. Chacho Cool

      Hola, Danilo. Si usas PHP como módulo de Apache no deberías tener problemas con la sentencia php_value, a no ser que la uses fuera de contexto, con valores erróneos, etc. En el caso de usar PHP como servicio independiente entonces no es posible usar php_value, en su lugar puedes alterar el valor necesario directamente en el archivo php.ini.

Deja una respuesta