Introducción
Webmin es un panel de control basado en web (CPANEL) para cualquier máquina Linux que le permite administrar su servidor a través de una moderna interfaz basada en web.
En este artículo explicaremos cómo instalar y configurar Webmin en su servidor con un certificado válido usando Let's Encrypt y Apache.
Si su intención es instalar Webmin en un servidor remoto, continúe leyendo; de lo contrario, si desea instalar Webmin en su computadora local, omita el primer párrafo "Conectarse al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Prerrequisitos
Apache instalado, el procedimiento de instalación se puede encontrar aquí: Cómo instalar LAMP (Apache MySQL PHP) en Debian 10
Un nombre de dominio completo (FQDN), con un registro A de DNS que apunta a la dirección IP del servidor. Siga este tutorial: Cómo cambiar el nombre de host en Linux Debian 10
Certbot instalado y listo para usar. Puede seguir este tutorial: Cómo instalar Let's Encrypt para Apache en Debian 10
Instalar Webmin
Primero, debe agregar el repositorio de Webmin para que pueda instalar y actualizar Webmin fácilmente usando el administrador de paquetes apt. Agreguemos el repositorio al archivo /etc/apt/sources.list.
Abra el archivo desde la terminal:
sudo nano /etc/apt/sources.list
Agregue esta línea al final del archivo:
deb http://download.webmin.com/download/repository sarge contrib
Guarde y cierre el archivo presionando CTRL + X, seguido de Y para guardar los cambios y luego ENTER si está usando nano.
Agregue la clave PGP Webmin para verificar el nuevo repositorio:
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
Actualicemos la lista de paquetes para incluir el repositorio de Webmin:
sudo apt update
Ahora instalemos Webmin:
sudo apt install webmin
Podemos conectarnos a Webmin desde el navegador usando el enlace y puerto que vemos en el terminal:
Webmin install complete. You can now login to
https://INDIRIZZO_IP:10000 as root with your
root password, or as any user who can use `sudo`.
Ajustar el firewall
De forma predeterminada, Webmin usa el puerto 10000. Si su servidor utiliza un firewall, deberá abrir el puerto Webmin.
Los usuarios de UFW pueden abrir el puerto 10000 escribiendo:
sudo ufw allow 10000/tcp
Si está utilizando nftables para filtrar las conexiones a su sistema, abra el puerto necesario ejecutando el siguiente comando:
nft add rule inet filter input tcp dport 10000 ct state new,established counter accept
Configurar Webmin para Apache
Para acceder a Webmin, debe especificar el puerto 10000 y asegurarse de que el puerto esté abierto en el firewall.
Usaremos un host virtual Apache para las solicitudes de proxy al servidor Webmin que se ejecuta en el puerto 10000.
Primero, cree un nuevo archivo de host virtual Apache en el directorio de configuración de Apache:
sudo nano /etc/apache2/sites-available/TUO_DOMINIO.conf
Agregue las siguientes líneas de código, cambiando el correo electrónico y el dominio:
<VirtualHost *:80>
ServerAdmin TUA_EMAIL
ServerName TUO_DOMINIO
ProxyPass /http://localhost:10000/ProxyPassReverse /http://localhost:10000/</VirtualHost>
Guarde y cierre el archivo presionando CTRL + X, seguido de Y para guardar los cambios y luego ENTER si está usando nano.
De esta manera, Apache redirigirá las solicitudes en el puerto 10000 al dominio establecido.
Esta configuración le indica a Apache que pase las solicitudes a http: //localhost: 10000.
Configuramos Webmin para usar certificados SSL Let's Encrypt. Abra el siguiente archivo:
sudo nano /etc/webmin/miniserv.conf
Busque y cambie el campo ssl de 1 a 0, así:
...
ssl=1...
Guarde y cierre el archivo.
Abra el siguiente archivo:
sudo nano /etc/webmin/config
Agregue la siguiente línea al final del archivo:
referers=TUO_DOMINIO
Guarde y cierre el archivo.
Reinicie Webmin:
sudo systemctl restart webmin
Habilite el módulo Apache proxy_http:
sudo a2enmod proxy_http
Habilite el nuevo host virtual Apache:
sudo a2ensite TUO_DOMINIO
Reinicie Apache:
sudo systemctl restart apache2
Instale certificados SSL con Let's Encrypt para Webmin
Si ha seguido el tutorial para instalar Certbot, presente en los requisitos previos de este tutorial, ya tendrá certbot instalado y listo para usar.
Certbot utiliza el complemento Apache para obtener certificados SSL. Desde la terminal:
sudo certbot --apache
La ejecución de este comando le permitirá obtener un certificado SSL y Certbot modificará automáticamente la configuración de Apache.
Ahora puede conectarse a Webmin de forma segura.
https://TUO_DOMINIO
Conclusión
La instalación y configuración de Webmin en Debian 10 Buster ha finalizado.