Importante
Este artículo está obsoleto y puede contener información desactualizada. Por favor, consulta la documentación más reciente para obtener la información actualizada.
Webmin es una herramienta de configuración de sistemas gratuita, de código abierto y basada en la web para sistemas operativos basados en Linux. Es muy útil para usuarios que no conocen la línea de comandos de Linux. Puedes crear y administrar cuentas de usuario, Apache, DNS, compartir archivos, cuotas de disco, configuración de servicio y muchos más a través del navegador web. Webmin también le permite administrar dominios, buzones y alias desde la ubicación central.
En este tutorial, aprenderemos cómo instalar Webmin y configurarlo con Nginx como proxy inverso en el servidor Ubuntu 18.04.
Requisitos
- Un servidor cloud corriendo con Ubuntu 18.04.
- Una IP estática establecida en tu servidor.
- Una contraseña de root establecida en tu sevidor vps cloud.
Empezamos
Primero, necesitarás actualizar tu sistema a la última versión. Puedes hacerlo con el siguiente comando:
# apt-get update -y
# apt-get upgrade -y
Una vez que tu servidor cloud esté actualizado, reinicia para aplicar todos los cambios de configuración:
Después, instala algunas dependencias que necesitas en tu sistema:
# apt-get install software-properties-common apt-transport-https wget -y
Instala Webmin
Por defecto, Webmin no está disponible en el repositorio por defecto de Ubuntu 18.04. Por lo que necesitarás añadir el repositorio de Webmin en tu sistema.
Primero, importa la Webmin GPG key ejecutando el siguiente comando:
# wget -q http://www.webmin.com/jcameron-key.asc -O- | apt-key add -
Después, añade el repositorio Webdamin con el siguiente comando:
# add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib"
Una vez que el repositorio ha sido añadido. actualiza tu repositorio e instala Webmin con el siguiente comando:
# apt-get install webmin
Una vez que Webmin ha sido instalado con éxito, deberías ver el siguiente resultado:
Processing triggers for systemd (237-3ubuntu10) ...
Processing triggers for man-db (2.8.3-2) ...
Setting up libpython2.7-stdlib:amd64 (2.7.15-4ubuntu4~18.04.1) ...
Setting up perl-openssl-defaults:amd64 (3build1) ...
Setting up python2.7 (2.7.15-4ubuntu4~18.04.1) ...
Setting up libpython-stdlib:amd64 (2.7.15~rc1-1) ...
Setting up python (2.7.15~rc1-1) ...
Setting up libnet-ssleay-perl (1.84-1ubuntu0.2) ...
Setting up webmin (1.930) ...
Webmin install complete. You can now login to https://ubuntu1804:10000/
as root with your root password, or as any user who can use sudo
to run commands as root.
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for systemd (237-3ubuntu10) ...
Después, comprueba el estado de Webmin con el siguiente comando:
# systemctl status webmin
Deberías ver el siguiente resultado:
● webmin.service - LSB: web-based administration interface for Unix systems
Loaded: loaded (/etc/init.d/webmin; generated)
Active: active (running) since Thu 2019-10-03 10:14:04 UTC; 6min ago
Docs: man:systemd-sysv-generator(8)
Tasks: 1 (limit: 1114)
CGroup: /system.slice/webmin.service
└─16074 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
Oct 03 10:14:00 ubuntu1804 systemd[1]: Starting LSB: web-based administration interface for Unix systems...
Oct 03 10:14:01 ubuntu1804 perl[16059]: pam_unix(webmin:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost= user=root
Oct 03 10:14:03 ubuntu1804 webmin[16059]: Webmin starting
Accede a Webmin
Webmin está ahora instalado y corriendo en el puerto 10000. Puedes acceder visitando la URL https://your-server-ip:10000. Serás redirigido a la siguiente página:
Proporciona tu nombre de usuario de root, contraseña y haz clic en el botón de ‘Sign in’. Deberías ver el panel de control de Webmin en la siguiente pantalla:
Configura Nginx como un Reverse Proxy para Webmin
Por defecto, Webmin está escuchando en el puerto 10000. Por ello, necesitarás configurar Nginx como reverse proxy para enviar una solicitud del puerto 80 al 10000.
Para hacer esto, primero instala Nginx con el siguiente comando:
# apt-get install nginx -y
Una vez instalado, crea un nuevo archivo de host virtual para Webmin:
# nano /etc/nginx/sites-available/webmin.conf
Añade las siguientes líneas:
upstream webmin {
server 127.0.0.1:10000 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name 192.168.0.101;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://webmin/;
}
}
Guarda y cierra el archivo. Entonces, comprueba Nginx para cualquier error de sintaxis con el siguiente comando:
# nginx -t
Deberías ver el siguiente resultado:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
A continuación, habilita el host virtual de Nginx y reinicia el servicio de Nginx con el siguiente comando:
# ln -s /etc/nginx/sites-available/webmin.conf /etc/nginx/sites-enabled/
# systemctl restart nginx
¡Enhorabuena! Ya puedes acceder a la interfaz web de Webmin sin hacerlo por el puerto 10000.