GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Cómo construir un servidor de desarrollo personal en una Raspberry Pi de $5

En este artículo, aprenderá a crear un servidor de desarrollo personal mediante la instalación de Git, Node.js, Rust y Docker en una Raspberry Pi. La opción más barata cuesta solo $5. Puede obtener un kit de inicio ($25) gratis aquí.

La Raspberry Pi es una computadora muy poderosa en un paquete pequeño. La opción más económica, Raspberry Pi Zero, es capaz de ejecutar una distribución de Linux con todas las funciones y manejar una pantalla de alta definición. Es del tamaño de dos monedas (US Quarters) y cuesta $5.

A $10, la Raspberry Pi Zero W viene con Wi-Fi y Bluetooth integrados.

En el "extremo alto", puede comprar un kit de escritorio Raspberry Pi 4 por menos de $100. Tiene una CPU ARM de 4 núcleos funcionando a 1,5 GHz, GPU, 2 GB (hasta 8 GB) de RAM, 16 GB (hasta 2 TB) de almacenamiento en tarjetas MicroSD, conectores wifi y Ethernet, puertos USB, puertos HDMI que pueden conducir Pantallas 4K, así como un teclado y un mouse.

La Raspberry Pi también es más que una computadora estándar. Es divertido y pirateable. El Raspberry Pi expone una fila de pines GPIO (entrada y salida de uso general). Puede conectar sensores simples (por ejemplo, temperatura, humedad, luz) a esos pines y capturar sus datos desde sus aplicaciones que se ejecutan en el Pi.

También puede conectar luces LED y motores a esos pines y usar su aplicación Pi para controlar esos dispositivos periféricos.

Para sensores o dispositivos más complejos, como módulos de cámara, también puede conectarse al Pi a través de USB o Wifi y acceder a ellos en el software. El Pi es un gran dispositivo para el aprendizaje y la piratería de hardware. Debido a esto, es ampliamente utilizado en entornos educativos.

Sin embargo, la diversión y el aprendizaje no son solo cosa de niños. Con tanto poder de cómputo y redes sencillas, Raspberry Pi puede convertirse fácilmente en un servidor de aplicaciones personal para usted.

Por ejemplo, puede poner una aplicación web (por ejemplo, una aplicación de toma de notas colaborativa, o simplemente algunos documentos/videos para compartir) en una Pi, llevarla a una reunión y hacerla accesible para todos en la sala. Ni siquiera necesitas Internet. Es completamente descentralizado y resistente a la censura.

El servidor personal es especialmente útil para los desarrolladores. Puede tener un entorno separado para implementar y probar sus aplicaciones del lado del servidor sin tener que meterse con su computadora portátil. Un servidor de desarrollo personal es como Docker con esteroides. En este artículo, te enseñaré cómo configurar uno.

Primero, consigue una Raspberry Pi

Si esta es su primera Raspberry Pi, la forma más fácil (y más costosa) de configurarla es comprar un kit de escritorio por alrededor de $100. Viene con todo lo que necesita para una computadora, excepto la pantalla.

Si está utilizando Pi como un servidor de desarrollo personal, NO necesitará una pantalla después de la configuración inicial. ¡Simplemente puede ingresar mediante SSH desde su computadora portátil una vez que esté encendida!

Aprenda cómo obtener su kit de inicio de Raspberry Pi de forma gratuita cuando participe en este ejercicio de aprendizaje de aplicaciones web de alto rendimiento.

Por supuesto, si tiene piezas de computadora de repuesto, como tarjetas MicroSD, fuente de alimentación USB, un teclado y un mouse, puede ahorrar dinero comprando solo las placas. Puede obtener una placa Raspberry Pi Zero por $ 5 y una placa Raspberry Pi 4 por $ 35.

Pero lo que falta en la placa es una tarjeta MicroSD que actúa como "disco duro" para almacenar el sistema operativo y los datos. Puede comprar una tarjeta MicroSD de 16 GB por $ 10 en línea, un lector de tarjetas MicroSD y usar Raspberry Pi Imager para cargar un sistema operativo en la tarjeta MicroSD desde su computadora portátil.

Las dos opciones populares son Raspberry Pi OS y Ubuntu Linux. Ambas son distribuciones de Linux basadas en Debian. La mayoría de los kits de inicio preinstalan el sistema operativo Raspberry Pi en sus tarjetas MicroSD (se llama NOOBS).

En las próximas dos secciones, hablaré sobre ambos sistemas operativos.

Cómo configurar el sistema operativo Raspberry Pi

Una vez que coloque la tarjeta MicroSD con NOOBS y conecte una pantalla, un teclado y un mouse, ¡puede encender la alimentación!

