Una Raspberry Pi es un dispositivo muy barato pero que puede tener en tu hogar un montón de usos avanzados que van más allá de instalar un simple sistema operativo «de escritorio» o un reproductor de películas. Puede resultar muy útil usarla como bloqueador de publicidad para todos los dispositivos de la casa (sin tener que instalar nada en ellos), tener un aMule o un programa de descarga de «torrents» encendidos todo el día para descargar archivos sin tener que consumir la electricidad que gasta un ordenador de escritorio, tener un servidor de plex para retransmitir vídeos a tus dispositivos, usarla como servidor de VPN para acceder en remoto a tus dispositivos desde fuera de tu casa o para navegar de forma segura en redes wifis inseguras… Las posibilidades son casi infinitas. Pero todas ellas comienzan por la elección e instalación de un sistema operativo idóneo para aquello que vamos a hacer.

Es muy importante ser consciente de las limitaciones de esta máquina. A pesar de ser un dispositivo increíblemente versátil, no es tan potente como nuestros ordenadores de escritorio, por lo que lo ideal siempre es prescindir de todo aquello que es superfluo. Para los proyectos que hemos sugerido antes eso significa que vamos a prescindir del entorno gráfico porque no lo vamos a necesitar para nada (no vamos a necesitar ni siquiera conectar la raspberry a un monitor). Ésto aumentará sustancialmente el rendimiento de nuestro dispostivo, pero también implicará que tendremos que comunicarnos con nuestro dispositivo introduciendo comandos de texto al estilo del antiguo MS-DOS. Pero que nadie se me asuste: ésta es la forma habitual de usar un servidor Linux aún hoy en día. Además tanto en éste como en los sucesivos tutoriales vamos a suponer que estáis dando vuestros primeros pasos en un linux sin entorno gráfico por lo que intentaré que todas las explicaciones sean muy gráficas y fáciles de seguir e intentaré expresarme de forma que me pueda entender cualquiera que no haya tocado un entorno como este en su vida.

En este tutorial en concreto vamos a aprender a instalar el sistema operativo que usaremos de servidor y a hacerle una configuración muy básica, y en posteriores tutoriales vamos a usar este recién instalado servidor para un montón de cosas útiles en cualquier hogar.

1) Hardware que vamos a necesitar:

Antes de empezar a instalar nada debemos revisar este «checklist» para comprobar que tenemos todo el hardware necesario para los proyectos que enseñaremos en el blog. Necesitaremos:

  • Un ordenador (ya sea Linux, Windows o Mac) para poder configurar el dispositivo.
  • Una placa Raspberry pi (para los proyectos que crearemos, nos servirá cualquiera desde la Raspberry Pi 2 en adelante. Incluso una Zero nos serviría). Una sencilla búsqueda en Amazon os muestra algunas opciones.
  • Una tarjeta de memoria Micro SD que hará las veces de disco duro. A lo mejor tenéis alguna sin usar por casa, pero si no es así podéis comprarla en cualquier centro comercial o buscarla en internet. Para los proyectos que vamos a publicar, lo ideal sería que fuera de más de 32 GB. Este enlace os da algunas opciones.
  • Un transformador para hacerle llegar la electricidad. Necesitaríamos uno con entrada Mini-USB de un mínimo de 2,5 amperios (a lo mejor tenéis alguno de un móvil o una tablet que os puede servir, y así no tenéis que comprarlo). En este enlace tenéis también algunas opciones.
  • Una caja para poner dentro la raspberry como las que hay en este enlace. Para los proyectos que vamos a realizar no váis a necesitar en ningún momento una caja ventilada ni disipadores (Aunque vamos a usar la raspberry para muchas cosas a la vez, no se va a calentar de forma excesiva), por lo que os recomiendo la caja oficial. Yo simplemente he agujereado la mía con un pequeño taladro para asegurarme una ventilación extra, pero no es algo necesario y no os recomiendo que lo hagáis si no tenéis mucha experiencia en bricolaje.

(por cierto… esos últimos cuatro puntos se pueden sustituir por un «kit de arranque» como los que hay en este enlace).

  • Un cable de red para conectarla a nuestro router. Esto también se podría evitar conectándola mediante WiFi, pero en cuestión de servidores siempre es preferible la conexión por cable.
  • En algunos proyectos necesitaremos también un pen drive grande (de más de 32 GB) o un disco duro conectable por usb.

Y no… no vamos a necesitar ningún monitor o TV a la que conectar la raspberry, ni siquiera durante la instalación. Vamos a controlarla por completo desde nuestro ordenador. En el día a día, va a estar conectada únicamente a la corriente (en el caso de que la conectéis por wifi).

