Instala Webmin y administra tu Raspberry Pi desde una consola web

Webmin-Logo-600

Para muchas personas que vienen de trabajar con sistemas Windows y que se inician en el mundo GNU/Linux con una Raspberry Pi, la consola de comandos suele ser uno de los elementos disuasorios en su intención de adentrarse en este tipo de sistemas operativos, debido a su complejidad e interfaz para nada amigable.

No obstante, con algunos comandos básicos se puede instalar un entorno web bastante práctico e intuitivo basado en Webmin, con el que se pueden gestionar servicios (a través de más de 30 módulos estándar), configurar usuarios y permisos, editar archivos, manejar filesystems, etc.

Instalación

Webmin no viene por defecto en Raspbian ni en los paquetes de software de Debian, por lo que será necesario descargar el paquete .deb desde el sitio web oficial de Webmin. Para este ejemplo se trabajará con la versión 1.780:

root@raspberrypi ~ #wget http://prdownloads.sourceforge.net/webadmin/webmin_1.780_all.deb

Antes de proceder con la instalación, es indispensable instalar algunas dependencias básicas para que Webmin funcione sin problema. En este caso, se hace uso de APT (el gestor de paquetes de Debian) de la siguiente manera:

root@raspberrypi ~ #apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

Cuando esto esté listo, simplemente procedemos a instalar el paquete de Webmin que hemos descargado, esta vez empleando dpkg:

root@raspberrypi ~ #dpkg --install webmin_1.780_all.deb
Selecting previously unselected package webmin.
(Reading database ... 78049 files and directories currently installed.)
Unpacking webmin (from webmin_1.780_all.deb) ...
Setting up webmin (1.780) ...
Webmin install complete. You can now login to https://raspberrypi:1000/
as root with your root password, or as any user who can use sudo
to run commands as root.

En este paso hay que tener mucha paciencia, porque se suele tardar unos 5-10 minutos en finalizar la instalación. Cuando termine, simplemente accederemos a la dirección IP de la Raspberry Pi al puerto 10000 de la siguiente forma:

webmin1

En este paso se pueden recibir algunas notificaciones de certificados no confiables (ya que para la conexión HTTPS Webmin usa certificados autofirmados). Se aceptan y se procede a autenticarse empleando como usuario “root” y su contraseña o cualquier usuario que pueda hacer “sudo” (“pi”, por ejemplo).

webmin2

y Voilà!, ya tenemos una consola web para gestionar la Raspberry Pi 😉

Algunos de los pasos básicos posterior a la instalación son la creación de un usuario específico para la gestión de Webmin con acceso basado en dos factores de autenticación:

  1. En el panel de la izquierda bajo el menú “Webmin” ir a “Webmin users” -> “Create a new Webmin user” y seleccionar el usuario “root”
  2. Renombrar el usuario a cualquier otro nombre (preferiblemente nada asociado con el sistema) y configurar la contraseña escogiendo “Set to” e ingresando una contraseña robusta.
  3. Posterior a la modificación del usuario, ir al ícono “Two-Factor Authentication” y escoger el proveedor (Google Authenticator o Authy). En mi caso, uso Authy. Aquí están las instrucciones para crear el código de la API.
  4. Seguir las instrucciones en el módulo de Two-Factor Authentication dependiendo del método escogido.

Al terminar, la pantalla de autenticación mostrará un formulario como el siguiente:

webmin3

Si la interfaz de Webmin te sigue pareciendo anticuada, puedes cambiarla desde “Webmin” -> “Change Language and Theme” -> “Webmin UI Theme” y escoger “Authentic Theme”:

webmin4

Extra: Configurar APT para que actualice Webmin

Después de la instalación de Webmin se encontrará una entrada en el crontab de root con el siguiente contenido, que realiza una validación (y actualización, si se necesita) del paquete de webmin:

root@raspberrypi ~ # crontab -l
59 9 * * * /etc/webmin/package-updates/update.pl

Sin embargo, se pueden gestionar sus actualizaciones a través de APT de la siguiente manera:

Debido a que el paquete de Webmin no pertenece al repositorio oficial de Debian, es necesario descargar la clave pública del creador de Webmin (Jamie Cameron) con el siguiente comando:

root@raspberrypi ~ #wget http://www.webmin.com/jcameron-key.asc

Luego, ingresamos agregamos esta firma como confiable para la descarga desde el repositorio de Webmin:

root@raspberrypi ~ #apt-key add jcameron-key.asc

Y se edita el fichero de repositorios de Raspbian. En este caso, no importa que el nombre de la versión de Debian no coincida con la instalada en el dispositivo:

root@raspberrypi ~ # more /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Agregado para Webmin
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Con esto, cada vez que se ejecute “apt-get update” se buscarán e instalarán nuevas actualizaciones de Webmin.

Si tienes preguntas, puedes dejarme un mensaje. No olvides seguirme en Twitter @David_E_Acosta.

Comments

  • Buenas… no consigo dempaquetar por completo ninguna version del webmin en el raspberry. ¿Puede ser algun problema con la version del hardware?

    Elias Benitez April 17, 2017
    • Buenas tardes Elías:
      En principio, la instalación de Webmin se debería realizar empleando APT, que garantizaría que el paquete esté indexado y pueda ser gestionado a través del gestor de paquetes de Debian. Si sigues los pasos indicados en este artículo, dicha instalación suele demorarse unos 15 minutos, por lo que debes tener paciencia y esperar a que termine.
      Si tienes problemas, puedes probar a realizar la instalación de las dependencias vía APT y luego instalar Webmin desde las fuentes. En esta URL encuentras el procedimiento a seguir, que no debería darte mayores inconvenientes: http://www.webmin.com/tgz.html

      david April 18, 2017

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.