Servidor Nextcloud: Creando un Almacenamiento Conectado en Red (NAS) con un ODROID-HC2

Esta guía te enseñará a configurar un NAS (Almacenamiento conectado en red) en un ordenador de placa reducida ODROID-HC2. No hay ninguna razón por la cual no pueda funcionar en un HC1 o XU4, sin embargo, el XU4 usa USB3 en lugar de SATA. La guía está escrita pensando en aquellas personas que no tienen experiencia con Linux, pero sí una mínima experiencia con el montaje de ordenadores. La he escrito porque mi experiencia con Linux era mínima y me costó bastante trabajo averiguar cómo configurarlo todo, e incluso tuve que leerme unas cuantas docenas de guías.

Listado de componentes

  • ODROID-HC2 : Home Cloud Two
  • Fuente de alimentación 12V/2A con clavija US para el ODROID-HC2
  • Kit módulo ODROID-USB-UART
  • Tarjeta de memoria de 32GB clase 10 SDHC UHS-I SanDisk, hasta los 80 MB, gris/negro (SDSDUNC-032G-GN6IN)
  • Cable de conexión Ethernet RJ45 Cat-6 - 3 pies (0,9 metros)
  • Carcasas ODROID-HC2 (negra)
  • Unidad de disco duro WD Red NAS de 2TB - 5400 RPM Clase SATA 6 Gb/s 64MB Cache 3.5 Inch - WD20EFRX

El HC2 es superior al Raspberry Pi 3 ya que tiene conexión ethernet gigabit, una conexión de disco duro SATA, una CPU más rápida de 2 Ghz y 2 GB de memoria. Está diseñado específicamente para ser un dispositivo de almacenamiento conectado en red o un pequeño servidor. La Raspberry Pi 3 es superior en cuanto a la cantidad de soporte disponible de los fabricantes y de la comunidad. Opté por el HC2 sobre el HC1 porque las unidades de 3,5 pulgadas de alta capacidad son más económicas que las unidades de 2,5 pulgadas. El HC1 es más eficiente en cuanto a consumo, si esto es una cuestión que sueles tener en cuenta. El HC2 no tiene salida HDMI, de modo que todo debe configurarse antes de que la imagen se grabe en la tarjeta MicroSD, a través de una conexión remota VNC o a través de una conexión en serie con líneas de comandos. En esta guía realizaremos la configuración con una conexión en serie, pero vale la pena configurar un servidor VNC, ya que Linux es más fácil de usar con una GUI si no conoces muy bien los comandos de consola.

El HC2 necesita una fuente de alimentación de 12 voltios/2 amperios, una tarjeta MicroSD y un disco duro SATA de 3.5 pulgadas. Usé un disco duro Toshiba de 3TB que tenía por ahí. El HC2 con la tapa solo admite discos duros de hasta 27 mm de altura.

Además, si los tornillos incluidos son demasiado cortos, es posible que necesite otros tornillos para fijar el disco duro a la estructura de aluminio del HC2.

También necesitarás un cable ethernet para conectarte a tu router y a Internet. Además, necesitará un ODROID-USB-UART para conectarte al puerto serie del HC2.

Hazte con una carcasa HC2 por 5$ para cerrarlo todo una vez hayas terminado.

Montaje

El montaje es extremadamente simple. Coloca el disco duro en la parte inferior del HC2 y lo deslizas hacia el puerto SATA. Sujetando el disco duro y la estructura de aluminio, le das la vuelta a las dos piezas para asegurarte de que el disco duro no haga peso sobre el conector SATA. Una vez que lo tengas boca abajo, usa los tornillos para fijar la parte inferior del disco duro al HC2. Dale la vuelta de nuevo y conecta el cable ethernet desde HC2 a tu router. Conecta el USB-UART al puerto serie del HC2. Conecta el extremo USB a tu ordenador. No conectes la fuente de alimentación todavía.

Software

Descargue la versión ubuntu-16.04.3-4.9-mate-odroid-xu4-20171025.img.xz de ODROID desde https://odroid.in/ubuntu_16.04lts. Ubuntu es una distribución Linux gratuita y muy estable. Mientras se estaba descargando, descargue también Etcher: https://etcher.io/. Etcher es un software con el que grabas la imagen de Ubuntu en su tarjeta MicroSD. Coloca tu tarjeta MicroSD en el adaptador MicroSD de tu ordenador e inicia Etcher. Selecciona la imagen de Ubuntu y la tarjeta MicroSD y luego haga clic en "Flash". Le llevará unos minutos hasta que finalice el proceso. Cuando termine, Windows mostrará un mensaje para que formatees la unidad antes de usarla. Haga clic en "Cancelar".