En cuanto os aseguréis de que tenéis todo, podemos empezar la parte divertida.

2) Descarga del sistema operativo.

Como sistema operativo para hacer funcionar nuestro servidor vamos a usar Raspbian, pero para tener la raspberry lo más fluída posible desde el principio, vamos a usar una versión que sólo trae lo mínimo imprescindible para que el sistema operativo pueda funcionar y que además no tiene ni siquiera entorno gráfico (va a tocar configurar todo a golpe de teclado). Así no tenemos el sistema cargado con paquetes que no vamos a usar nunca o que nos hacen más lento nuestro dispositivo.

Por tanto vamos a ir a la página de descargas de Raspbian (En este enlace) y vamos a descargar «Raspbian Lite» (en el momento de escribir este tutorial está disponible la versión «Stretch», pero cualquier versión superior debería poder descargarse de la misma forma). Esta versión tiene dos enlaces de descarga. Escogemos el archivo .ZIP

Recordad: Instalaremos Debian Lite. Las otras versiones tienen más de lo que vamos a necesitar y queremos un sistema ligero.

El archivo ZIP que acabamos de descargar no hace falta descomprimirlo. Con esto ya tendremos el sistema operativo descargado y listo para poner en la tarjeta de memoria.

3) Formatear la tarjeta Micro SD

Ahora vamos a preparar la tarjeta para descomprimir el sistema operativo. Debemos tenerla formateada en FAT32. Desde linux podéis hacerlo con GParted, pero Windows y Mac Os son famosos por hacer «cosas raras» con los formateos, así que vamos a formatearla de forma que no tengamos problema con ella. Y para eso vamos a usar el programa «SD Memory Card Formateer» (Programa gratuíto y completo para Windows y Mac). Podéis descargarlo desde este enlace, más o menos a mitad de altura de la web. Elegid la descarga correspondiente a vuestro sistema operativo.

En cuanto tengáis el programa instalado, el manejo es tremendamente sencillo. Simplemente seleccionáis la tarjeta SD en el recuadro desplegable superior (revisar esta opción varias veces. Si os equivocáis podéis estropear alguna unidad que tengáis conectada al ordenador), pulsáis la opción «Overwrite Format», le dáis un nombre a la tarjeta y luego pulsáis «Format». Con eso os aseguráis que la tarjeta SD quede correctamente formateada.

SD Card Formatter

4) Grabar el sistema operativo en la tarjeta Micro SD

Etcher

Una vez que hemos formateado nuestra unidad Micro SD (recordad que para nuestra Raspberry Pi es como su disco duro), ahora tenemos que grabar el sistema operativo en ella. Para ello vamos a usar el programa balenaEtcher que podéis descargar desde este enlace (tiene versiones para Mac, Windows y Linux). La apariencia de este programa no puede ser más sencilla.

Etcher

En la opción de la izquierda tenéis que seleccionar la imagen que habéis descargado en el punto 2 del tutorial. En la opción del medio tenéis que seleccionar la tarjeta SD (por favor, tened mucho cuidado, no vayáis a seleccionar una unidad diferente a la de la tarjeta y la vayáis a estropear). Y por último seleccionamos la opción «Flash». Esperamos unos minutos y ya tenemos nuestra unidad casi lista para usar en la raspberry.

Y digo casi porque vamos a hacer un pequeño cambio en la tarjeta. Quitadla de vuestro lector de tarjetas, volvedla a insertar y mirad el contenido. Os aparecerá una lista de archivos. Tenemos que añadir un archivo completamente vacío llamado «ssh». Así… sin extensión ni nada, como en esta imagen. Fijaos que el archivo ocupa cero bytes.

Podemos crear el archivo con alguna aplicación para editar texto plano, como el «bloc de notas» o «komodo Edit». Creamos un archivo que no tenga nada dentro, lo guardamos con el nombre «ssh.txt» y luego le cambiamos el nombre para quitar el «.txt» y dejar sólo el «ssh».

Ahora sí. Ya tenemos el «disco duro» de nuestra raspberry preparado. Lo insertamos en la raspberry, conectamos el cable de datos (RJ45) a la raspberry y al router y la enchufamos al transformador eléctrico para que se encienda.

5) Primera conexión con la raspberry

Vale… suponemos que la raspberry se ha encendido correctamente, pero… ¿cómo lo sabemos? ¿Cómo podemos controlarla?

