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.
Para completar los pasos de esta guía, necesitará lo siguiente:
sudo
y configurar un firewall básico siguiendo la Guía de configuración inicial del servidor Ubuntu 18.04.Una vez que haya completado los pasos anteriores, continúe para aprender cómo configurar Nextcloud en su servidor.
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:
- 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
:
- snap changes nextcloud
OutputID 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.
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:
- 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:
- snap interfaces nextcloud
OutputSlot 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:
- 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.
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:
- sudo nextcloud.manual-install sammy password
El siguiente mensaje indica que Nextcloud se configuró correctamente:
OutputNextcloud 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.
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
:
- sudo nextcloud.occ config:system:get trusted_domains
Outputlocalhost
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:
- sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
OutputSystem config value trusted_domains => 1 set to string example.com
Si consultamos de nuevo los dominios de confianza, veremos que, ahora, tenemos dos entradas:
- sudo nextcloud.occ config:system:get trusted_domains
Outputlocalhost
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.
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.
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:
- sudo ufw allow 80,443/tcp
A continuación, solicite un certificado de Let’s Encrypt escribiendo lo siguiente:
- 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 usarlo en las operaciones de recuperación:
OutputPlease 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:
OutputPlease 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:
OutputAttempting to obtain certificates... done
Restarting apache... done
Ahora puede pasar directamente a iniciar sesión en Nextcloud por primera vez.
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:
- sudo nextcloud.enable-https self-signed
OutputGenerating 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:
- sudo ufw allow 80,443/tcp
Ya está listo para iniciar sesión en Nextcloud por primera vez.
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:
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:
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:
Su instalación ya está completa y protegida. Explore la interfaz para familiarizarse con las características y funcionalidades de su nuevo sistema.
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.
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!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.