Webmin es un panel de control gratuito y de código abierto para administrar servidores tipo Unix. Este tutorial le mostrará cómo instalar Webmin en el servidor Ubuntu 18.04 y Ubuntu 16.04. Webmin brinda a los usuarios una interfaz gráfica de usuario basada en la web para configurar tareas y configuraciones comunes del sistema. Si no le gusta la idea de usar la línea de comandos para administrar su servidor, Webmin es una buena alternativa gráfica para usted.
Instalar Webmin en Ubuntu 18.04 y Ubuntu 16.04 desde el repositorio de Webmin
Webmin existe desde 1997. Al momento de escribir este artículo, la última versión estable disponible es la 1.941, que se lanzó el 16 de enero de 2020. Webmin no está en el repositorio de software de Ubuntu. Se recomienda instalar Webmin desde su repositorio oficial para que siempre pueda obtener la última versión.
Para agregar un repositorio de Webmin, cree un archivo de lista de fuentes con un editor de texto de línea de comandos como nano.
sudo nano /etc/apt/sources.list.d/webmin.list
Agregue la siguiente línea en el archivo.
deb http://download.webmin.com/download/repository sarge contrib
Guarde y cierre el archivo. Para guardar el archivo en el editor de texto nano, presione CTRL+O
, luego presione Enter
para confirmar. Para cerrar el archivo, presiona CTRL+X
. A continuación, debemos ejecutar el siguiente comando para descargar e importar la clave de firma PGP de Webmin al conjunto de claves de APT para que el administrador de paquetes de APT pueda verificar la integridad de los paquetes descargados del repositorio de Webmin.
wget http://www.webmin.com/jcameron-key.asc
Luego impórtalo con:
sudo apt-key add jcameron-key.asc
Ahora podemos actualizar el índice de paquetes locales e instalar Webmin.
sudo apt update sudo apt install webmin
Una vez instalado, el servidor web integrado de Wemin se iniciará automáticamente como se puede ver al ejecutar el siguiente comando systemctl:
systemctl status webmin
Salida:
● webmin.service - LSB: web-based administration interface for Unix systems Loaded: loaded (/etc/init.d/webmin; generated) Active: active (running) since Sun 2020-02-23 16:34:02 HKT; 37s ago Docs: man:systemd-sysv-generator(8) Tasks: 1 (limit: 4915) CGroup: /system.slice/webmin.service └─25792 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
Sugerencia :Si el comando anterior no se cierra inmediatamente, puede presionar la Q clave para recuperar el control de la terminal.
Si no se está ejecutando, puede iniciarlo con:
sudo systemctl start webmin
El servidor Webmin escucha en el puerto 10000. Si usa un firewall como UFW en su servidor, entonces necesita abrir el puerto TCP 10000.
sudo ufw allow 10000/tcp
Ahora puede acceder al panel de control basado en la web a través de
https://your-server-ip:10000
Debido a que se ejecuta en modo HTTPS y utiliza un certificado TLS autofirmado, el navegador le indicará que la conexión no es segura.
Pero sabe que este es su propio servidor, así que simplemente haga clic en Advanced
pestaña en Firefox y agregue una excepción. Si está utilizando Google Chrome, puede hacer clic en Advanced
-> Proceed
.
Y ahora se le presentará la pantalla de inicio de sesión de Webmin. Puede usar la raíz o cualquier otra cuenta de usuario en el grupo sudo en su sistema Ubuntu 18.04 y Ubuntu 16.04 para iniciar sesión.
Si no le gusta el color marrón predeterminado en el menú de navegación, puede cambiarlo a un color diferente haciendo clic en el ícono de la rueda dentada en la parte inferior del menú de navegación, luego seleccione las opciones del menú de navegación y configure la paleta de colores. Por ejemplo, seleccioné azul medianoche.
Guarde el cambio.
Configuración del proxy inverso
Si instala Webmin en un servidor de producción, es posible que desee configurar un proxy inverso con Apache o Nginx para poder usar un nombre de dominio para acceder a la interfaz de Webmin sin especificar el número de puerto (10000). Esto también le permite obtener e instalar un certificado Let's Encrypt TLS válido para Webmin.
Si no tiene un nombre de dominio real, le recomiendo ir a NameCheap para comprar uno. El precio es bajo y brindan protección de privacidad whois gratis de por vida.
Deshabilitar el modo HTTPS en Webmin
Antes de configurar el proxy inverso, debemos deshabilitar el modo HTTPS en Webmin, porque luego vamos a terminar la conexión TLS en Apache/Nginx. Edite el archivo de configuración de Webmin.
sudo nano /etc/webmin/miniserv.conf
Busque la siguiente línea.
ssl=1
Cámbielo a lo siguiente para deshabilitar el modo HTTPS en Webmin.
ssl=0
Guarde y cierre el archivo. Luego reinicie Webmin.
sudo systemctl restart webmin
Apache
Si prefiere utilizar el servidor web Apache, siga las instrucciones a continuación para configurar el proxy inverso.
Instale el servidor web Apache.
sudo apt install apache2
Para usar Apache como proxy inverso, debemos habilitar el proxy
, proxy_http
y rewrite
módulo.
sudo a2enmod proxy proxy_http rewrite
Luego cree un archivo de host virtual para Webmin.
sudo nano /etc/apache2/sites-available/webmin.conf
Agregue los siguientes textos al archivo. Reemplace webmin.your-domain.com
con su nombre de dominio real y no olvide crear un registro DNS A para él.
<VirtualHost *:80> ServerName webmin.your-domain.com ProxyPass / http://127.0.0.1:10000/ ProxyPassReverse / http://127.0.0.1:10000/ </VirtualHost>
Guarde y cierre el archivo. Luego habilite este servidor virtual.
sudo a2ensite webmin.conf
Vuelva a cargar Apache para que los cambios surtan efecto.
sudo systemctl reload apache2
Ahora puede acceder de forma remota a Webmin ingresando el nombre de dominio (webmin.your-domain.com
) en la barra de direcciones del navegador.
Nginx
Si prefiere usar el servidor web Nginx, siga las instrucciones a continuación para configurar el proxy inverso.
Instale Nginx en Ubuntu.
sudo apt install nginx
Inicie el servidor web Nginx.
sudo systemctl start nginx
Luego cree un nuevo archivo de bloque de servidor en /etc/nginx/conf.d/
directorio.
sudo nano /etc/nginx/conf.d/webmin.conf
Pegue el siguiente texto en el archivo. Reemplace webmin.your-domain.com
con su nombre de dominio preferido y no olvide crear un registro DNS A para él.
server { listen 80; server_name webmin.your-domain.com; location / { proxy_pass http://127.0.0.1:10000; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Guarde y cierre el archivo. Luego pruebe la configuración de Nginx.
sudo nginx -t
Si la prueba es exitosa, vuelva a cargar Nginx.
sudo systemctl reload nginx
Ahora puede acceder a la interfaz web de Webmin a través de webmin.your-domain.com
.
Habilitar HTTPS
Para cifrar el tráfico HTTP cuando visita la interfaz web de Webmin, podemos habilitar HTTPS instalando un certificado TLS gratuito emitido por Let's Encrypt. Ejecute el siguiente comando para instalar el cliente Let's Encrypt (certbot) en Ubuntu.
sudo apt install certbot
Si usa Apache, entonces necesita instalar el complemento Certbot Apache.
sudo apt install python3-certbot-apache
A continuación, ejecute el siguiente comando para obtener e instalar el certificado TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com
Si usa Nginx, entonces necesita instalar el complemento Certbot Nginx.
sudo apt install python3-certbot-nginx
A continuación, ejecute el siguiente comando para obtener e instalar el certificado TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com
donde:
--apache
:Utilice el complemento de Apache.--nginx
:use el complemento nginx.--agree-tos
:Acepto los términos del servicio.--redirect
:Forzar HTTPS por redirección 301.--hsts
: Agregue el encabezado Strict-Transport-Security a cada respuesta HTTP. Obligar al navegador a usar siempre TLS para el dominio. Protege contra la eliminación de SSL/TLS.--staple-ocsp
: Habilita el grapado OCSP. Se grapa una respuesta OCSP válida al certificado que ofrece el servidor durante TLS.
Ahora se debe obtener el certificado e instalarlo automáticamente. Y podrá acceder a la interfaz web de Webmin a través de una conexión HTTPS segura.
Añadir referentes de confianza
Debido a que Webmin se está ejecutando en modo HTTP y habilitamos HTTPS en Apache/Nginx, Webmin pensará que https://webmin.your-domain.com
está fuera del servidor de Webmin. Por lo tanto, debemos agregar referentes de confianza.
Edite el archivo de configuración de Webmin.
sudo nano /etc/webmin/config
Agregue la siguiente línea al final.
referers=webmin.your-domain.com
Guarde y cierre el archivo. Luego reinicie Webmin.
sudo systemctl restart webmin