Para averiguarlo primero necesitamos saber qué dirección IP tiene. El router seguramente le ha asignado una automáticamente, pero no sabemos cuál es. Si el interfaz de vuestro router lo permite, tal vez podáis ver desde ahí qué dispositivos tiene conectados, pero para asegurarnos vamos a instalar en nuestro ordenador un programa que se llama «Angry IP Scanner» y que podéis descargar desde este enlace.

Hay que ejecutarlo, pulsar las opciones para activar la columna «MAC del fabricante», y luego pulsar en «comenzar». El programa os mostrará todos los dispositivos que están conectados al router.

Tenemos que fijarnos en el dispositivo cuya MAC del fabricante muestre «Raspbery Pi Foundation». La dirección ip del dispositivo es la que aparece en la columna «IP» (en el ejemplo de la imagen sería 10.0.1.11, pero podría ser algo del tipo 192.168.1.XXX). Perfecto: ya sabemos la IP a la que nos tenemos que conectar.

Para «hablar» con nuestra raspbery debemos conectarnos por medio de un protocolo llamado SSH. Desgraciadamente Windows no dispone de ninguna herramienta para conectarnos por SSH, así que si usamos Windows debemos descargar un programa llamado «Putty» desde este enlace.

En «Host name or IP Address» debemos poner la dirección ip y luego pulsar en «open».

Si en lugar de usar Windows usamos linux o Mac OS las cosas son más sencillas, ya que estos sistemas operativos disponen de una aplicación llamada «terminal». Desde estos sistemas sólo tendríamos que abrir el terminal y escribir

ssh pi@10.0.1.11

Evidentemente esa ip (10.0.1.11) sería la que nos ha proporcionado el Angry IP Scanner y vosotros tendréis una distinta (tal y cómo os dije… puede que sea del tipo 192.168.0.XXX. Poned la que corresponda).

En todo caso al conectaros, lo primero que se os preguntará es si confiáis en el equipo al que os estáis conectando. En caso de usar Putty, la advertencia será similar a ésta y debéis pulsar «sí».

Si usáis un terminal, debéis escribir «yes» y pulsar «enter». Si os habéis conectado mediante Putty os pedirá el nombre de usuario con el que os váis a conectar, que es este:

pi

Luego, tanto si os conectáis por putty como por terminal, os pedirá una contraseña y deberéis poner ésta, que es la contraseña por defecto (no os preocupéis, que la cambiaremos dentro de un momento):

raspberry

Os aparecerá información sobre la raspberry y listo: Por fin estáis conectados a vuestro recién instalado servidor, que estará impaciente por recibir vuestras órdenes.

6) Configuraciones básicas después de la instalación

Una vez que hayamos terminado la instalación es buen momento para definir algunos parámetros del aparato. Para ello introducimos este comando en el terminal.

sudo raspi-config

Esto nos abre un sencillo menú de opciones en el que podemos navegar con el cursor y en el que podremos empezar a definir cosas.

Lo primero que nos interesa es cambiar inmediatamente la contraseña del usuario «pi» por otra que no sea la contraseña por defecto, ya que si no tendríamos un agujero de seguridad importante. Así que entrad en la primera opción y cambiad la contraseña (tendréis que poner la nueva dos veces, y por supuesto teneis que acordaos de ella para poder seguir entrando en el sistema).

Lo segundo que nos puede interesar hacer es entrar en la segunda opción, siempre y cuando queramos configurar una red wifi. Dentro de ella escogeríamos la opción «N2″…

y luego simplemente escribiríamos el nombre de nuestra red wifi (SSID) y la contraseña de la misma.

La cuarta opción del menú principal también es importante, porque aquí definiríamos nuestra localización (para definir el huso horario) y el mapeo del teclado (por si alguna vez conectamos un teclado físico a la raspberry, para que las teclas estén en el idioma correcto). Para los españoles las opciones correctas son es_ES y UTF-8.

Es importante que entremos en la opción 7 para «expandir» el espacio asignado en la tarjeta de memoria. Por defecto, el sistema se instala en una partición de poco menos de 2 GB. Si queremos usar todo el espacio disponible en la tarjeta de memoria, dentro de esta opción 7 debemos pulsar en la opción A1.

Sin salir de las opciones avanzadas, también nos interesa ir a la opción A3. Aquí definimos cuánta memoria va a usar la «tarjeta gráfica» o GPU. Como no vamos a usar gráficos para nada, vamos a poner que use sólo 1 MB (ponemos un «1»). De esta forma vamos a dejar que la memoria esté disponible para otros temas que nos interesan más.

Vamos a ir también en el menú principal a la opción 8 para actualizar esta aplicación (siempre está bien correr aplicaciones actualizadas) y con esto dejamos esta configuración inicial lista, a falta de un par de comandos más.

