# Webmin

**Cicle formatiu:** Sistemes Microinformàtics i Xarxes (SMX)

**Mòdul:** 0224 — Sistemes operatius en xarxa

**Sistema operatiu:** Ubuntu Server 26.04 LTS

![Webmin logo](https://proferamon.com/tic/imatges/webmin/webmin01.png)

# 1. Introducció

**Webmin** és una eina d'administració de sistemes Unix/Linux basada en web. Permet gestionar la majoria de tasques d'administració del sistema a través d'un navegador web, sense necessitat d'utilitzar la línia d'ordres per a cada operació.

## 1.1. Característiques principals

- Interfície web accessible des de qualsevol navegador modern
- Compatible amb Debian, Ubuntu, CentOS, RHEL, Fedora, openSUSE i altres distribucions
- Arquitectura modular: cada funcionalitat s'implementa com un mòdul independent
- Permet gestionar múltiples servidors des d'una sola consola (Webmin Cluster)
- Codi obert (llicència BSD)
- Porta integrada per defecte: **10000/TCP** (HTTPS)

## 1.2. Per a què serveix?

Webmin és especialment útil per a:

- Administradors que comencen amb Linux i prefereixen un entorn gràfic
- Gestió ràpida de servidors sense memoritzar totes les ordres
- Supervisió visual de l'estat del sistema
- Configuració de serveis com Apache, Samba, DNS, DHCP, SSH, etc.

> [!NOTE] 
> Webmin no substitueix el coneixement de la línia d'ordres. Un bon administrador ha d'entendre el que fa l'eina, no dependre'n cegament. Usa'l com a complement, no com a substitut.

## 1.3. Requisits previs

| Requisit | Detall |
|----------|--------------|
| Sistema operatiu | Debian 10+, Ubuntu 20.04+, CentOS 7+, Fedora 36+ |
| Memòria RAM | Mínim 512 MB (recomanat 1 GB) |
| Espai en disc | ~200 MB per a la instal·lació base |
| Accés | Usuari `root` o amb privilegis `sudo` |
| Connectivitat | Port 10000/TCP obert al tallafoc |
| Navegador | Qualsevol navegador modern (Firefox, Chromium, etc.) |

# 2. Instal·lació

## 2.1. Actualitza el sistema

Abans d’instal·lar cap paquet, és recomanable actualitzar el dipòsit i els paquets existents. Actualitza la llista de paquets:

```bash
sudo apt update
```

Actualitza els paquets instal·lats:

```bash
sudo apt upgrade
```

## 2.2. Descarrega i instal·la

Descarrega Webmin:

```bash
wget -c http://downloads.sourceforge.net/project/webadmin/webmin/2.651/webmin_2.651_all.deb
```

> [!NOTE]
> En el moment d'escriure aquest document la versió estable més moderna és la 2.651.

Instal·la:

```bash
sudo apt install ./webmin_2.651_all.deb
```

Esborra el fitxer `.deb` descarregat

```bash
rm webmin_2.651_all.deb
```

## 2.3. Verifica que el servei s'ha iniciat

Comprova l'estat del servei

```bash
sudo systemctl status webmin
```

La sortida esperada hauria de mostrar `active (running)`.

```ini
● webmin.service - Webmin server daemon
     Loaded: loaded (/usr/lib/systemd/system/webmin.service; enabled; preset: enabled)
     Active: active (running) since Fri 2026-06-19 07:43:21 UTC; 3min 57s ago
 Invocation: e2e0aa5494e14a1eb20c4ae235a2bf72
   Main PID: 3932 (miniserv.pl)
      Tasks: 2 (limit: 3995)
     Memory: 153.1M (peak: 236.1M)
        CPU: 5.768s
     CGroup: /system.slice/webmin.service
             ├─3932 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
             └─3933 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf

```

Habilita l'inici automàtic

```bash
sudo systemctl enable --now webmin
```

Inicia el servei manualment (si no s'ha iniciat)

```bash
sudo systemctl start webmin
```

# 3. Accés a la interfície web

Un cop instal·lat, accedeix a Webmin des del navegador:

```ini
https://<IP-del-servidor>:10000
```

Per exemple, si treballes en local:

```bash
https://localhost:10000
https://127.0.0.1:10000
```

## 3.1. Avís de seguretat del navegador

El navegador mostrarà un avís de certificat SSL no verificat, ja que Webmin utilitza un certificat autosignat per defecte. Pots procedir igualment (en un entorn de pràctiques):

1. Clica a **Avançat** (o *Advanced*)
2. Clica a **Accepta el risc i continua** (o *Accept the Risk and Continue*)

## 3.2. Inici de sessió

Introdueix les credencials del sistema:

| Camp | Valor |
|------|------------|
| Usuari | `root` (o un usuari amb `sudo`) |
| Contrasenya | La contrasenya del sistema |

![Inici de sessió](https://proferamon.com/tic/imatges/webmin/webmin02.png)

# 4. Configuració inicial

## 4.1. Canvia l'idioma a català o castellà

1. Ves a **Webmin** > **Change Language and Theme**
2. Clica a **Personal choice**
3. Selecciona `català` o `español`
4. Clica a **Make Changes**

![Interfície](https://proferamon.com/tic/imatges/webmin/webmin03.png)

## 4.2. Canvia el port per defecte

Per seguretat, és recomanable canviar el port 10000 per un altre:

1. Ves a **Webmin** > **Configuració de Webmin**
2. Clica a **Ports i Adreces**
3. Canvia el port al valor desitjat (p. ex., `10443`)
4. Clica a **Desa**
5. Reinicia Webmin:

```bash
sudo systemctl restart webmin
```

# 5. Funcionalitats principals

Webmin organitza les seves funcions en quatre categories principals, accessibles des del menú lateral:

## 5.1. Webmin

Configuració de la mateixa eina d'administració:

- Gestió d'usuaris de Webmin (diferent dels usuaris del sistema)
- Configuració de SSL/TLS
- Registre d'accions (*audit log*)
- Còpies de seguretat de la configuració de Webmin
- Actualització de mòduls

## 5.2. System (Sistema)

Gestió del sistema operatiu:

- **Users and Groups**: Creació i modificació d'usuaris i grups
- **Filesystem Backups**: Còpies de seguretat amb `dump`
- **Scheduled Cron Jobs**: Gestió de tasques programades
- **Software Packages**: Instal·lació i eliminació de paquets (APT/DNF)
- **System Logs**: Visualització de registres del sistema
- **Bootup and Shutdown**: Gestió de serveis i arrencada
- **Disk and Network Filesystems**: Muntatge de sistemes de fitxers
- **Disk Quotas**: Quotes de disc per usuari/grup

## 5.3. Servers (Servidors)

Configuració dels serveis de xarxa instal·lats:

- **Apache Web Server**: Hosts virtuals, mòduls, directives
- **BIND DNS Server**: Zones DNS, registres
- **DHCP Server**: Pools d'adreces, reserves
- **FTP Server** (vsftpd/ProFTPD)
- **MySQL / MariaDB**: Bases de dades, taules, usuaris
- **PostgreSQL**: Bases de dades relacionals
- **Samba**: Compartició de fitxers i impressores amb Windows
- **SSH Server**: Configuració d'OpenSSH
- **Postfix Mail Server**: Servidor de correu

## 5.4. Networking (Xarxa)

Gestió de la xarxa del servidor:

- **Network Configuration**: Interfícies, adreces IP, rutes
- **Linux Firewall** (iptables/nftables): Regles de tallafoc
- **Network Services and Protocols**: Ports i serveis
- **Bandwidth Monitoring**: Estadístiques de tràfic
- **VPN Configuration**: Gestió d'OpenVPN

## 5.5. Hardware

Informació i gestió del maquinari:

- **Disk and RAID**: Particions, RAID de programari
- **SMART Drive Status**: Salut dels discs
- **System Time**: Configuració de l'hora i NTP
- **Printer Administration**: Gestió d'impressores (CUPS)


# 6. Mòduls destacats

## 6.1. Gestió d'usuaris i grups

Accedeix a **Systema** > **Usuaris i Grups**.

Des d'aquí pots:

- Crear nous usuaris locals
- Modificar UID, GID, directori personal i shell
- Afegir usuaris a grups
- Establir contrasenyes i dates de caducitat
- Bloquejar o desbloquejar comptes

**Exemple:** Crear l'usuari `alumne01` amb el directori `/home/alumne01` i la shell `/bin/bash`:

1. Clica a **Crea un nou usuari**
2. Omple els camps: Usuari, Nom real, Directori arrel, Shell
3. Estableix una contrasenya a la secció **Contrasenya**
4. Clica a **Crea**

## 6.2. Gestió de paquets de programari

Accedeix a **Sistema** > **Paquets de programari**.

Funcionalitats disponibles:

- **Paquets instal·lats**: Llista tots els paquets instal·lats amb filtre de cerca
- **Instal·leu un paquet nou**: Cerca i instal·la paquets des del dipòsit
- **Actualitzar paquets**: Mostra les actualitzacions disponibles i permet aplicar-les

## 6.3. Terminal web integrada

Webmin inclou una terminal web (mòdul **Eines** > **Terminal**) que permet executar ordres directament al servidor des del navegador, sense necessitat de cap client SSH.

> [!TIP] 
> Molt útil per a feines ràpides sense obrir un terminal separat.

## 6.4. Gestor de fitxers

El mòdul **Eines** > **Gestor de Fitxers** ofereix un gestor de fitxers visual per a:

- Navegar per l'estructura de directoris
- Crear, copiar, moure i eliminar fitxers i directoris
- Editar fitxers de text directament al navegador
- Canviar permisos i propietari
- Pujar i descarregar fitxers

## 6.5. Monitoratge del sistema

Accedeix a **Tauler** (pàgina principal del tauler de control).

Informació disponible en temps real:

- **CPU usage**: Ús del processador
- **Memory usage**: Memòria RAM i swap
- **Disk usage**: Espai ocupat per partició
- **Load average**: Càrrega del sistema (1, 5 i 15 minuts)
- **Uptime**: Temps de funcionament des de l'arrencada
- **Network interfaces**: Tràfic enviat i rebut per interfície

## 6.6. Tallafoc (Linux Firewall)

Accedeix a **Xarxa** > **Tallafoc Linux**.

Webmin ofereix una interfície gràfica per gestionar les regles d'`iptables` o `nftables`:

- Visualitzar les cadenes INPUT, OUTPUT i FORWARD
- Afegir, modificar i eliminar regles
- Establir la política per defecte (ACCEPT / DROP)
- Desar i restaurar regles

> [!WARNING] 
> Si treballes en remot, assegura't de no bloquejar el port 22 (SSH) ni el 10000 (Webmin) abans de desar les regles.

# 7. Seguretat

## 7.1. Configura accés SSL/TLS

Webmin utilitza HTTPS per defecte amb un certificat autosignat. Per obtenir un certificat vàlid de Let's Encrypt:

```bash
# Instal·la certbot (Debian/Ubuntu)
sudo apt install certbot

# Obté el certificat (substitueix el domini)
sudo certbot certonly --standalone -d webmin.exemple.cat
```

Després, a **Configuració de Webmin** > **Xifratge SSL**, apunta als fitxers del certificat obtingut.

## 7.2. Restringeix l'accés per IP

Per limitar quines adreces IP poden accedir a Webmin:

1. **Webmin** > **Configuració de Webmin** > **Control d'Accés IP**
2. Selecciona **Permet l'accés només des de les adreces llistades**
3. Introdueix les adreces o rangs permesos (p. ex., `192.168.1.0/24`)
4. Clica a **Desa**

# 8. Webmin en xarxa: accés remot

## 8.1. Obre el port al tallafoc

Per accedir a Webmin des d'una altra màquina, cal obrir el port 10000 al tallafoc del servidor:

**Amb `ufw` (Ubuntu/Debian):**

```bash
sudo ufw allow 10000/tcp
sudo ufw status
```

**Amb `firewalld` (Fedora/CentOS):**

```bash
sudo firewall-cmd --permanent --add-port=10000/tcp
sudo firewall-cmd --reload
```

**Amb `iptables`:**

```bash
sudo iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4
```

## 8.2. Gestió de múltiples servidors

Webmin permet gestionar altres servidors de forma centralitzada:

1. Ves a **Webmin** > **Índex de Servidors Webmin**
2. Clica a **Registreu un servidor nou**
3. Introdueix l'adreça IP, el port i les credencials del servidor remot
4. A partir d'aquí pots navegar pels mòduls del servidor remot des de la mateixa interfície

# 9. Actualització i desinstal·lació

## 9.1. Actualitza Webmin

```bash
sudo apt update 
sudo apt upgrade webmin
```

Des de la mateixa interfície web: **Webmin** > **Webmin Configuration** > **Upgrade Webmin**.

# 10. Desinstal·la Webmin

```bash
sudo apt remove --purge webmin
sudo rm /etc/apt/sources.list.d/webmin.list
sudo rm /usr/share/keyrings/webmin.gpg
```

# 11. Recursos addicionals

- Lloc web oficial: <https://www.webmin.com>
- Documentació oficial: <https://www.webmin.com/docs.html>
- Dipòsit GitHub: <https://github.com/webmin/webmin>
- Fòrum de la comunitat: <https://forum.virtualmin.com>

#### Versions d'aquest document

+ HTML - [webmin.html](https://proferamon.com/tic/webmin.html)
+ PDF - [webmin.pdf](https://proferamon.com/tic/docs/webmin.pdf)
+ ODT - [webmin.odt](https://proferamon.com/tic/odt/webmin.odt)
+ MD - [webmin.md](https://proferamon.com/tic/md/webmin.md)

[Domini Públic (CC0)](https://creativecommons.org/publicdomain/zero/1.0/deed.ca)
