Cómo instalar y configurar Nextcloud en Ubuntu

Introducción

Nextcloud , una bifurcación de ownCloud, es un servidor para compartir archivos que le permite almacenar su contenido personal, como documentos e imágenes, en una ubicación centralizada, como Dropbox. La diferencia con Nextcloud es que todas sus funciones son de código abierto. También le devuelve el control y la seguridad de sus datos confidenciales, eliminando así el uso de un servicio de alojamiento en la nube de terceros.

En este tutorial, instalaremos y configuraremos una instancia de Nextcloud en un servidor Ubuntu 20.04.

Requisitos previos

Para completar los pasos de esta guía, necesitará lo siguiente:

  • Un usuario habilitado para sudo no root y un firewall configurado en su servidor : Puede crear un usuario con previlegios sudo y configurar un firewall básico
  • (Opcional) Un nombre de dominio apuntado a su servidor : Aseguraremos las conexiones a la instalación de Nextcloud con TLS/SSL. Nextcloud puede configurar y administrar un certificado SSL confiable y gratuito de Let’s Encrypt si su servidor tiene un nombre de dominio. De lo contrario, Nextcloud puede configurar un certificado SSL autofirmado que puede cifrar las conexiones, pero no será confiable de manera predeterminada en los navegadores web. 

Una vez que haya completado los pasos anteriores, continúe para aprender cómo configurar Nextcloud en su servidor.

Paso 1: instalación de Nextcloud

Instalaremos Nextcloud utilizando el sistema de empaquetado Snap . Este sistema de empaquetado, disponible en Ubuntu 20.04 de forma predeterminada, permite a las organizaciones enviar software, junto con todas las dependencias y configuraciones asociadas, en una unidad autónoma con actualizaciones automáticas. Esto significa que en lugar de instalar y configurar un servidor web y de base de datos y luego configurar la aplicación Nextcloud para que se ejecute en él, podemos instalar el paquete snap que maneja los sistemas subyacentes automáticamente.

Para descargar el paquete instantáneo de Nextcloud e instalarlo en el sistema, escriba:

sudo snap install nextcloud

El paquete Nextcloud se descargará e instalará en su servidor. Puede confirmar que el proceso de instalación fue exitoso enumerando los cambios asociados con el complemento:

snap changes nextcloud

Dupdo

OutputID   Status  Spawn               Ready               Summary
4    Done    today at 16:12 UTC  today at 16:12 UTC  Install "nextcloud" snap

El estado y el resumen indican que la instalación se completó sin ningún problema.

Obtener información adicional sobre Nextcloud Snap

Si desea obtener más información sobre el complemento Nextcloud, hay algunos comandos que pueden ser útiles.

El comando  snap info puede mostrarle la descripción, los comandos de administración de Nextcloud disponibles, así como la versión instalada y el canal de instantáneas que se está rastreando:

snap info nextcloud

Los complementos pueden definir las conexiones que admiten, que consisten en una ranura y un enchufe que, cuando se conectan entre sí, dan acceso al complemento a ciertas capacidades o niveles de acceso. Por ejemplo, las instantáneas que deben actuar como un cliente de red deben tener la conexión network. Para ver qué complemento connections define este complemento, escriba:

snap connections nextcloud
OutputInterface        Plug                       Slot           Notes
network          nextcloud:network          :network       -
network-bind     nextcloud:network-bind     :network-bind  -
removable-media  nextcloud:removable-media  -              -

Para conocer todos los servicios y aplicaciones específicos que proporciona este complemento, puede echar un vistazo al archivo de definición del complemento escribiendo:

cat /snap/nextcloud/current/meta/snap.yaml

Esto le permitirá ver los componentes individuales incluidos en el complemento, si necesita ayuda con la depuración.

Paso 2: configuración de una cuenta administrativa

