Noticia Pasos para instalar Linux Deploy y tener un servidor web en tu móvil

Pasos para instalar Linux Deploy y tener un servidor web en tu móvil


¿Te apetece convertir tu móvil Android en algo más que un simple teléfono lleno de apps de siempre? Los smartphones actuales tienen potencia de sobra para mover un sistema GNU/Linux completo, con escritorio gráfico, servicios de red y hasta un servidor web que puedas usar en casa o en el trabajo. Con las herramientas adecuadas, tu teléfono puede terminar siendo un mini‑servidor portátil o un pequeño PC de bolsillo.

La clave está en combinar bien Android, Linux y unas cuantas aplicaciones específicas: Linux Deploy, Termux, UserLAnd, Andronix, VNC, XServer, etc. Algunas requieren root y otras no, pero todas persiguen lo mismo: correr una distro Linux en el espacio de usuario de Android, sin cargarse el sistema y manteniendo tus datos a salvo. Vamos a ver, paso a paso y con muchos detalles, cómo montar Linux en tu móvil y cómo lograr que funcione como servidor web, e incluso con entorno de escritorio.

Por qué instalar Linux en tu móvil Android​


Android está muy bien para el día a día, pero se queda corto cuando quieres un entorno Linux completo para usar herramientas de desarrollo, montar servidores o simplemente trastear con un sistema de escritorio. Si tienes por ahí un móvil o tablet «jubilado», ponerle una distro puede darle una segunda vida muy interesante.

Las motivaciones más habituales para instalar Linux dentro de Android suelen girar en torno a tareas que el sistema de Google no cubre bien: ejecutar software específico de GNU/Linux, probar servicios de red, experimentar con entornos de escritorio ligeros o crear un pequeño laboratorio de pruebas de seguridad en tu bolsillo.

Usar Android como base y Linux como sistema invitado te permite tener lo mejor de ambos mundos: sigues teniendo tus apps habituales, notificaciones y conectividad móvil, pero al mismo tiempo disfrutas de un terminal Linux, un entorno gráfico remoto y servicios como Apache, Nginx, MySQL o SSH funcionando dentro del teléfono.

Además, el aprendizaje que obtienes al montar y mantener una distro en un móvil es brutal si estás estudiando administración de sistemas, desarrollo o seguridad. Es un entorno relativamente seguro: si la lías dentro de la chroot/proot, Android sigue intacto.

Otro punto a favor es que muchas de estas soluciones funcionan sin root, gracias a tecnologías como PRoot, que imita el comportamiento de chroot en espacio de usuario, de forma que puedes «simular» un árbol de archivos Linux y un entorno bastante completo sin tener privilegios de administrador en el dispositivo.

¿Puede tu Android ejecutar Linux de forma decente?​


En la práctica, casi cualquier Android moderno puede ejecutar alguna forma de Linux, pero la experiencia dependerá de la RAM, del almacenamiento y de si tienes o no acceso root. Incluso móviles antiguos suelen poder con distros ligeras si no les pides un GNOME completo.

Los requisitos mínimos para algo medianamente usable como servidor web suelen ser: un par de gigas de RAM, al menos 5 GB de almacenamiento libre (interno o en una microSD rápida) y una conexión WiFi estable para descargar la imagen de la distro y administrar el sistema en red.

Si pretendes usar un entorno de escritorio Linux con X11 o Wayland, te viene muy bien contar con teclado y ratón (Bluetooth u OTG) y, si el móvil lo permite, salida de vídeo hacia un monitor o televisor. No son imprescindibles, pero mejoran mucho la experiencia frente a usar solo los toques en pantalla.

Otra decisión clave es si quieres root o prefieres mantener el teléfono sin desbloquear. Con root tienes más control, puedes usar chroot real y herramientas como Linux Deploy con todas sus funciones. Sin root dependes de PRoot y capas de emulación, pero sigues pudiendo tener distros completas con UserLAnd, Andronix o AnLinux.

Como idea general, para un servidor web ligero te basta con un entorno sin interfaz gráfica, consumirá menos recursos y el teléfono irá más fresco. Para jugar con escritorios tipo LXDE o XFCE, compensa usar un dispositivo un poco más potente.

