Archivo de etiquetas file sharing

Porcreadores

Mediaserver en un Cubieboard A10

Objetivo

En mi caso estoy buscando compartir algunos videos, música y libros digitales utilizando un servidor web y dlna. Además usaré este tipo de instalación como base para el desarrollo de nuestra plataforma para IoT (Internet of Things).

Lista de materiales

  • Cubieboard A10
  • Disco duro SATA de espacio a elegir (yo estoy usando 1TB)
  • Cable SATA + 5V breakout
  • Adaptador o fuente de alimentación de 5V a 2A
  • Wifi DWA-131E1 marca D-Link

sata-cable-5v-2a-dc-power-adapter

Instalando la plataforma

Descarga la imagen

Primero hay que descargar la imagen. La que estoy utilizando y me funcionó muy bien es la Cubian-nano-x1-a10-hdmi.img. Aquí el torrent para descargarlo.

Si no tienes 7z, lo puedes descargar en ubuntu así:

sudo apt-get install p7zip

Una vez descargado, puedes descomprimir el archivo así:

7zr x Cubian-nano-x1-a10-hdmi.img.7z

Copia la imagen a la memoria uSD

Coloca tu memoria sd en el lector y copia la imagen a la misma. Yo estoy usando micro sd’s de 8GB y me han funcionando muy bien.

micro_sd_8gb

sudo dd if=Cubian-nano-x1-a10-hdmi.img of=/dev/mmcblk0

Nota que en mi caso la memoria sd se detecta como /dev/mmcblk0 y así como aparece lo uso. NUNCA uses la partición /dev/mmcblk0p1.

Configurando el sistema

Inicia el sistema

Arranca tu sistema conectando un monitor y un teclado. Sigue el wizard para realizar la configuración inicial y reinicia el sistema.

cubieboard

Actualiza el sistema

Actualiza los paquetes y el sistema para tener la última versión.

sudo su -
apt-get install aptitude
aptitude update
aptitude upgrade

Wifi

Instalando el módulo

Estoy usando una tarjeta DWA-131E1 de D-Link, su módulo no está incluido en la distribución, así que lo voy a compilar. Es relativamente fácil encontrar este hardware en México y también es económico, por eso lo incorporé al diseño.

dwa-131e1

aptitude install usbutils
aptitude install firmware-realtek firmware-linux

aptitude install build-essential git
aptitude install linux-headers
aptitude install linux-headers-3.4.79-sun4i

git clone https://github.com/romcyncynatus/rtl8192eu.git

Ya que tenemos todos los paquetes necesarios, ahora sí lo compilaremos.

cd rtl8192eu

Comenta la siguiente línea  en el archivo Makefile anteponiendo el numeral #

#EXTRA_CFLAGS += -Wno-error=date-time

Guarda el archivo y comienza la compilación,  posteriormente instala los binarios

make ARCH=arm KVER=3.4.79-sun4i
make ARCH=arm KVER=3.4.79-sun4i install

Agrega las opciones del módulo, no estoy muy claro si las debería de llevar o no, si alguien ha hecho más pruebas, me vendrían muy bien sus comentarios.

Crea el archivo /etc/modprobe.d/8192eu.conf

options 8192eu rtw_power_mgnt=0 rtw_enusbss=0

Edita el archivo que carga los módulos al arranque para que esté presente cuando inicies la cubieboard. /etc/modules

#wifi
8192eu

Reinicia y prueba que se cargue el módulo correctamente. Una forma sencilla es ejecutar el comando:

lsmod | grep 8192eu

Configurando el SSID

Ejecuta el siguiente comando, reemplazando Mi_SSID por el nombre de tu red.

wpa_passphrase Mi_SSID

La salida será parecida a esto:

network={
   ssid="Mi_SSID"
   #psk="my_very_secret_passphrase"
   psk=ee80f3ecd6496a956e76f7c0332960326951f8edee80f3ecd6496a956e76f7c0332960326951f8ed
}

Para que se configure al inicio del sistema tenemos que editar /etc/network/interfaces.

auto wlan0
iface wlan0 inet dhcp
   wpa-ssid Mi_SSID
   wpa-psk ee80f3ecd6496a956e76f7c0332960326951f8edee80f3ecd6496a956e76f7c0332960326951f8ed

Prueba que funcione levantando la interface y revisando que se haya configurado correctamente con ifconfig.

ifup wlan0 && ifconfig wlan0

Almacenamiento

disco_duro_2-5

Preparar el almacenamiento

Apaga el sistema y conecta el disco duro de 2.5″, seguramente el sistema le asignará el descriptor /dev/sda1, lo puedes checar con un dmesg.

Formatea con ext4

mkfs.ext4 -I 256 /dev/sda1

Móntalo permanentemente

Edita el archivo /etc/fstab, es el lugar en donde el sistema guarda la tabla para montar sistemas de archivos automáticamente. Agrega al final la siguiente línea.

/dev/sda1  /archivos  ext4  noatime,dealloc  0  0

Arregla los locales

Encontrarás errores sobre los locales si cambiaste el idioma de inglés a español. Aquí algunos tips de como arreglarlo:

locale-gen
dpgk-reconfigure locales

Instalando el miniDLNA

Ahora configuraremos el servidor miniDLNA que nos ayudará a compartir la música y los videos con smartTVs y consolas.

aptitude install minidlna

Edita el archivo /etc/minidlna.conf y cambia las siguientes líneas:

media_dir=/mi_ruta
presentation_url=http://mi_ip:8200

Cambia /mi_ruta por el directorio en donde están tus archivos a compartir, también cambia mi_ip por la IP que tu sistema usará. (también sería recomendable configurar tu interface wlan0 con una dirección estática para que nunca cambie).

Instalando el servidor web

Un servidor web muy ligero y rápido es nginx, en lo personal lo prefiero a apache para aplicaciones pequeñas. No viene preeinstalado en el sistema, así que hay que instalarlo y configurarlo.

aptitude install nginx

Edita el archivo /etc/nginx/sites-enable/default, encuentra la sección que comienza con «location /» y agrega esto entre las llaves:

autoindex on;

La línea anterior te permitirá ver todos los archivos y navegar entre ellos.

Aquí puedes agregar un sistema sencillo de autenticación como un htaccess o similar.

Happy sharing!!