Cómo crear su propia sincronización de archivos en la nube con Nextcloud

Servicios como Dropbox le facilitan el acceso a sus archivos en varios dispositivos. Sin embargo, es posible que desee tener más control sobre ellos. En menos de 30 minutos, puede tener su propio servicio de sincronización en la nube en funcionamiento en un servidor que controla a través de Nextcloud.

¿Qué es Nextcloud?

Nextcloud es un software de código abierto que le permite sincronizar archivos entre su PC y otros dispositivos, tal como lo haría con Dropbox, Onedrive o Google Drive. Además, Nextcloud tiene un ecosistema de aplicaciones vibrante que le permite hacer más que sincronizar archivos. Puede utilizar Nextcloud para la gestión de contactos y calendarios o para ejecutar un cliente de correo electrónico IMAP basado en la web. Incluso puede configurar un programa de chat en vivo exclusivamente para usted y cualquier otra persona que pueda acceder a su servidor.

Sin embargo, antes de entrar en detalles, hay una advertencia. Una vez que comience a usar Nextcloud, depende de usted mantener el servidor. Esto significa que, además de administrar el software Nextcloud, debe asegurarse de que el sistema operativo del servidor subyacente se mantenga actualizado con los parches. Los servidores de Nextcloud generalmente no tienen problemas, pero si algo sale mal, depende de usted solucionarlo.

La buena noticia es que hay muchos blogs forosy páginas de ayuda para ayudarlo a solucionar problemas. Si encuentra un problema, es probable que le haya pasado a otra persona y existe una solución.

Lo que necesitarás

La interfaz de Nextcloud.La interfaz web predeterminada de Nextcloud.

Necesitará los siguientes tres elementos para comenzar con Nextcloud:

Un servidor virtual con Ubuntu 18.04
El shell Bash en el escritorio de su computadora.
Un nombre de dominio.

Para nuestros ejemplos, crearemos varios nombres de usuario y contraseñas, incluidos los siguientes:

El nombre de usuario raíz y la contraseña de su servidor.
Un nombre de usuario y una contraseña de servidor normal con privilegios administrativos.
Un nombre de usuario y contraseña de Nextcloud.

Para los propósitos de este tutorial, estamos usando un servidor virtual que ejecuta Ubuntu 18.04 de DigitalOcean. Sin embargo, puede utilizar cualquier proveedor que desee, incluido Linode o AWS. Cualquiera que sea el servicio que elija, la clave es ejecutar Ubuntu 18.04 (la versión actual de soporte a largo plazo en este momento) para evitar problemas potenciales.

Cada proveedor de servidor virtual es un poco diferente, pero todos apuntan a poner un servidor en funcionamiento con unos pocos clics del mouse. Para empezar, le recomendamos que utilice un servidor de nivel base a modo de prueba hasta que se acostumbre a Nextcloud. Océano digital La gota de $ 5 ofrece 1 GB de RAM, 1 núcleo de CPU, 1 TB de transferencia de datos y 25 GB de almacenamiento. Linode ofrece un VPS similar por el mismo precio.

A menos que se sienta cómodo con las claves SSH, solicite a su proveedor los detalles de inicio de sesión raíz basados ​​en contraseña para comenzar. Una vez que su servidor se esté ejecutando y se sienta cómodo con la línea de comandos, puede consultar las páginas de ayuda de su proveedor sobre cómo agregar claves SSH para un inicio de sesión más seguro.

Si su computadora ejecuta Windows 10, deberá instalar el Subsistema de Windows para Linux y obtener un shell Bash con utilidades de Linux para continuar. Si usa Linux o macOS, el programa Terminal es todo lo que necesita. La mayoría de los terminales Bash vienen con SSH instalado, pero, si no es así, simplemente escriba sudo apt-get install ssh en la ventana del terminal para instalarlo.

Cuando compra un nombre de dominio, no tiene que ser una dirección .COM. Solo usted y sus amigos cercanos y familiares lo usarán. Por ejemplo, encontramos un nombre de dominio .XYZ por solo $ 1 al año que funcionará bien.

Preparando su servidor

Un hombre de pie en un centro de datos.

Para que su servidor esté listo para la acción, debe configurar una cuenta de usuario normal con privilegios administrativos. Es una idea terrible, terrible, iniciar sesión como el usuario root todopoderoso después de la configuración inicial.