A partir de ahí, simplemente siga las instrucciones en pantalla para instalar el sistema operativo Raspberry Pi (anteriormente conocido como el sistema operativo Raspbian). Luego configure una contraseña para el usuario pi y configure la conexión wifi.

Después de iniciar sesión, vaya al menú Preferencias → Configuración de Raspberry Pi y habilite SSH. Eso le permitirá iniciar sesión en el Pi desde otra computadora.

Nota :para usar Pi como un servidor "sin cabeza", puede solicitar una dirección IP estática de su enrutador. En el futuro, solo puede encender la Pi y conectarse a ella a través de SSH desde sus otras computadoras o teléfonos.

El sistema operativo Raspberry Pi se deriva de la distribución Debian Linux. Viene con un entorno de interfaz de usuario de escritorio completo con un navegador web moderno, un terminal de línea de comandos y programas de aprendizaje como IDE para Python, Java y Scratch.

Para nuestros propósitos, lo que más nos interesa es instalar software de desarrollo y servidor a través de la terminal de línea de comandos.

En este punto, también puede averiguar la dirección IP de Pi en su red local ejecutando el siguiente comando. Luego, puede ingresar a la Pi mediante SSH usando esa dirección IP local, el nombre de usuario pi y la contraseña que le dio a pi durante la configuración.

$ hostname -I
192.168.2.108 172.17.0.1

Puede encontrar una lista completa de los paquetes de software instalados en el sistema operativo Raspberry Pi aquí. Siempre es una buena idea actualizar y actualizar a los últimos paquetes. Ejecute el siguiente comando y sea paciente. Podría tomar una hora.

$ sudo apt update && sudo apt upgrade

Cómo configurar Ubuntu Server 20.04

El sistema operativo Raspberry Pi está orientado principalmente a una experiencia de escritorio. Para los desarrolladores que solo quieren usar el dispositivo como servidor o dispositivo IoT, Ubuntu Linux es una opción mucho mejor. Tiene los últimos paquetes de software y bibliotecas, y podría ser mucho más eficiente sin las ventanas del escritorio, el navegador web, Java, los juegos y las herramientas de aprendizaje.

Puede descargar imágenes de Ubuntu Server para Raspberry Pi desde la web y cargarlas en una tarjeta MicroSD. Pero quizás una forma mucho más fácil es usar Raspberry Pi Imager, seleccionar Ubuntu Server 20.04 TLS en el menú y escribir en una tarjeta MicroSD vacía.

Una vez que la tarjeta MicroSD esté preparada, debe seguir estas instrucciones para ingresar el nombre y la contraseña de su red WiFi. Esto permite que el dispositivo Raspberry Pi se conecte a la red tan pronto como se inicie.

Básicamente, puede colocar la tarjeta MicroSD en la Raspberry Pi, conectar la alimentación USB y luego esperar a que se conecte. Puedes encontrar el raspberrypi dispositivo IP desde su enrutador WiFi, y luego SSH desde cualquier computadora en su red.

El nombre de usuario y la contraseña iniciales son ubuntu / ubuntu . Ni siquiera es necesario conectar un monitor o un teclado. ¡Eso es todo para una configuración completamente sin cabeza!

Nota :si, por alguna razón, su Raspberry Pi no puede conectarse a WiFi al inicio, puede conectarle una pantalla HDMI y un teclado USB. Luego siga estas instrucciones para depurar y configurar WiFi en el sistema en ejecución.

A continuación, instalemos la pila de herramientas de desarrollador en Pi.

Instalar Git

Siempre instalo Git en todos mis entornos de desarrollo porque una gran cantidad de software se puede recuperar directamente de los repositorios de Git. Me ahorra la molestia de descargar y copiar.

Git también me permite guardar y respaldar mi propio trabajo en repositorios privados. Para una computadora pequeña como Raspberry Pi, recomendaría que guarde el trabajo en Git en caso de que pierda el dispositivo o la tarjeta MicroSD.

El siguiente comando instala Git:

$ sudo apt install git

Instalar Node.js

Para convertir Raspberry Pi en un servidor de desarrollo personal para aplicaciones web, debe instalar un tiempo de ejecución de aplicaciones web moderno.

Para la mayoría de los desarrolladores de hoy, el mejor punto de partida es Node.js, que le permite escribir aplicaciones del lado del servidor en JavaScript. Los siguientes dos comandos instalan Node.js en su Pi.

$ curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
$ sudo apt install nodejs

Puede verificar que la instalación se realizó correctamente ejecutando los siguientes dos comandos. Tanto el nodo como el npm ya están disponibles.

$ node -v
v10.19.0
$ npm -v
5.8.0

Desde aquí, puede usar npm para instalar módulos. Por ejemplo, un módulo npm de uso común es el marco express para aplicaciones web.

$ npm install express

