Webmin è un pannello di controllo gratuito e open source per l'amministrazione di server simili a Unix. Questo tutorial ti mostrerà come installare Webmin sul server Ubuntu 18.04 e Ubuntu 16.04. Webmin offre agli utenti un'interfaccia utente grafica basata sul Web per configurare attività e impostazioni di sistema comuni. Se non ti piace l'idea di utilizzare la riga di comando per gestire il tuo server, Webmin è una buona alternativa grafica per te.
Installa Webmin su Ubuntu 18.04 e Ubuntu 16.04 dal repository Webmin
Webmin esiste dal 1997. Al momento della stesura di questo articolo, l'ultima versione stabile disponibile è la 1.941, che è stata rilasciata il 16 gennaio 2020. Webmin non è nel repository del software Ubuntu. Si consiglia di installare Webmin dal suo repository ufficiale in modo da poter ottenere sempre l'ultima versione.
Per aggiungere un repository Webmin, crea un file di elenco sorgenti con un editor di testo a riga di comando come nano.
sudo nano /etc/apt/sources.list.d/webmin.list
Aggiungi la seguente riga nel file.
deb http://download.webmin.com/download/repository sarge contrib
Salva e chiudi il file. Per salvare il file nell'editor di testo nano, premi CTRL+O
, quindi premi Enter
per confermare. Per chiudere il file, premi CTRL+X
. Successivamente, è necessario eseguire il comando seguente per scaricare e importare la chiave di firma PGP di Webmin nel portachiavi APT in modo che il gestore di pacchetti APT possa verificare l'integrità dei pacchetti scaricati dal repository Webmin.
wget http://www.webmin.com/jcameron-key.asc
Quindi importalo con:
sudo apt-key add jcameron-key.asc
Ora possiamo aggiornare l'indice del pacchetto locale e installare Webmin.
sudo apt update sudo apt install webmin
Una volta installato, il server web integrato di Wemin si avvierà automaticamente, come si può vedere eseguendo il comando systemctl di seguito:
systemctl status webmin
Uscita:
● 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
Suggerimento :Se il comando precedente non si chiude immediatamente, puoi premere il Q chiave per riprendere il controllo del terminale.
Se non è in esecuzione, puoi avviarlo con:
sudo systemctl start webmin
Il server Webmin è in ascolto sulla porta 10000. Se utilizzi un firewall come UFW sul tuo server, devi aprire la porta TCP 10000.
sudo ufw allow 10000/tcp
Ora puoi accedere al pannello di controllo basato sul Web tramite
https://your-server-ip:10000
Poiché è in esecuzione in modalità HTTPS e utilizza un certificato TLS autofirmato, il browser ti informerà che la connessione non è sicura.
Ma sai che questo è il tuo server, quindi fai semplicemente clic su Advanced
scheda in Firefox e aggiungi un'eccezione. Se utilizzi Google Chrome, puoi fare clic su Advanced
-> Proceed
.
E ora ti verrà presentata la schermata di accesso di Webmin. Puoi utilizzare root o qualsiasi altro account utente nel gruppo sudo sul tuo sistema Ubuntu 18.04 e Ubuntu 16.04 per accedere.
Se non ti piace il colore marrone predefinito nel menu di navigazione, puoi cambiarlo in un colore diverso facendo clic sull'icona a forma di ingranaggio nella parte inferiore del menu di navigazione, quindi seleziona le opzioni del menu di navigazione e imposta la tavolozza dei colori. Ad esempio, ho selezionato Blu notte.
Salva la modifica.
Configurazione del proxy inverso
Se installi Webmin su un server di produzione, potresti voler configurare il proxy inverso con Apache o Nginx in modo da poter utilizzare un nome di dominio per accedere all'interfaccia di Webmin senza specificare il numero di porta (10000). Ciò ti consente anche di ottenere e installare un certificato Let's Encrypt TLS valido per Webmin.
Se non hai un vero nome di dominio, ti consiglio di andare su NameCheap per acquistarne uno. Il prezzo è basso e offrono protezione della privacy a chi è gratuita per tutta la vita.
Disabilita la modalità HTTPS in Webmin
Prima di configurare il proxy inverso, dobbiamo disabilitare la modalità HTTPS in Webmin, perché in seguito termineremo la connessione TLS su Apache/Nginx. Modifica il file di configurazione di Webmin.
sudo nano /etc/webmin/miniserv.conf
Trova la riga seguente.
ssl=1
Modificalo come segue per disabilitare la modalità HTTPS in Webmin.
ssl=0
Salva e chiudi il file. Quindi riavvia Webmin.
sudo systemctl restart webmin
Apache
Se preferisci utilizzare il server Web Apache, segui le istruzioni seguenti per configurare il proxy inverso.
Installa il server web Apache.
sudo apt install apache2
Per utilizzare Apache come proxy inverso, dobbiamo abilitare il proxy
, proxy_http
e rewrite
modulo.
sudo a2enmod proxy proxy_http rewrite
Quindi crea un file host virtuale per Webmin.
sudo nano /etc/apache2/sites-available/webmin.conf
Aggiungi i seguenti testi nel file. Sostituisci webmin.your-domain.com
con il tuo nome di dominio effettivo e non dimenticare di creare un record DNS A per esso.
<VirtualHost *:80> ServerName webmin.your-domain.com ProxyPass / http://127.0.0.1:10000/ ProxyPassReverse / http://127.0.0.1:10000/ </VirtualHost>
Salva e chiudi il file. Quindi abilita questo host virtuale.
sudo a2ensite webmin.conf
Ricarica Apache per rendere effettive le modifiche.
sudo systemctl reload apache2
Ora puoi accedere da remoto a Webmin inserendo il nome del dominio (webmin.your-domain.com
) nella barra degli indirizzi del browser.
Nginx
Se preferisci utilizzare il server web Nginx, segui le istruzioni seguenti per configurare il proxy inverso.
Installa Nginx su Ubuntu.
sudo apt install nginx
Avvia il server web Nginx.
sudo systemctl start nginx
Quindi crea un nuovo file di blocco del server in /etc/nginx/conf.d/
directory.
sudo nano /etc/nginx/conf.d/webmin.conf
Incolla il seguente testo nel file. Sostituisci webmin.your-domain.com
con il tuo nome di dominio preferito e non dimenticare di creare un record DNS A per esso.
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; } }
Salva e chiudi il file. Quindi testa la configurazione di Nginx.
sudo nginx -t
Se il test ha esito positivo, ricarica Nginx.
sudo systemctl reload nginx
Ora puoi accedere all'interfaccia Web di Webmin tramite webmin.your-domain.com
.
Abilita HTTPS
Per crittografare il traffico HTTP quando visiti l'interfaccia web di Webmin, possiamo abilitare HTTPS installando un certificato TLS gratuito emesso da Let's Encrypt. Esegui il comando seguente per installare il client Let's Encrypt (certbot) su Ubuntu.
sudo apt install certbot
Se usi Apache, devi installare il plugin Certbot Apache.
sudo apt install python3-certbot-apache
Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com
Se usi Nginx, devi installare il plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d webmin.your-domain.com
Dove:
--apache
:usa il plugin Apache.--nginx
:usa il plugin nginx.--agree-tos
:Accetta i termini di servizio.--redirect
:Forza HTTPS tramite reindirizzamento 301.--hsts
: Aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.--staple-ocsp
: Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.
Il certificato dovrebbe ora essere ottenuto e installato automaticamente. E potrai accedere all'interfaccia web di Webmin tramite una connessione HTTPS sicura.
Aggiungi referrer affidabili
Poiché Webmin stesso è in esecuzione in modalità HTTP e abbiamo abilitato HTTPS in Apache/Nginx, Webmin penserà che https://webmin.your-domain.com
è al di fuori del server Webmin. Quindi dobbiamo aggiungere referrer affidabili.
Modifica il file di configurazione di Webmin.
sudo nano /etc/webmin/config
Aggiungi la riga seguente alla fine.
referers=webmin.your-domain.com
Salva e chiudi il file. Quindi riavvia Webmin.
sudo systemctl restart webmin