Hay algunas formas diferentes de configurar el complemento de Nextcloud. En esta guía, en lugar de crear un usuario administrativo a través de la interfaz web, crearemos uno en la línea de comando para evitar una pequeña ventana en la que cualquier persona que visite la dirección IP o el nombre de dominio de su servidor pueda acceder a la página de registro del administrador.

Para configurar Nextcloud con una nueva cuenta de administrador, use el nextcloud.manual-install. Debe pasar un nombre de usuario y una contraseña como argumentos:

sudo nextcloud.manual-install sammy password

El siguiente mensaje indica que Nextcloud se ha configurado correctamente:

OutputNextcloud was successfully installed

Ahora que Nextcloud está instalado, debemos ajustar los dominios de confianza para que Nextcloud responda a las solicitudes utilizando el nombre de dominio o la dirección IP del servidor

Paso 3: Ajuste de los dominios de confianza

Al instalar desde la línea de comandos, Nextcloud restringe los nombres de host a los que responderá la instancia. De forma predeterminada, el servicio solo responde a las solicitudes realizadas al nombre de host “localhost”. Accederemos a Nextcloud a través del nombre de dominio o la dirección IP del servidor, por lo que necesitaremos ajustar esta configuración para aceptar este tipo de solicitudes.

Puede ver la configuración actual consultando el valor de la trusted_domainsmatriz:

sudo nextcloud.occ config:system:get trusted_domains

Que devolverá la salida

localhost

Actualmente, solo localhost está presente como el primer valor de la matriz. Podemos agregar una entrada para el nombre de dominio o la dirección IP de nuestro servidor escribiendo:

sudo nextcloud.occ config:system:set trusted_domains 1 --value=ejemplo.com

Nos devolverá la siguiente salida:

System config value trusted_domains => 1 set to string ejemplo.com

Si volvemos a consultar los dominios de confianza, veremos que ahora tenemos dos entradas:

sudo nextcloud.occ config:system:get trusted_domains

Obtendremos:

localhost
ejemplo.com

Si necesita agregar otra forma de acceder a la instancia de Nextcloud, puede agregar dominios o direcciones adicionales volviendo a ejecutar el comando  config:system:set con un número de índice incrementado (el “1” en el primer comando) y ajustando el --value.

Paso 4: asegurar la interfaz web de Nextcloud con SSL

Antes de comenzar a usar Nextcloud, debemos asegurar la interfaz web.

Si tiene un nombre de dominio asociado con su servidor Nextcloud, el complemento de Nextcloud puede ayudarlo a obtener y configurar un certificado SSL confiable de Let’s Encrypt . Si su servidor Nextcloud no tiene un nombre de dominio, Nextcloud puede configurar un certificado autofirmado que encriptará su tráfico web, pero su navegador web no confiará automáticamente en él.

Con eso en mente, siga la sección a continuación que coincida con su escenario.

Opción 1: Configurar SSL con Let’s Encrypt

Si tiene un nombre de dominio asociado con su servidor Nextcloud, la mejor opción para asegurar su interfaz web es obtener un certificado SSL de Let’s Encrypt.

Comience abriendo los puertos en el firewall que utiliza Let’s Encrypt para validar la propiedad del dominio. Esto hará que su página de inicio de sesión de Nextcloud sea públicamente accesible, pero dado que ya tenemos una cuenta de administrador configurada, nadie podrá secuestrar la instalación:

sudo ufw allow 80,443/tcp

A continuación, solicite un certificado de Let’s Encrypt escribiendo:

sudo nextcloud.enable-https lets-encrypt

Primero se le preguntará si su servidor cumple con las condiciones necesarias para solicitar un certificado del servicio Let’s Encrypt:

OutputIn order for Let's Encrypt to verify that you actually own the
domain(s) for which you're requesting a certificate, there are a
number of requirements of which you need to be aware:

1. In order to register with the Let's Encrypt ACME server, you must
   agree to the currently-in-effect Subscriber Agreement located
   here:

       https://letsencrypt.org/repository/

   By continuing to use this tool you agree to these terms. Please
   cancel now if otherwise.

