Hola a todos,

Sean todos bienvenidos a esta nueva publicación en donde les enseñaremos a como instalar y configurar Nextcloud en Ubuntu Server 20.04 y sacarle el máximo provecho a nuestro servidor.

En esta publicación revisaremos los siguientes temas:

  • 1. Introducción
  • 2. Preparando nuestro ambiente de trabajo
  • 2. Instalación y configuración de Nextcloud

¡Comencemos!



1. Introducción

Como pudimos ver en nuestra publicación anterior, Nextcloud es una serie de aplicativos para almacenamientos de archivos de código abierto publicado el 02 de junio del 2016 por Frank Karlitschek. Esto nos permite tener una nube privada o publica tipo Onedrive, Dropbox, Google Drive, entre otros. También vimos cual es el requerimiento mínimo y recomendado para nuestro servidor, clientes (desktop), clientes móviles y navegadores web.

Toda la información necesaria la puedes encontrar en el siguiente enlace leyendo los dos primeros puntos.

2. Preparando nuestro entorno de trabajo

En esta ocasión veremos la instalación de Nextcloud en dos escenarios, el primero sera una instalación desde 0 cuando recién estés instalando el sistema operativo y el segundo es similar pero desde un Ubuntu Server 20.04 ya instalado.

Para el primer caso nos dirigiremos a la pagina oficial de Ubuntu y procederemos a descargar la ISO de Ubuntu Server 20.04 en el siguiente enlace.

Una vez descargada la ISO procederán a cargarla en su virtualizador preferido como VMWARE Player, VirtualBox, Hyper-V, Promox, entre otros.

Continuando con la instalación por defecto de Ubuntu Server 20.04, realizaran las configuraciones que ya conocen y cuando lleguen a la parte de «Featured Server Snaps» deberán seleccionar nextcloud posicionándose sobre ella y presionando «ESPACIO» y luego en «Done»

Finalizada la instalación, procederemos con el siguiente capítulo.



3. Instalación y configuración

Primero que todo procederemos a actualizar nuestro sistema operativo con el siguiente comando:

sudo apt-get update

Luego, verificaremos que el snap de Nextcloud se encuentre instalado

snap changes nextcloud

Ya que sabemos que el snap de Nextcloud se encuentra instalado, procederemos a configurar la cuenta de administrador para que podamos acceder luego a nuestra interfaz web

sudo nextcloud.manual-install rmunoz password

Donde «rmunoz» es el usuario y «password» la contraseña. Esto es solo un ejemplo, si la implementación la realizaran en un entorno productivo es recomendable usar contraseñas mas fuertes.

Ahora ajustaremos los dominios de confianza. Esto debido a que Nextcloud restringe las conexiones y llamadas cuando se realice consultas al servidor. En el caso que no se configure esta opción, el servidor solo responderá a localhost y puede que se produzca algún error.

Para esto verificaremos nuestra configuración de trusted_domains por defecto:

sudo nextcloud.occ config:system:get trusted_domains

Como se muestra en el ejemplo, solo se encuentra localhost definido, ahora procederemos agregar nuestro servidor con su nombre o dirección IP como se muestra a continuación:

cat /etc/hostname
sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
sudo nextcloud.occ config:system:get trusted_domains

Ahora procederemos a proteger la interfaz web de Nextcloud con SSL

Para esto hay dos modelos:

  • Configurar SSL con let’s Encrypt: Esta opción la configuraremos si tenemos nuestro servidor dentro de un dominio.
  • Configurar un SSL con un certificado autofirmado: Esta opción la configuraremos si no tenemos nuestro servidor en un dominio

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

Como mencionamos anteriormente, si tenemos nuestro servidor dentro de un dominio, recomendamos confugrar SSL con Let’s Encrypt siguiendo los siguientes pasos.

Comenzaremos abriendo los puertos en nuestro firewall

sudo ufw allow 80,443/tcp

Luego solicitaremos un certificado Let’s Encrypt, tecleando el siguiente comando:

sudo nextcloud.enable-https lets-encrypt

Cuando solicitamos el certificado, nos aparecera un anuncio para verificar que su servidor cuenta con todo lo requerido para instalar el certificado SSL de Let’t Encrypt donde tendremos que presionar la tecla «Y» y enter

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)

Después, le solicitara un correo electrónico para tareas administrativas y recuperación

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

Y para finalizar, procederemos a ingresar nuestro dominio

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

Luego de eso, se solicitara el certificado y el servicio de apache se reiniciara automáticamente

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

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

Ahora procederemos a instalar el certificado SSL autofirmado para nuestro servidor que no esta dentro de un dominio. Para esto digitaremos el siguiente comando:

sudo nextcloud.enable-https self-signed
Generating key and self-signed certificate... done
Restarting apache... done

Ahora procederemos abrir los puertos en nuestro Firewall con el siguiente comando:

sudo ufw allow 80,443/tcp

Realizado todo lo anterior, procederemos abrir nuestro navegador preferido e ingresaremos el nombre de nuestro servidor para ingresar a Nextcloud

https://example.com/

Espero que les sea de ayuda estos turoriales que vamos subiendo y pronto estaremos creando videos de ayuda.

No olvides dejarnos tus comentarios y compartir en tus redes sociales



Please follow and like us: