La Raspberry Pi comenzó como un dispositivo económico para ayudar a los estudiantes a aprender sobre informática, pero la Raspberry Pi además lo convierte en un servidor de prueba económico. Con un sistema operativo de servidor en una Raspberry Pi, puede configurar rápidamente un servidor de prueba en casa.
Recientemente decidí reinstalar mi Raspberry Pi 3B + para usarlo como servidor de prueba para nuevos proyectos web. Mi entorno de producción es un servidor en rack Intel que ejecuta Red Hat Enterprise Linux, por lo que verdaderamente no coincide con la Raspberry Pi a nivel de hardware. Pero en la capa de aplicación, Linux en Raspberry Pi sigue siendo «Linux», Apache en Raspberry Pi sigue siendo «Apache» y PHP 7 en Raspberry Pi sigue siendo «PHP 7». Siempre que mi Raspberry Pi esté configurada como un servidor, en lugar de una distribución de Linux centrada en el escritorio, mi trabajo en la Raspberry Pi se transferirá con bastante facilidad a mi entorno de producción con Red Hat Enterprise Linux en Intel.
Aunque no existe Red Hat Enterprise Linux para Raspberry Pi, Fedora Server está lo suficientemente cerca para mis necesidades. Intenté instalar Fedora 33 ARM Server en la Raspberry Pi, pero no pude hacer que la red inalámbrica funcionara de fábrica, pese a un nota en la página ARM de Fedora que la red inalámbrica es compatible de forma predeterminada en Fedora 33. El problema parece ser que Fedora 33 ARM Server no incluye wpa_supplicant
. A pesar de esto, pude hacer que todo funcionara instalando Fedora 33 ARM Minimal.
Descargue la imagen de Fedora 33 ARM Minimal del portal web de Fedora ARM. Puedes hallar la ubicación de descarga en la wiki. Específicamente, para instalar Fedora 33 Minimal en Raspberry Pi 3, necesitará descargar Fedora-Minimal-33-1.3.aarch64.raw.xz desde el Imagen compatible con aarch64 para Raspberry Pi 3.
Una vez que tenga la imagen mínima de Fedora 33, puede instalarla en una tarjeta microSD para arrancar en la Raspberry Pi más tarde. En su estación de trabajo o servidor Linux, conecte su tarjeta microSD y ejecute este comando:
# arm-image-installer --image=Fedora-Minimal-33-1.3.aarch64.raw.xz --media=/dev/sdb --target=rpi3
Ese comando escribe la imagen mínima de Fedora 33 en la tarjeta microSD. Mi PC de escritorio Linux no cuenta con una ranura microSD incorporada, por lo tanto utilicé un lector de tarjetas microSD USB, que presenta la microSD en /dev/sdb
. Dependiendo de su sistema, es factible que deba usar un dispositivo de destino de medios distinto.
La instalación de Fedora 33 Minimal en la microSD esencialmente descarga una imagen preinstalada en la tarjeta. Deberá realizar toda la configuración después cuando inicie la microSD en la Raspberry Pi por primera vez.
Conecte su Raspberry Pi a una pantalla HDMI y un teclado USB, conecte la microSD y enciéndalo. El primer arranque tomará un tiempo mientras realiza algunas tareas de configuración inicial, durante las cuales Fedora le solicitará la configuración local, incluida la zona horaria, la contraseña de root y la cuenta de usuario.
Una vez que mi sistema estuvo en funcionamiento, pude iniciar sesión como el root
usuario. Como no tengo un cable de red lo suficientemente largo para lograr esta Raspberry Pi, necesitaba configurar una red inalámbrica. En la línea de comando, ejecute la herramienta de línea de comando de Network Manager nmcli
para enumerar las redes inalámbricas disponibles:
# nmcli device wifi list
Si nmcli
encuentra su red inalámbrica, después conéctese a ella con este nmcli
Comando «conectar». Reemplazar $SSID
con el nombre de su red inalámbrica:
# nmcli device wifi connect $SSID --ask
Después de eso, Network Manager crea automáticamente una entrada para usted bajo el /etc/NetworkManager/system-connections
directorio, por lo que el sistema se conectará a esta red cada vez que inicie la Raspberry Pi.
Dado que ejecuto la Raspberry Pi como servidor en mi red doméstica, además necesito asegurarme de que la Raspberry Pi obtenga la misma dirección IP cada vez que se conecte a la red. En una red doméstica, puede hacer esto a través de su enrutador inalámbrico. La mayoría de los enrutadores le posibilitan reconocer una dirección MAC y asignarle una dirección IP reservada. El enrutador de mi casa emite direcciones IP a partir de 10.0.0.100, por lo que le di a Raspberry Pi una dirección IP reservada por debajo de ese rango, en 10.0.0.11:
Encuentro que la forma más sencilla de administrar mis sistemas Linux es con la herramienta Cockpit. Cockpit facilita la puesta a prueba de sus servidores Linux a través de un navegador web, lo que le posibilita ver registros, administrar el almacenamiento, configurar cuentas de usuario e instalar servicios. Fedora 33 ARM Minimal no instala Cockpit por defecto, pero puede instalarlo fácilmente como un paquete usando dnf
:
# dnf -y install cockpit
Una vez que haya instalado Cockpit, debe asegurarse de que el servicio de Cockpit se esté ejecutando y se reiniciará cada vez que reinicie el sistema. Usos de Fedora systemd
, por lo que debe iniciar el servicio y habilitarlo para cada reinicio con estos dos comandos de «control del sistema»:
# systemctl start cockpit # systemctl enable cockpit.socket
El cortafuegos predeterminado de Fedora evitará las conexiones a su dispositivo, por lo que además necesita abrir el puerto en el cortafuegos local para aceptar conexiones a Cockpit. Puede agregar el servicio Cockpit usando el firewall-cmd
herramienta de línea de comando:
# firewall-cmd --add-service=cockpit --permanent # firewall-cmd --reload
Ahora debería poder navegar en su navegador web a https://10.0.0.11:9090/ para controlar su Raspberry Pi de forma remota.
Con Cockpit, puede completar cualquier otra tarea de configuración del sistema que necesite. Para terminar de configurar esta Raspberry Pi como servidor web, instalé Apache httpd
servidor web y PHP 7, después usé Cockpit para configurar todo para que coincida con mi sistema de producción lo más cerca factible:
No necesita un servidor costoso para configurar un entorno de servidor de prueba sólido. Con un sistema operativo de servidor como Fedora 33 ARM Minimal, puede configurar rápidamente un servidor de prueba económico en casa en una Raspberry Pi. Y con Cockpit, puede administrar todo de forma directa desde su navegador.