Opciones para instalar Linux sin root: PRoot al rescate​


Linux en Android sin root


Si no quieres meterte en líos de root ni jugártela con la garantía, existen varias apps que levantan una distro Linux en el espacio de usuario usando PRoot. Básicamente, emulan lo que hace chroot, pero sin exigir privilegios de administrador, de modo que Android sigue intacto y seguro.

La combinación más conocida es usar Andronix o AnLinux junto a Termux y un visor VNC. Termux aporta un terminal potente y repositorios propios, y Andronix/AnLinux se encargan de descargar la raíz de la distro y generar los scripts de inicio para montar el entorno Linux.

Andronix + Termux + VNC Viewer​


Andronix actúa como asistente gráfico que te guía en la selección de la distro y el escritorio. Desde su interfaz eliges Ubuntu, Debian, Manjaro, Kali, etc., y también entornos como XFCE o LXDE. La app te genera un comando adaptado a Termux que automatiza todo el proceso de instalación mediante PRoot.

El flujo típico de instalación usando este combo suele ser así: instalas Andronix, Termux y un visor VNC (como VNC Viewer), seleccionas la distro en Andronix, copias el comando que te propone, lo pegas en Termux y esperas a que descargue y desempaquete el sistema de archivos Linux.

Cuando termina, configuras la contraseña de acceso VNC y la resolución de pantalla, arrancas el servidor gráfico dentro de la sesión Linux y te conectas desde VNC Viewer a algo tipo localhost:1. Lo que ves en pantalla ya es un escritorio Linux real moviéndose dentro de tu móvil.

Con este método puedes usar el sistema tanto por terminal como por entorno gráfico. Es más que suficiente para tareas de desarrollo ligeras, edición de texto, pruebas de servidor web o manejo de herramientas de seguridad con Kali, sin haber tocado el root del teléfono.

Otras apps sin root: UserLAnd, AnLinux, Debian Noroot…​


Además de Andronix, hay todo un ecosistema de apps que usan PRoot para montar distros completas sin necesidad de permisos de administrador. Cada una tiene su enfoque y peculiaridades, así que conviene saber qué ofrece cada una.

UserLAnd es una de las opciones más amigables y de código abierto. Permite desplegar Debian, Ubuntu, Arch, Kali o Alpine Linux, y ofrece tanto sesiones de escritorio (LXDE, XFCE4) como instalaciones de aplicaciones sueltas (por ejemplo solo Firefox, GIMP, LibreOffice) en lugar de una distro completa.

Su interfaz se organiza en pestañas de Aplicaciones, Sesiones y Sistemas de archivos: en la primera eliges qué instalar, en la segunda gestionas conexiones activas y en la tercera ves las raíces Linux ya creadas. Es muy flexible porque te deja crear varias sesiones apuntando al mismo sistema de archivos, cambiando entre XSDL, VNC o SSH según te interese.

AnLinux funciona de forma similar, pero se apoya fuertemente en Termux. Te genera los scripts para instalar Ubuntu, Debian, Fedora, CentOS, openSUSE o Kali dentro de un entorno PRoot. También ofrece escritorios de bajo consumo como XFCE4, MATE, LXQt o LXDE, ideales para móviles con poca RAM.

Debian Noroot, por su parte, va a lo sencillo: arranca un Debian ligero sin root sobre Android 4.1 o superior. Es menos flexible y su rendimiento no es espectacular, pero a cambio la instalación es bastante directa si solo quieres juguetear con Debian sin complicarte.

Cómo funciona Linux en Android: chroot, PRoot, X y servidores gráficos​


Cuando hablamos de “instalar Linux en Android” realmente estamos hablando de correr un entorno Linux dentro del propio Android, no de sustituir el sistema operativo entero (eso sería otro tema: ROMs, bootloaders, etc.). Lo que hacen estas herramientas es crear un sistema de archivos de la distro y ejecutarlo como usuario normal.

En entornos con root se suele recurrir a chroot, una vieja conocida en servidores y escritorios Linux. chroot cambia el directorio raíz aparente de un proceso y sus hijos, de forma que estos ven solo el árbol de archivos de la distro invitada. Para hacer esto se necesitan permisos de root, que en Android no se tienen por defecto.