Coge tu tarjeta MicroSD grabada e insértala en la ranura MicroSD del HC2.

Figura 1 – Grabado en una unidad con Etcher

Descarga los drivers para USB-UART de aquí: https://goo.gl/opafDn

Extrae e instala los drivers. Una vez que los controladores estén instalados, descubrirás que aparece como un puerto COM dentro del administrador de dispositivos.

Figura 2 - Toma nota del puerto COM del dispositivo USB-UART

A continuación, descarga e instala PuTTY desde http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe. PuTTY es un programa gratuito de consola que utilizaremos para enviar comandos al HC2. PuTTY te solicitará la configuración de la conexión. Introduce el número de COM que aparecía en el administrador de dispositivos, 115200 en la velocidad y comprueba que “Serial” es el tipo de conexión seleccionada. Guarda tu configuración por si necesitas usarla en el futuro.

Figura 3 - Configuración de PuTTY

Configuración

Haga clic en "Open" en PuTTY y conecta la fuente de alimentación al HC2. La ventana de la consola mostrará todos los mensajes del arranque y finalmente, aparecerá un aviso de inicio de sesión. La información de inicio de sesión por defecto es:

Usuario: odroid Contraseña: odroid

Credenciales de acceso root:

Ususario: root Contraseña: odroid

Vamos a iniciar sesión e instalar primero las actualizaciones. El comando sudo es el comando de "Super Usuario" para ejecutar comandos como Admin o Root. Escribe los siguientes comandos:

$ odroid login: odroid
$ Password: odroid

$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo apt install linux-image-xu3
Cuando instales linux-image-xu3, aparecerá un aviso indicándote que la actualización del kernel es peligrosa y si quieres abortar la actualización. Selecciona "NO". A veces aparecerán errores de los archivos que están siendo utilizados en el arranque. Si lo hace, introduce el siguiente comando y el proceso continuará desde donde lo dejó:
$ sudo reboot

Particionar el disco duro

Regresa y escribe:

$ sudo apt-get install lshw
$ sudo lshw -C disk
Esto mostrará una lista de todas las unidades de almacenamiento conectadas

Figura 4 - Listado de unidades de almacenamiento conectadas

En este caso, necesitarás el nombre lógico del disco duro "/dev/sda". A continuación, peticionaremos el disco:

$ sudo fdisk /dev/sda
Crea un nuevo tipo de partición presionando "n" para la nueva partición, "p" para la partición primaria, luego "1". Para el inicio y final de la partición, presiona INTRO dos veces para usar los valores por defecto de la unidad completa, luego introduce "w" para escribir la tabla de particiones y salir de fdisk.

Formatear el disco duro

En esta sección, vamos a formatear el disco duro como ext4. Si alguna vez tienes que recuperar los datos de la unidad, debes saber que ext4 no es compatible de forma nativa con Windows. Esto no es un problema importante ya que Ubuntu/Nextcloud es capaz de gestionar todas las operaciones de lectura/escritura. Si necesitas que el disco sea directamente compatible con Windows o Mac, formatéalo como vfat (fat32). Ten en cuenta que vfat solo puede manejar archivos de hasta 4GB y particiones de hasta 2TB. Crea varias particiones que trabajen en torno a ese límite de tamaño.

Escriba el siguiente comando para formatear la unidad:

$ sudo mkfs -t ext4 /dev/sda1
Cuando finalice el formateo, configuraremos el disco duro para que se monte en el arranque. Vamos a crear un directorio en Ubuntu para montar el disco duro. Yo he nombrado el mío como "SATAHD" pero puedes usar cualquier otro nombre:
$ sudo mkdir /media/SATAHD
A continuación, necesitamos el UUID del disco duro. Cuando un disco duro está particionado, se genera un UUID y se asigna a la partición. Nuestro disco duro se identifica físicamente como "/dev/sda1", siendo "sda" la unidad y "1" la primera partición. Si el disco duro fuera de intercambió, /dev/sda1 sería la primera partición de la nueva unidad. Sin embargo, el UUID de la partición es único para esta partición. Si quieres que Ubuntu monte automáticamente cualquier unidad que incluiste como SATAHD, puede usar /dev/sda1 en lugar del UUID:
$ sudo blkid
Busca el resultado de "/dev/sda1 uuid =", luego copia el UUID en el bloc de notas o en un papel.

