Tutorial

Cómo instalar y configurar Nextcloud en Ubuntu 18.04

Published on December 5, 2019
Español
Cómo instalar y configurar Nextcloud en Ubuntu 18.04

Introducción

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

En este tutorial, instalaremos y configuraremos la instancia de Nextcloud en un servidor Ubuntu 18.04.

Requisitos previos

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

  • Un usuario sudo y un firewall configurado en su servidor: puede crear un usuario con privilegios sudo y configurar un firewall básico siguiendo la Guía de configuración inicial del servidor Ubuntu 18.04.
  • (Opcional) Un nombre de dominio que apunte a su servidor: protegeremos las conexiones a la instalación de Nextcloud con TLS/SSL. Nextcloud puede configurar y administrar un certificado SSL gratuito y de confianza de Let’s Encrypt si su servidor tiene un nombre de dominio. Si no es así, Nextcloud puede configurar un certificado SSL autofirmado que puede cifrar conexiones, pero no será de confianza por defecto en los navegadores web. Si está usando DigitalOcean, puede seguir nuestra guía sobre cómo configurar un nombre de dominio para su servidor si va a utilizar Let’s Encrypt.

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 usando el sistema de paquetes snappy. Este sistema de creación de paquetes, disponible en Ubuntu 18.04 por defecto, permite a las organizaciones enviar software, junto con todas sus dependencias y configuraciones asociadas, en una unidad autocontenida con actualizaciones automáticas. Esto significa que, en vez 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 gestiona los sistemas subyacentes automáticamente.

Para descargar el paquete snap de Nextcloud e instalarlo en el sistema, escriba lo siguiente:

  1. sudo snap install nextcloud

El paquete de Nextcloud se descargará e instalará en su servidor. Puede confirmar que el proceso de instalación se realizó correctamente al enumerar los cambios asociados con el paquete snap:

  1. snap changes nextcloud
Output
ID Status Spawn Ready Summary 2 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 problemas.

Obtener información adicional sobre el snap de Nextcloud

Si desea obtener más información sobre el snap de 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 snap al que se realiza el seguimiento:

  1. snap info nextcloud

Los snaps pueden definir las interfaces con las que son compatibles, que constan de una ranura y un conector que, al combinarse, permiten que los snaps accedan a ciertas capacidades o niveles de acceso. Por ejemplo, los snaps que deben actuar como cliente de red deben tener la interfaz network. Para ver qué “interfaces” de snap define este snap, escriba:

  1. snap interfaces nextcloud
Output
Slot Plug :network nextcloud :network-bind nextcloud - nextcloud:removable-media

Para obtener información sobre todos los servicios y aplicaciones específicos que proporciona este snap, puede consultar el archivo de definición del snap escribiendo lo siguiente:

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

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

Configurar una cuenta administrativa

Existen varias formas de configurar el snap de Nextcloud. En esta guía, en vez de crear un usuario administrativo a través de la interfaz web, crearemos uno en la línea de comandos para evitar una pequeña ventana en la que la página de registro del administrador sería accesible para cualquiera que visite la dirección IP o el nombre de dominio de su servidor.

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

  1. sudo nextcloud.manual-install sammy password

El siguiente mensaje indica que Nextcloud se configuró correctamente:

Output
Nextcloud is not installed - only a limited number of commands are available Nextcloud was successfully installed

Ahora que Nextcloud está instalada, deberemos ajustar los dominios de confianza para que responda a las solicitudes usando el nombre de dominio o la dirección IP del servidor.

Ajustar los dominios de confianza

Cuando se instala desde la línea de comandos, Nextcloud restringe los nombres de host a los que la instancia responderá. Por defecto, el servicio solo responde a las solicitudes realizadas al nombre de host “localhost”. Accederemos a Nextcloud a través del nombre de dominio o dirección IP del servidor, de modo que tendremos que configurar este ajuste para que acepte estos tipos de solicitudes.

Puede ver los ajustes actuales consultando el valor de la matriz trusted_domains:

  1. sudo nextcloud.occ config:system:get trusted_domains
Output
localhost

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

  1. sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
Output
System config value trusted_domains => 1 set to string example.com

Si consultamos de nuevo los dominios de confianza, veremos que, ahora, tenemos dos entradas:

  1. sudo nextcloud.occ config:system:get trusted_domains
Output
localhost example.com

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

Proteger la interfaz web de Nextcloud con SSL

Antes de empezar a usar Nextcloud, debemos proteger la interfaz web.

Si tiene un nombre de dominio asociado con su servidor Nextcloud, el snap de Nextcloud puede ayudarlo a obtener y configurar un certificado SSL de confianza de Let’s Encrypt. Si su servidor Nextcloud *no *tiene un nombre de dominio, Nextcloud puede configurar un certificado autofirmado que cifrará su tráfico web, pero no podrá verificar la identidad de su servidor.

Teniendo eso en cuenta, siga la siguiente sección que se adapte a 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 proteger su interfaz web es obtener un certificado SSL de Let’s Encrypt.

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

  1. sudo ufw allow 80,443/tcp

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

  1. 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:

Output
In 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 usarlo en las operaciones de recuperación:

Output
Please enter an email address (for urgent notices or key recovery): your_email@domain.com

Por último, introduzca el nombre de dominio asociado con su servidor Nextcloud:

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

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

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

Ahora puede pasar directamente a iniciar sesión en Nextcloud por primera vez.

Opción 2: configurar un SSL con un certificado autofirmado

Si su servidor Nextcloud no tiene un nombre de dominio, de todos modos, puede proteger la interfaz web generando un certificado SSL autocertificado. Este certificado permitirá el acceso a la interfaz web mediante una conexión cifrada, pero no podrá verificar la identidad de su servidor, de modo que, probablemente, su navegador mostrará una advertencia.

Para generar un certificado autofirmado, y configurar Nextcloud para que lo utilice, escriba lo siguiente:

  1. sudo nextcloud.enable-https self-signed
Output
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 está protegida, abra los puertos web en el firewall para permitir el acceso a la interfaz web:

  1. sudo ufw allow 80,443/tcp

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

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://example.com

Nota: si configura un certificado SSL autofirmado, su navegador puede mostrar una advertencia indicando que la conexión no es segura porque el certificado del servidor no está firmado por una autoridad de certificación reconocida. Esto es normal para los certificados autofirmados, por lo tanto, ignore la advertencia y prosiga al sitio web.

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. Introduzca las credenciales que creó para el usuario administrativo:

Página de inicio de sesión de Nextcloud

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

La primera vez que ingrese, se mostrará una ventana con enlaces a varios clientes de Nextcloud que pueden usarse para gestionar su instancia Nextcloud e interactuar con ella:

Cuadro modal de clientes de Nextcloud

Haga clic para descargar cualquier cliente en el que esté interesado, o salga de la ventana haciendo clic en la X ubicada en la esquina superior derecha. Se lo dirigirá a la interfaz principal de Nextcloud, donde puede comenzar a cargar y administrar archivos:

Página principal de Nextcloud

Su instalación ya está completa y protegida. Explore la interfaz para familiarizarse con las características y funcionalidades de su nuevo sistema.

Conclusión

Nextcloud puede replicar las capacidades de servicios externos de almacenamiento en la nube populares. El contenido puede compartirse 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.

Explore la interfaz y, para obtener funciones adicionales, instale complementos usando la tienda de aplicaciones de Nextcloud.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors


Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more