PRoot viene a resolver ese problema cuando no hay root disponible. Simula parte del comportamiento de chroot en el espacio de usuario, creando una “afinidad” de directorio y traduciendo las llamadas al sistema para que parezca que el proceso está encerrado en la raíz de la distro, aunque realmente siga corriendo como usuario normal de Android.

El siguiente desafío es el gráfico: el escritorio Linux necesita un servidor X o Wayland. Si simplemente instaláramos X dentro de la distro y lo arrancáramos como usuario normal, ese servidor gráfico no tendría acceso directo al hardware de Android. Por eso se recurre a dos estrategias distintas.

La primera solución consiste en arrancar un servidor X o un entorno gráfico dentro de la distro y acceder a él por VNC. El servidor de VNC corre en Linux, pero el visor funciona como app Android normal, mostrando la sesión remota que en realidad está en el propio dispositivo (host local). Es sencillo y bastante compatible, aunque no siempre da el mejor rendimiento.

La segunda vía es usar un servidor gráfico diseñado expresamente para Android, como XServer XSDL. En este caso, el servidor X corre como app Android, con acceso directo al hardware gráfico, y la distro Linux se conecta a él como cliente. Es una solución algo más elaborada, pero puede ir más fina que usar solo VNC.

Instalar Linux en Android con root usando Linux Deploy​


Cuando tienes el dispositivo rooteado se abre la puerta a herramientas mucho más potentes, y aquí es donde entra en juego Linux Deploy. Esta aplicación usa chroot con ayuda de BusyBox y puede instalar Debian, Ubuntu, Arch, Fedora y otras muchas distros directamente en el almacenamiento del teléfono.

Linux Deploy se ha ido puliendo con el tiempo: al principio su documentación era bastante escasa, pero ahora ofrece una interfaz razonablemente clara, perfiles para varias distribuciones y opciones para habilitar o no interfaz gráfica, tipo de sistema de archivos, scripts personalizados, arranque automático, etc.

Requisitos básicos para usar Linux Deploy​


Antes de meterte con Linux Deploy asegúrate de cumplir estos puntos mínimos: el móvil debe estar rooteado, conviene tener instalada una versión actual de BusyBox (para disponer de la mayoría de utilidades GNU básicas) y necesitas un visor VNC, por ejemplo VNC Viewer, que es gratuito y bien valorado.

En cuanto a la compatibilidad de Android, Linux Deploy declara soporte desde Android 2.3.3, pero siendo realistas es difícil que un hardware tan antiguo mueva con soltura un entorno de escritorio completo. Para algo mínimamente usable, mejor un dispositivo más moderno con suficiente RAM y almacenamiento.

También tendrás que reservar varios gigas de espacio para la imagen del sistema. En la práctica, se recomiendan más de 5 GB de memoria interna libre o, si prefieres, una tarjeta microSD de al menos clase 10 con esa capacidad, si vas a alojar ahí la distro para no llenar la memoria interna.

Otro requisito importante es disponer de una buena conexión a Internet o un plan de datos generoso, porque descargarás la imagen ARM de la distribución que te interese (Ubuntu, Debian, Kali, etc.) y suelen ser paquetes de varios gigas entre sistema base, entorno gráfico y paquetes adicionales.

Configurar Linux Deploy: distribución, almacenamiento y GUI​


Una vez instalada la app, Linux Deploy muestra una pantalla principal con botones de Start/Stop y un icono de ajustes en la parte inferior derecha que da acceso a las propiedades de la instalación. Esa es la sección clave para definir qué Linux vas a montar y cómo.

En las propiedades puedes elegir la distribución (Debian, Ubuntu, Arch, Fedora, etc.), el tipo de arquitectura (arm, arm64, armhf, armel…) y la ruta del sistema de archivos, tanto para la descarga como para el archivo de imagen definitivo. Es vital seleccionar bien la arquitectura que coincide con tu procesador para evitar errores.

El tipo de instalación suele ajustarse a “archivo”, lo que significa que el sistema Linux vivirá dentro de un único fichero de imagen en formato EXT2, EXT4 u otros. Para la mayoría de usuarios es la opción más sencilla, frente a instalar en una partición separada.

Más abajo podrás escoger el sistema de archivos (por defecto EXT2, que suele funcionar bien) y especificar si quieres almacenar la imagen en la memoria interna o en la tarjeta SD. Si la SD es rápida, es una buena forma de no saturar el almacenamiento principal.

En la sección GUI puedes activar o desactivar la interfaz gráfica. Marcando esta opción, Linux Deploy preparará un entorno de escritorio y configurará el acceso gráfico, que normalmente se realiza vía VNC. Aquí seleccionas también qué escritorio instalar (LXDE, XFCE, etc.), nombre de usuario y contraseña de acceso.

Instalar y arrancar la distro con Linux Deploy​


Cuando ya tienes la configuración a tu gusto, el siguiente paso es lanzar la instalación. Volviendo a la pantalla principal de Linux Deploy, en el menú de la parte superior derecha encontrarás la opción “Instalar”, que disparará el proceso de descarga y configuración de la imagen de la distribución.

El tiempo que tarda este paso depende mucho de la velocidad de tu conexión y de la potencia del dispositivo, pero no es raro que se vaya a 30 minutos o más. Durante ese rato, se descarga la imagen base, se desempaqueta y se ajusta el entorno chroot con los paquetes seleccionados.

Cuando el proceso termina, solo queda iniciar el sistema desde el botón Start de la parte inferior. Linux Deploy montará la imagen, arrancará los servicios necesarios y, si has configurado GUI con VNC, pondrá en marcha el servidor gráfico dentro del chroot.

Para acceder al escritorio usas el visor VNC que hayas instalado, introduciendo como dirección la IP y el puerto que muestra Linux Deploy en su pantalla principal (por ejemplo, localhost:5900 o una IP de tu red WiFi). Tras introducir la contraseña VNC definida antes, debería aparecer el escritorio Linux completo en tu móvil.

Servidores web y otros servicios dentro del Linux del móvil​


Con la distro ya funcionando, puedes instalar servicios como harías en cualquier servidor Linux. Usando apt, pacman o la herramienta de la distro, añades Apache o Nginx, bases de datos como MySQL/MariaDB, servidores FTP, Samba, etc., y los gestionas con los mismos comandos de siempre.

Para un servidor web típico con Debian o Ubuntu basta con instalar el metapaquete adecuado (por ejemplo apache2 o nginx) y lanzar los servicios con el comando service o con systemctl, según cómo esté configurado el entorno en el chroot de Linux Deploy.

Comandos como `service apache2 start`, `service apache2 stop` o similares funcionan normalmente para arrancar y detener los demonios, siempre que el sistema de inicio se haya configurado correctamente dentro del entorno chroot.

El detalle importante es que, al reiniciar el entorno Linux o el propio teléfono, a veces los servicios no se ponen en marcha automáticamente, aunque en teoría estén habilitados. Herramientas como rcconf pueden mostrar que el servicio está marcado para arrancar, pero en la práctica no se ejecuta en el arranque del chroot.

Linux Deploy resuelve esto permitiendo definir “Scripts personalizados”. En el menú de propiedades hay una opción para activar scripts personalizados y una lista donde puedes añadir las rutas a los scripts de inicio que quieras ejecutar automáticamente (por ejemplo los de MySQL, Apache o cron).

Configurar scripts de arranque en Linux Deploy​


Dentro de la pantalla de propiedades encontrarás la sección de “Scripts personalizados”. Al activarla se habilita una lista en la que puedes añadir, editar o eliminar caminos a scripts que se ejecutarán cuando se inicie el entorno Linux.

Por ejemplo, puedes añadir las rutas a los scripts de inicio de Apache, MySQL y cron para que se arranquen siempre que Linux Deploy levante la distribución. Cada elemento de la lista apunta a un script existente dentro del sistema de archivos de la distro.

Esto sustituye al método clásico de depender solo de rcconf o de los enlaces en /etc/rc*.d, que a veces no funcionan como se espera dentro del entorno chroot gestionado por la aplicación. Con los scripts personalizados te aseguras que tus servicios críticos siempre se activen al inicio.

Así puedes dejar el móvil por ahí conectado por WiFi con su servidor web corriendo, sin tener que conectarte por terminal cada vez a lanzar los servicios a mano, lo cual es esencial si quieres usarlo como pequeño servidor casero o de laboratorio.

Opciones de escritorio: X11, VNC, XServer XSDL y rendimiento​


Si además de servidor web quieres un entorno de escritorio manejable, puedes optar por dos grandes modelos: escritorio accesible por VNC o escritorio apoyado en un servidor X nativo para Android, como XServer XSDL. Ambos tienen sus pros y sus contras.

Con VNC el esquema más habitual es arrancar un servidor gráfico dentro de la distro y conectarte desde un visor VNC en Android. Es una solución sencilla, sobre todo si ya usas VNC para manejar otros equipos de forma remota, y permite reutilizar la misma app para acceder al host local del propio teléfono.

Algunos usuarios, sin embargo, reportan problemas de rendimiento o compatibilidad con ciertos visores VNC, especialmente en dispositivos menos potentes o con resoluciones muy altas. En esos casos, la experiencia puede ser algo tosca y con cierto retraso en las pulsaciones.

La alternativa de usar un servidor X adaptado a Android, como XServer XSDL, consiste en instalar la app XServer en el sistema principal, darle permisos de acceso al hardware, y luego hacer que la distro Linux se conecte a ese servidor como si fuera un X normal.

El flujo típico con UserLAnd y XServer XSDL es: instalas la distro, entras por terminal y montas un escritorio ligero (por ejemplo LXDE con sudo apt install lxde), luego ajustas el archivo .xinitrc para que lance /usr/bin/startlxde en lugar del gestor de ventanas por defecto, y reinicias la sesión gráfica.

Una vez que XSDL está en marcha y la sesión Linux ajustada, el escritorio LXDE aparece completo en la pantalla. Desde ahí puedes cambiar tamaños de fuente, instalar tus programas de siempre (Emacs, Firefox, GIMP, LibreOffice…) y usar el sistema casi como si fuera un PC, solo que dentro del móvil.

Ajustes de Android y Linux Deploy para usar el móvil como servidor​


Para que tu servidor Linux montado con Linux Deploy sea realmente usable a largo plazo, es importante tocar algunos ajustes tanto en la propia aplicación como en Android. De lo contrario, el sistema puede volverse muy lento o desconectarse cuando se apaga la pantalla.

En la pantalla de configuración de Linux Deploy (accesible desde la tecla de menú o el icono correspondiente) encontrarás parámetros generales de la app, distintos de las propiedades de la distro. Entre ellos, idioma, tema claro/oscuro y comportamiento de la pantalla y la WiFi.

Por defecto, Linux Deploy suele activar una opción para mantener la pantalla encendida mientras el sistema Linux esté funcionando. En español suele llamarse algo como “bloquear pantalla”. Esto impide que Android apague la pantalla y, con ello, que el procesador entre en modo de ahorro de energía.

Si desactivas esa opción la pantalla se apagará como en cualquier otra app, pero muchos dispositivos entonces mandan el procesador a modo “sleep” agresivo, lo que deja al Linux del chroot funcionando lentísimo, porque Android pone casi todo en segundo plano salvo notificaciones y tareas básicas.

Para un servidor web que debería funcionar 24/7 no es viable tener la pantalla encendida todo el rato (por consumo, calor y desgaste). Lo ideal es desmarcar “bloquear pantalla” y buscar una forma alternativa de impedir que el procesador se duerma demasiado.

Mantener el procesador despierto y la WiFi activa​


Un truco habitual es usar aplicaciones de tipo “café” o “stay awake” que mantienen el CPU activo aunque la pantalla esté apagada. Una de las que se mencionan es “RedEye Stay Awake”, que en su versión gratuita con algo de publicidad permite evitar que el procesador entre en suspensión profunda.

Con una app así puedes dejar que Android apague la pantalla sin problema, pero manteniendo los servicios del Linux funcionales y con un rendimiento aceptable, algo esencial si quieres que el servidor responda con fluidez a peticiones web o conexiones SSH.