2. You must have the domain name(s) for which you want certificates
   pointing at the external IP address of this machine.

3. Both ports 80 and 443 on the external IP address of this machine
   must point to this machine (e.g. port forwarding might need to be
   setup on your router).

Have you met these requirements? (y/n)

Escriba y para continuar.

A continuación, se le pedirá que proporcione una dirección de correo electrónico para usar en las operaciones de recuperación:

Please enter an email address (for urgent notices or key recovery):

Introduce tu email y pulsa Enter para continuar.

Finalmente, ingrese el nombre de dominio asociado con su servidor Nextcloud:

Please enter your domain name(s) (space-separated): ejemplo.com

Se le solicitará su certificado de Let’s Encrypt y, si todo salió bien, se reiniciará la instancia interna de Apache para implementar SSL de inmediato:

Attempting to obtain certificates... done
Restarting apache... done

Ahora puede saltar al siguiente paso para iniciar sesión en Nextcloud por primera vez.

Opción 2: configurar SSL con un certificado autofirmado

Si su servidor Nextcloud no tiene un nombre de dominio, aún puede proteger la interfaz web generando un certificado SSL autofirmado. Este certificado permitirá el acceso a la interfaz web a través de una conexión cifrada, pero no podrá verificar la identidad de su servidor, por lo que es probable que su navegador muestre una advertencia.

Para generar un certificado autofirmado y configurar Nextcloud para usarlo, escriba:

sudo nextcloud.enable-https self-signed

Que nos mostrará como salida del comando:

Generating key and self-signed certificate... done
Restarting apache... done

El resultado anterior indica que Nextcloud generó y habilitó un certificado autofirmado.

Ahora que la interfaz es segura, abra los puertos web en el firewall para permitir el acceso a la interfaz web:

sudo ufw allow 80,443/tcp

Ahora está listo para iniciar sesión en Nextcloud por primera vez.

Paso 5: iniciar sesión en la interfaz web de Nextcloud

Ahora que Nextcloud está configurado, visite el nombre de dominio o la dirección IP de su servidor en su navegador web:

https://ejemplo.com

Nota: si configura un certificado SSL autofirmado, su navegador puede mostrar una advertencia de que la conexión no es segura porque el certificado del servidor no está firmado por una autoridad de certificación reconocida. Esto se espera para los certificados autofirmados, así que no dude en hacer clic en la advertencia para acceder al sitio.

Como ya configuró una cuenta de administrador desde la línea de comandos, se lo dirigirá a la página de inicio de sesión de Nextcloud. Ingrese las credenciales que creó para el usuario administrativo:

Haga clic en el botón Iniciar sesión para iniciar sesión en la interfaz web de Nextcloud.

La primera vez que ingrese, se mostrará una ventana con un texto introductorio y enlaces a varios clientes de Nextcloud que se pueden usar para acceder a su instancia de Nextcloud:

Haga clic para descargar cualquier cliente que le interese o salga de la ventana haciendo clic en la X en la esquina superior derecha. Accederá a la interfaz principal de Nextcloud, donde puede comenzar a cargar y administrar archivos:

Su instalación ahora está completa y asegurada. Siéntase libre de explorar la interfaz para familiarizarse más con las características y la funcionalidad de su nuevo sistema.

Conclusión

Nextcloud puede replicar las capacidades de los populares servicios de almacenamiento en la nube de terceros. El contenido se puede compartir entre usuarios o externamente con URL públicas. La ventaja de Nextcloud es que la información se almacena de forma segura en un lugar que usted controla.

Para obtener funcionalidad adicional, eche un vistazo a la tienda de aplicaciones de Nextcloud , donde puede instalar complementos para ampliar las capacidades del servicio.

Dejá un comentario

Tu dirección de correo electrónico no será publicada.