A estas alturas, debería tener una dirección IP y una contraseña raíz de su proveedor de servidor. La dirección IP es cómo te conectas al servidor y la contraseña te permite ingresar.

Para comenzar, escriba lo siguiente (reemplace las X con la dirección IP de su servidor) y luego presione Enter:

ssh [email protected]

Nuestra dirección IP es 165.22.81.172, así que la escribimos en nuestro comando. Si todo va según lo planeado, el servidor remoto (donde colocará Nextcloud) le pedirá una contraseña. Escriba la contraseña que le dio su proveedor de servidor.

Luego se le pedirá que establezca una nueva contraseña para root. Elija lo que quiera, ¡no lo pierda ni lo olvide!

Ahora está dentro de su servidor remoto y es hora de ponerse a trabajar. Presione Entrar después de cada comando en este artículo para ejecutarlo.

Primero, escribimos lo siguiente para agregar un nuevo usuario al servidor:

adduser ian

Reemplace «ian» con el nombre de usuario que desea utilizar. Una vez que ejecute este comando, se le pedirá que le dé una contraseña al nuevo usuario. Después de hacer eso, el resto de la información que solicita el servidor es opcional; si no desea proporcionarlo, siga presionando Enter.

A continuación, escribimos lo siguiente para otorgar a nuestro nuevo usuario privilegios administrativos:

usermod -aG sudo ian

Nuevamente, reemplace «ian» con el nombre de usuario que eligió anteriormente.

Ahora, abrimos una segunda ventana de terminal y escribimos lo siguiente para asegurarnos de que las nuevas cuentas de usuario funcionen:

ssh [email protected]

Nuevamente, reemplace lo anterior con su nombre de usuario y la dirección IP de su servidor. Escriba la contraseña que creó para esta cuenta de usuario cuando se le solicite. Si funciona, regrese a la ventana de terminal en la que inició sesión como root.

Ahora, escribimos lo siguiente para asegurarnos de que el firewall de Ubuntu funcione correctamente:

ufw permite OpenSSH
habilitar ufw
estado de ufw

Ese último comando de estado debería devolver algo como la imagen a continuación, confirmando que el firewall no bloqueará SSH.

La salida del

Todavía no verá la parte «80, 443 / tcp», pero llegaremos a eso más adelante. Ahora, cerremos la ventana raíz y regresemos a la segunda ventana de terminal con el usuario normal.

Instalación de Nextcloud

Hubo un momento en que tuvo que configurar e instalar el software Nextcloud, PHP, el software del servidor web y la base de datos, todo por separado.

Es mucho más fácil usar el paquete Snap oficial, que se encarga de todo con un solo comando. No hay que meterse con la base de datos ni preocuparse si Apache o Nginx están sirviendo su sitio.

Si desea ver exactamente lo que instala el paquete Snap (spoiler: es el resto de la pila LAMP, más Redis), consulte el Repositorio de snap de Nextcloud en GitHub.

Escribimos lo siguiente:

sudo snap instalar nextcloud

El «sudo» al principio eleva la cuenta de usuario normal para que tenga derechos administrativos temporales. Se le pedirá su contraseña para realizar esta operación. Si todo va bien, en uno o dos minutos, Nextcloud estará instalado y (casi) listo para la acción.

A continuación, escribimos lo siguiente para crear una nueva cuenta de usuario de Nextcloud que pueda iniciar sesión en nuestro sitio:

sudo nextcloud.manual-install ianpaul correctHorseBatteryStaple

En lugar de «ianpaul», escriba el nombre de usuario que desea utilizar para iniciar sesión en Nextcloud. El bit «correctHorseBatteryStaple» es nuestra contraseña. No lo use, es de un conocido Cómic XKCD y es solo un ejemplo.

Tratar con dominios

Para hacer la vida más fácil, no queremos usar una dirección IP todo el tiempo para acceder a nuestro servidor. En su lugar, usaremos un nombre de dominio, que, nuevamente, puede obtener por tan solo $ 1 por año. Para nuestro ejemplo, estamos usando HowToGeekTest.xyz.

Una vez que tenga un dominio, querrá administrar la configuración de DNS de su registrador de dominio (donde compró el dominio) y apuntarlos a su proveedor de servidor. Si elige DigitalOcean, por ejemplo, esas configuraciones serían ns1.digitalocean.com, ns2.digitalocean.com y ns3.digitalocean.com.