7) Configurar una IP fija.

Si recordáis, en el punto 5 hemos tenido que buscar qué dirección IP tenía nuestra raspberry con un programa externo. Es probable que cada vez que la encendamos, la raspberry tenga una IP diferente según le vaya asignando nuestro router, por lo que vamos a ponerle una fija para evitar este y otros problemas. Nos interesa poner una ip con un número final bastante alto para asegurarnos de que nuestro router no intente ponerle esa IP a algún otro aparato de nuestra red. En nuestro ejemplo habíamos visto que el router le había dado la ip 11 a la raspberry (10.0.1.11), así que nosotros le vamos a dar la 222 (10.0.1.222). Podríamos poner cualquier número elevado entre el que nos asignó el router y el 255, pero no me interesa poner un número demasiado alto, no sea que el router use esas ip’s para algo, así que algo como 233, 248 o similar estaría bien. Evidentemente, adaptaos al rango de ip’s que os dé el router (por ejemplo, en muchos casos habría que poner algo como 192.168.1.222).

Para ello vamos a usar estos comandos.

cd /etc

Este comando nos llevará a la carpeta «etc» de la raspberry (el comando «cd» significa «vete a este directorio»). Esta carpeta contiene las configuraciones de muchos de los programas que están instalados en ella. Luego pondremos el siguiente comando:

sudo nano dhcpcd.conf

Esta sentencia está compuesta de varias órdenes.

  • Sudo: Nos dice que ejecute lo que viene después como «superusuario» (Como administrador, para los que estéis habituados a windows).
  • nano: Se trata de un programa que nos permite editar texto. es muy muy básico, pero es con el que nos vamos a mover para escribir configuraciones.
  • dhcpcd.conf: Es el archivo que vamos a editar.

Al final, nos quedaría algo tal que así.

Aunque en linux podríamos «acortar» esos dos comandos en uno sólo (poniendo la ruta entera al final de la sentencia). Hacerlo de esta forma también nos serviría

sudo nano /etc/dhcpcd.conf

Ahora podemos ver el contenido de ese archivo con este «rústico» editor de textos. Nos vamos a la última línea del texto (al final). Si nuestra Raspberry se conecta a internet por cable añadimos lo siguiente debajo de todo, después de la última línea:

interface eth0
static ip_address=10.0.1.222/24  #Dirección IP deseada
static routers=10.0.1.1       #IP de nuestro router
static domain_name_servers= 1.1.1.1. 8.8.8.8

Si nos estamos conectando mediante wifi, entonces lo que debemos poner es esto.

interface wlan0
static ip_address=10.0.1.222/24  #Dirección IP deseada
static routers=10.0.1.1       #IP de nuestro router
static domain_name_servers= 1.1.1.1. 8.8.8.8

Yo por ejemplo, en la raspberry que estoy usando para realizar el tutorial, he dejado esta configuración.

Una vez que hayamos puesto esos parámetros pulsamos Ctrl + O (a la vez la tecla control y la letra o) para guardar cambios y le decimos que sobreescriba lo que hay. Una vez hecho esto, salimos del editor pulsando Ctrl + X. Con esto ya tenemos ip fija asignada en la raspberry.

8) Actualizar los paquetes de la raspberry.

Esto es algo que debemos acostumbrarnos a hacer de vez en cuando, que es actualizar todo el software de la raspberry a las últimas versiones de los paquetes para evitar problemas de seguridad. Simplemente hay que teclear dos comandos en el terminal.

El primero hace una búsqueda de actualizaciones en los servidores de los desarrolladores del software. Es el siguiente:

sudo apt-get update

Lo que os aparece en pantalla después de ejecutarlo será algo similar a esto:

El otro, que debe ejecutarse después de haber tecleado el primero, realiza las actualizaciones de los paquetes de software. Es el siguiente:

sudo apt-get dist-upgrade

Y si hay actualizaciones debería mostraros algo similar a esto.

Nos pregunta si estamos dispuestos a actualizar. Pulsamos «y» y enter y empezará a actualizar todos los paquetes del sistema. Tardará un buen rato, pero en cuanto acabe nuestra raspberry estará lista para meterle caña.

En el próximo tutorial veremos cómo instalar pi-hole en nuestra recién instalada raspberry, que se trata de un sistema para quitar toda la publicidad de todos los dispositivos que tenemos en casa sin tener que modificar ni instalar nada en ellos.

Si tenéis alguna duda o queréis hacer alguna colaboración o corrección en el artículo, os animo a dejar un comentario.

Share