Servidor casero

Tener un servidor en casa en el que guardar fotos, vídeos, documentos y que estén accesibles desde cualquier lugar de la red, manteniendo la privacidad de lo que se tiene y pudiendo compartir con quien se quiera lo que se quiera.

Así que manos a la obra. He optado como servidor por un CuBox-i4×4 (#cu04x4w-p-220-08k) maquina con 4 MB de RAM y un consumo eléctrico bajo, al que le instalaré un Debian.

Añado a la maquina dos discos usb, uno de 300 GB y otro de 1TB.


Una vez recibida la maquina, procedo a descargarme, en mi portátil, la imagen correspondiente a debian jessie y procedo a cargarla en la tarjeta flash.

$> sudo dd bs=1M if=Armbian_4.5_Cubox-i_Debian_jessie_3.14.54.raw of=/dev/mmcblk0

El sistema viene configurado para que la IP sea asignada por el servidor dhcp, pero dado que lo quiero como servidor, quiero que tenga un IP fija dentro de mi red y poder acceder a el remotamente mediante ssh, por lo que en la tarjeta flash accedemos al fichero en /media/usuario/tarjeta_flash/etc/network/interfaces cambiando

iface eth0 inet dhcp

por las siguiente lineas

# iface eth0 inet dhcp
iface eth0 inet static
        address 192.168.1.123
        netmask 255.255.255.0
        network 192.168.0.0
        boadcast 192.168.0.250
        gateway 192.168.1.1
        dns-nameservers 208.67.222.222 208.67.220.220

Una vez hecho esto, pinchamos la tarjeta en el cubox y los dos discos en las conexiones usb. Acoplamos el cable de red al router y encendemos el servidor.

Abrimos un terminal y

$> ssh root@192.168.1.123

conecta y nos pide login: root y password: 1234 pidiendo cambiar la contraseña del administrador.

Actualizamos el sistema:

$> apt-get update
$> apt-get upgrade

Configuramos la zona y la hora del servidor:

$> dpkg-reconfigure tzdata

Configuramos la DNS dinámica a fin de poder localizar el ordenador desde internet. En mi caso, voy a usar un dominio de los ofrecidos por no-ip nombre.no-ip.n

Instalamos inadyn:

$> apt-get install inadyn

y configuramos el fichero /etc/inadyn.conf añadiendo las siguientes lineas:

    system default@no-ip.com
    username miNombreUsuarioEnNo-IP
    password miContraseñaenNo-IP
    alias nombre.no-ip.net

reiniciamos el servicio:

$> service inadyn restart

Se añada un usuario para evitar entrar siempre como administrador:

$> adduser usuario

y en el fichero /etc/sudoers se le pueden asignar permisos de administrador.

Si se quiere cambiar el puerto ssh para que el acceso no se haga por el puerto 22 sino por otro diferente se edita el fichero /etc/ssh/sshd_config modificando el valor de la linea:

Port 22

Abrir el router para que el puerto escogido para ssh apunte a la IP 192.168.1.123, de esta forma podemos acceder a nuestro servidor desde internet :

$> ssh usuario@nombre.no-ip.net

Apagamos el servidor y extraemos la tarjeta flash.


El disco duro de 1 TB lo formateo con una única partición ext4 ya que la idea es usarlo como un servidor nas en el que guardar ficheros y el disco de 300 GB hacemos una partición de 4GB como swap para evitar que pudiera tener problemas de memoria en algún momento y el resto como una partición ext4 sobre el que vamos a montar el directorio /var

Una vez formateados ambos discos movemos el contenido del directorio /var de la tarjeta flash al disco duro de 300 GB.

$> sudo mv /media/usuario/flah/var/* /media/usuario/disco

Editamos el fichero /etc/fstab de la tarjeta flash añadiendo las siguientes lineas, a fin de que en el arranque monte automáticamente los discos duros:

/dev/sdb1 /var ext4 defaults,auto,errors=remount-ro 0 1
/dev/sda1 /nas ext4 defaults,auto,errors=remount-ro 0 1
/dev/sdb2 none swap sw 0 0

Arrancamos el servidor con los discos duros puestos en los puertos usb y comprobamos que los discos están bien montados:

$> df -h

Por ultimo instalamos fail2ban para protegernos de ataques de fuerza bruta y tenemos el servidor casero base disponible.

$> sudo apt-get install fail2ban

Category: Debian, Informatica | Tags: , ,

Incorporar un recurso compartido en red Win*

Tengo en el trabajo un ordenador Win que comparte una carpeta donde vuelcan los escaneos y los documentos de usar y tirar que compartimos en la intranet. Quiero acceder a dicha carpeta desde mi ordenador (con Debian) desde el que poder coger y dejar ficheros.

Localizamos e identificamos el recurso compartido:

  • la ip del ordenador 192.168.a.b
  • el recurso compartido \Carpeta

 

Procedemos a instalar el paquete cifs-utils e intentamos montar el recurso en /mnt indicando la opción del usuario autorizado al uso del recurso compartido.

$> sudo apt-get install cifs-utils
$> sudo mount -t cifs //192.168.a.b/Carpeta /mnt -o user=YO

Si todo va bien, nos pedirá la contraseña del usuario y una vez dada, tendremos el recurso montado en /mnt

Por ultimo configuramos para que haga el montaje automáticamente al arranque del sistema, para ello editamos el fichero /etc/fstab añadiendo al final la linea

//192.168.a.b/Carpeta  /home/yo/Documentos  cifs username=Usuario_Remoto,password=Contraseña,_netdev,uid=YO,gid=YO  0  0

siendo Usuario_Remoto y Contraseña los correspondientes al usuario del recurso compartido y YO al usuario debian.

 

Instalar Brother DCP-7065DN en Debian

Instalación de la impresora Brother DCP-7065DN en un sistema debian y/o ubuntu.

Se obtienen los drivers para linux desde el servidor de Brother: LPR driver y cupswrapper driver, guardándolo en la carpeta de Descargas.

Abrimos un terminal

cd Descargas
sudo dpkg -i dcp7065dnlpr-2.1.0-1.i386.deb
sudo dpkg -i cupswrapperDCP7065DN-2.0.4-2.i386.deb

Mi Brother DCP-7065DN se encuentra en la ip 192.168.1.200 de mi intranet.

Procedemos en Configuración del sistema a añadir la Impresora

Ingrese el URI
    ipp://192.168.1.200/ipp

Elija un controlador
    Brother
    DCP7065DN for CUPS

Imprimimos una pagina de prueba y comprobamos que esta instalada.

Cambiamos la opción predeterminada Opciones de la impresora en Duplex a DuplexNoTumble para que imprima las hojas por las dos caras.


Una vez instalada la impresora procedemos a instalar y configurar los drivers para el escaner.

En la web de Brother se encuentran los drivers que para nuestra impresora corresponde *brscan4 y nos bajamos los correspondientes a una arquitectura de 64 bits: brscan 64 y scan-key-tool 64 bits.

Abrimos un terminal

cd Descargas
sudo dpkg -i brscan-skey-0.2.4-1.amd64.deb
sudo dpkg -i brscan4-0.4.2-1.amd64.deb

Una vez instalados los driver solo nos queda configurarlo para que pueda ser reconocido por cualquier programa como, por ejemplo, XSane y para ello le indicamos la IP donde se encuentra en nuestra red. En una terminal tecleamos

brsaneconfig4 -a name=DCP-7065DN model=DCP7065DN ip=192.168.1.200

Y ya tenemos operativa la impresora y el escaner para usar.

Category: Debian, Informatica | Tags: ,

Fusionando librerías en Calibre. Codificación de caracteres

Me propuse unir dos librerías en Calibre, una de ellas cedida con otra propia. Mi idea consistía meter todos los libros de las dos librerías en la misma carpeta y luego proceder a crear el índice de la nueva librería con calibredb restore_database, pero cuando voy a hacerlo saltan los errores. Errores de python (lenguaje en que esta desarrollado Calibre) indicando que cierto carácter ‘utf-8’ no era reconocido.

“UnicodeDecodeError: ‘utf8’ codec can’t decode byte 0xb1 in position …”

 

Después de leer y buscar información y observar que podría estar pasando, me di cuenta que los nombres de los archivos contenían caracteres extraños, y dado que mi sistema esta configurado en locales como UTF-8, el problema podría venir porque la librería añadida había sido codificada en un sistema diferente, ISO-8859-1.

 

Así que la solución pasaba por una conversión de todos los ficheros codificados con ISO-8859-1 a UTF-8, y para ello, existe una herramienta en nuestro debian: convmv.

Puesto en la carpeta de la Biblioteca_de_Calibre

> convmv -f ISO-8859-1 -t UTF-8 * –notest

donde -f es la codificación de entrada -t es la codificación de salida y –notest es para que ejecute el cambio (sin esta opción solo realiza un test sin realizar cambios en los ficheros). El * indica que se aplique recursivamente a todos los ficheros contenidos en la carpeta actual.

Una vez cambiada la codificación, procedo a reconstruir el índice de calibre

> calibredb restore_database -r –library-path=/ruta_a/Biblioteca_de_Calibre

operación que realiza sin problemas, obteniendo una única librería.

 

Category: Debian, Informatica | Tags: , , ,