A continuación, vaya a su proveedor de servidor (por ejemplo, DigitalOcean, Linode o lo que elija) y agregue el nuevo dominio a su cuenta. Deberá agregar un registro A que apunte a su dirección IP, un registro CNAME si no desea usar “www” todo el tiempo y registros NS si no se agregaron automáticamente.

La siguiente imagen muestra un ejemplo de DigitalOcean.

Una cuadrícula de registros DNS de DigitalOcean.

Técnicamente, pueden pasar hasta 24 horas antes de que su dominio esté disponible, pero por lo general comienza a funcionar en unos minutos.

Volver a Nextcloud

Con el dominio configurado, podemos volver a finalizar Nextcloud en la terminal. Si se desconectó del servidor con su cuenta de usuario habitual ([email protected] en nuestro ejemplo), vuelva a iniciar sesión.

Ahora, escribimos lo siguiente para agregar nuestro nuevo dominio a Nextcloud:

sudo nextcloud.occ config: sistema: establecer dominios_de_confianza 1 –valor = howtogeektest.xyz

Después de “–value =”, escriba su dominio en lugar del nuestro (howtogeektest.xyz).

A continuación, escribimos lo siguiente para asegurarnos de que nuestro nuevo dominio se agregó correctamente:

sudo nextcloud.occ config: system: obtener dominios_de_confianza

El terminal debería imprimir algo como la imagen de abajo.

los

A continuación, escribimos lo siguiente para asegurarnos de que podamos usar los puertos que queremos dejándolos pasar por el firewall:

sudo ufw permite 80,443 / tcp

El puerto 80 lo utiliza el tráfico HTTP no cifrado, mientras que el 443 es para SSL / TLS.

Hablando de eso, vamos a necesitar un certificado SSL / TLS gratuito de Let’s Encrypt, así que escribimos lo siguiente:

sudo nextcloud.enable-https permite-encriptar

Una vez que el generador Let’s Encrypt comienza a ejecutarse, solicita una dirección de correo electrónico y su nombre de dominio Nextcloud. Simplemente siga las instrucciones y debería tener un certificado de sitio web seguro en poco tiempo. Si Let’s Encrypt funcionó, es hora de probar su configuración.

Vaya a su nuevo dominio (como nuestro howtogeektest.xyz). Debería ver una página de inicio de sesión de Nextcloud (ver más abajo) con un icono de candado en la barra de direcciones.

La página de inicio de sesión de Nextcloud.

Si ve la página de inicio de sesión, está listo para comenzar. Si no es así, espere unas horas y vuelva a intentarlo. Si desea solucionar el problema de inmediato, puede ver si el servidor responde a través de la dirección IP.

Para que esto funcione, tenemos que escribir lo siguiente, para agregar la dirección IP a nuestros dominios de confianza:

sudo nextcloud.occ config: sistema: establecer dominios_de_confianza 2 –valor = 165.22.81.172

Tenga en cuenta que usamos «dominios_de_confianza 2» y no «dominios_de_confianza 1.» Si simplemente repite «confiable_dominios 1», sobrescribirá su nombre de dominio real en la lista de dominios confiables y no podrá usarlo.

Una vez hecho esto, escriba la dirección IP en la barra de direcciones de su navegador y debería ver la página de inicio de sesión arriba. Si no es así, algo salió mal con la instalación.

Dado que no tenemos un certificado SSL para la dirección IP, no podrá iniciar sesión de forma segura. Por esa razón, le sugerimos que elimine la IP de la lista de dominios de confianza después de confirmar que el servidor está funcionando. Para hacer esto, escriba lo siguiente:

sudo nextcloud.occ config: sistema: eliminar dominios_de_confianza 2

Impulsar el rendimiento

Si su servidor Nextcloud no está funcionando bien, es posible que deba aumentar el límite de memoria. De forma predeterminada, es de 128 MB. Para aumentar eso a 512 MB, debe iniciar sesión en el servidor usando la terminal y escribir lo siguiente:

sudo snap establece nextcloud php.memory-limit = 512M.

Ahora que Nextcloud está en funcionamiento, puede iniciar sesión, examinar las aplicaciones disponibles, compartir archivos con otros e instalar Nextcloud en su escritorio y dispositivos móviles para la sincronización de múltiples dispositivos. Nextcloud ofrece herramientas de sincronización de escritorio y aplicaciones móviles para Windows, Mac, Linux, iPhone, iPad y Android.

¡Bienvenido a su propio buzón personal!