Figura 5 - Toma nota del UUID de la unidad

A continuación, vamos a configurar la unidad para que se monte automáticamente en el arranque. El comando "sudo nano" es un editor de texto basado en terminal:

$ sudo nano -Bw /etc/fstab
Usa las teclas de flecha para ir al final del archivo y añadir la siguiente línea:
UUID=7300860a-9dd1-4dd2-8978-d70f3f7bab1b /media/SATAHD EXT4 defaults 0 2
Usa el UUID que copiaste en el anterior paso en lugar del que yo usé. "/Media/SATAHD" es el punto de montaje y el directorio que hemos creado anteriormente. ext4 es el sistema de archivos que usamos para formatear la unidad. Si usaste algo que no fuera ext4, reemplázalo por sistema de archivos correcto.

Figura 6 - Editando /etc/fstab para montar automáticamente la unidad durante el arranque

Mantén presionado CTRL + X para salir. Presiona "Y" para guardar los cambios y Enter para guardar el archivo anterior, luego reinicia el ordenador:

 $ sudo reboot

Instalar Nextcloud

Vamos a instalar Nextcloud con un paquete snap. Si quieres instalar y configurar NextCloud manualmente, tienes disponible la documentación en http://goo.gl/DS5ZjY. Escriba el siguiente comando para instalarlo:

$ sudo snap install nextcloud
Nextcloud tiene una lista de dominios o direcciones autorizadas. Por defecto, la primera dirección IP con la que acceda a Nextcloud se agregará a esa lista. Después de esto, debes agregar las direcciones manualmente. Prefiero que mi router automáticamente proporcione la misma dirección IP al HC2 utilizando la dirección MAC. Si tu router no admite la asignación de direcciones IP de este modo, puedes configurar tu dirección IP para que sea estática y se asigne automáticamente en lugar de usar DHCP.

Para ver la dirección IP eth0 de tu HC2, escribe el siguiente comando:

$ ifconfig -a
Abre tu navegador y escribe la dirección IP de tu HC2. Serás recibido con la pantalla "Make a new admin account". Introduce un nombre de usuario y una contraseña. En la siguiente pantalla, cierre la ventana emergente "Welcome to Nextcloud". Haz clic en el icono en forma de engranaje situado en la esquina superior derecha. Selecciona "apps". Desplázate hacia abajo en la lista hasta que encuentre "External storage support". En el lado derecho, haga clic en el botón “Enable” para activarlo.

Haga clic de nuevo en el icono de engranaje en la esquina superior derecha. Selecciona "Admin." En la barra lateral izquierda, selecciona "External Storage". Haz clic en la casilla desplegable "Add Storage" y selecciona "Local". Completa la ubicación como "/ media / SATAHD" y pincha en la casilla de verificación de la derecha para guardar los cambios.

Figura 7 – Añadiendo el almacenamiento en Nextcloud

Tu disco duro aparecerá ahora en la pantalla de inicio como "Local". Si necesitaras modificar el archivo config.php del servidor, escribe:

$ sudo nano /var/snap/nextcloud/current/nextcloud/config/config.php
La configuración con la que probablemente tendrás que lidiar es con la de los dominios de confianza, en el caso de que cambie tu dirección IP. Para mayor seguridad, deberías cambiar la contraseña de la cuenta ODROID y root. Escribe:
$ sudo passwd
$ and
$ passwd
Puedes habilitar HTTPS, pero a los navegadores web no les gustarán los certificados autofirmados. Hazlo bien y usa Let's Encrypt. También puede configurar tu Nextcloud para que sea accesible a través de un DNS dinámico, pero ese será otro tutorial. Para comentarios, preguntas y sugerencias, visite el artículo original en http://autonomousdev.net/index.php/2018/03/06/odroid-hc1-2-ubuntu-nas-with-nextcloud-setup-guide/.

Lecturas recomendadas

https://help.nextcloud.com/t/adding-a-new-trusted-domain/26 https://github.com/nextcloud/nextcloud-snap https://docs.nextcloud.com/server/13/admin_manual/

Be the first to comment

Leave a Reply