En paralelo, en la configuración de Linux Deploy conviene dejar marcada la opción “Bloquear Wi‑Fi” o equivalente, para que el dispositivo no corte la conexión inalámbrica al cabo de unos minutos con la pantalla apagada. Si se corta la WiFi, tu servidor desaparece de la red.

También es muy recomendable activar el “Autoarranque” en Linux Deploy, de manera que cada vez que reinicies el teléfono, la app inicie automáticamente el entorno Linux y, con él, los scripts personalizados que arrancan tus servicios.

Combinando bloqueo de WiFi, autoarranque y una app para mantener el CPU despierto, consigues que tu móvil se comporte casi como un servidor Linux convencional, accesible por la red local y con servicios funcionando de forma constante.

Distribuciones y entornos recomendados para móviles​


Conoce los comandos de Termux en Android


La elección de la distro influye mucho en la estabilidad y el rendimiento del sistema. Las apps comentadas suelen soportar una buena colección de sistemas: Ubuntu, Debian, Arch, Fedora, Kali, Alpine, Manjaro y variantes derivadas.

Ubuntu y Debian son las opciones más populares y amigables. Tienen grandes repositorios, documentación para aburrir y buena integración con herramientas como Apache, Nginx, MariaDB, PHP, Python, Node.js, etc. Para un servidor web casero, basta y sobra.

Kali Linux está orientada a pruebas de seguridad y hacking ético, así que puede ser interesante si quieres montar un “Pwn Phone” casero, con un buen surtido de herramientas de auditoría directamente en el bolsillo, aunque requiere algo más de maña.

Arch Linux y Manjaro se orientan a usuarios más avanzados que quieran un sistema muy ajustable, rolling release y con acceso directo a paquetes muy recientes. Fedora también encaja en el perfil de distro moderna, aunque no siempre aparece en todas las apps sin root.

Para dispositivos con poca RAM o hardware limitado, Alpine Linux es una opción muy ligera, ya que está pensada para entornos mínimos y contenedores. Con la combinación adecuada de paquetes puedes montar un servidor web muy eficiente con pocos recursos.

En cuanto al escritorio, es preferible elegir entornos ligeros como LXDE, XFCE, LXQt o MATE en lugar de GNOME o KDE completos, que se comen mucha más memoria y CPU. En pantallas pequeñas y sobre VNC se agradece que la interfaz sea simple y rápida.

Qué puedes hacer con Linux en tu móvil más allá del servidor web​


Aunque aquí nos hemos centrado en montar un servidor web, tener Linux en el móvil abre muchas más posibilidades. Puedes levantar un servidor de archivos (Samba, NFS), un servidor de bases de datos o incluso contenedores ligeros si la distro lo permite.

Como entorno de desarrollo es muy cómodo disponer de Git, Python, Node.js, compiladores y editores completos como Vim o Emacs, todo corriendo directamente en el teléfono y accesible vía SSH desde tu portátil o incluso desde otro móvil.

Si eres aficionado a la seguridad, Kali u otras distros con herramientas de pentesting te permiten realizar pruebas controladas en redes de laboratorio, siempre dentro de la legalidad. El móvil se convierte, literalmente, en una plataforma de auditoría portátil.

También puedes convertir el dispositivo en un pequeño centro multimedia con VLC, reproductores de audio o incluso soluciones tipo Kodi, aunque aquí entra en juego más el propio Android que el entorno Linux, dependiendo de cómo quieras reproducir el contenido.

Gracias a la naturaleza portátil del móvil y a que muchas de estas soluciones admiten conexiones remotas por SSH o VNC, puedes dejar el teléfono en casa conectado, y acceder a tu entorno Linux desde cualquier otro equipo de la red, como si fuera una Raspberry Pi muy compacta.

En conjunto, transformar tu Android en un mini‑servidor Linux o en un escritorio remoto es una forma estupenda de exprimir un dispositivo que quizá tenías olvidado en un cajón. Con Linux Deploy, UserLAnd, Andronix y compañía, el proceso es mucho más accesible de lo que era hace unos años, y con unos cuantos ajustes finos en la configuración puedes lograr un servidor web sorprendentemente capaz en algo tan pequeño como tu móvil.

Continúar leyendo...