Ahora, puede seguir el ejemplo de ExpressJS hello world para crear un servidor web en su Pi y usar navegadores web desde cualquier computadora en su red para acceder a la aplicación.

Instalar Rust

Rust es un lenguaje de programación de rápido crecimiento para escribir sistemas y aplicaciones web. Está cerca del hardware, tiene un alto rendimiento y es seguro para la memoria. Eso convierte a Rust en un gran lenguaje para escribir aplicaciones en dispositivos con recursos limitados como Raspberry Pi.

Además, Rust es el lenguaje de programación más querido por los usuarios de StackOverflow durante los últimos 5 años seguidos. ¡Vale la pena dedicar tiempo a aprenderlo!

Un caso de uso importante de Rust es compilar funciones de Rust en WebAssembly y ejecutarlas dentro de aplicaciones Node.js para lograr rendimiento, seguridad y portabilidad de código. Es una excelente opción para ejecutar aplicaciones web de computación intensiva en un pequeño dispositivo Raspberry Pi. De hecho, podría obtener un kit de inicio gratuito de Raspberry Pi si aprende a hacerlo.

Nota:estrictamente hablando, no necesita instalar las herramientas Rust en el Pi. Por lo general, solo necesita ejecutar programas Rust en el Pi. Puede compilar su programa Rust en cualquier computadora y luego copiar los binarios compilados al Pi.

Pero aún así, con la potente CPU, puede compilar programas Rust en Raspberry Pi. Entonces, ¿por qué no?

El siguiente comando instala la cadena de herramientas del compilador Rust en Pi.

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Ejecute el siguiente comando para configurar la ruta correcta sin cerrar la sesión y volver a iniciarla.

$ source $HOME/.cargo/env

El comando anterior también instala el administrador de paquetes Rust llamado cargo. La mayoría de los desarrolladores de Rust usan cargo para construir y compartir su trabajo.

$ cargo -V
cargo 1.44.1 (88ba85757 2020-06-11)

A continuación, puede clonar nuestro repositorio de aprendizaje de Rust y aprender de los ejemplos.

$ git clone https://github.com/second-state/wasm-learning.git

Aquí está el ejemplo de hola mundo. ¡Diviértete!

$ cd wasm-learning/rust/hello
$ cargo build
   Compiling hello v0.1.0 (/home/pi/Dev/wasm-learning/rust/hello)
    Finished dev [unoptimized + debuginfo] target(s) in 4.35s
$ target/debug/hello
Hello, world!

Consulte el sitio web oficial de Rust y los libros Rust by Example para obtener más recursos de aprendizaje.

Aprender Docker

Hemos visto que el sistema operativo Raspberry Pi y Ubuntu Server son distribuciones de Linux muy capaces con muchos paquetes de software.

Pero, ¿qué pasa si quiero probar aplicaciones en otros sistemas operativos? ¿Necesito limpiar y reinstalar un sistema operativo diferente en la tarjeta MicroSD? La respuesta es no. ¡Puedes usar Docker! Los siguientes dos comandos instalan docker en Raspberry Pi:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

Ejecute el siguiente comando para poder usar Docker como usuario pi:

$ sudo usermod -aG docker pi

El comando de información de Docker muestra que Docker ahora está instalado en un sistema ARM con sistema operativo Raspberry Pi.

$ docker info
... ...
 Kernel Version: 4.19.118-v7l+
 Operating System: Raspbian GNU/Linux 10 (buster)
 OSType: linux
 Architecture: armv7l
 CPUs: 4
 Total Memory: 3.814GiB
 Name: raspberrypi
 ID: XERI:ZVVZ:XQVA:HXSH:KRPI:6GL2:5QRE:E7GZ:Z72Q:6SGF:CEI6:GKTC
 Docker Root Dir: /var/lib/docker
... ...

A continuación, puede extraer una imagen de Docker para la última distribución de Ubuntu, ejecutarla e iniciar sesión en Ubuntu como usuario de la línea de comandos.

$ docker pull ubuntu
... ...
$ docker run -it ubuntu bash
root# ... enter commands ...

Docker
  1. Cómo crear un servidor de archivos personal con SSH en Linux

  2. Cómo construir un paquete plano

  3. Cómo actualizar Raspberry Pi

  4. Cómo instalar el servidor de medios Serviio en Raspberry Pi

  5. Cómo crear una copia de seguridad

Cómo instalar Jellyfin Media Server en Ubuntu 20.04 LTS Server/Desktop

Cómo instalar Plex Media Server en Ubuntu 20.04 LTS Server/Desktop

Cómo instalar el sistema operativo Raspbian en Raspberry Pi

Cómo instalar Ubuntu Server en una Raspberry Pi

Cómo cargar un archivo al servidor

Cómo instalar la gestión de relaciones personales de Monica en Ubuntu