Introduzione
Webmin è un pannello di controllo (CPANEL) basato sul web per qualsiasi macchina Linux che ti consente di gestire il tuo server attraverso una moderna interfaccia basata sul web.
In questo articolo spiegheremo come installare e configurare Webmin sul tuo server con un certificato valido utilizzando Let's Encrypt e Apache.
Se il vostro intento è installare Webmin su di un server in remoto continuate a leggere, altrimenti se volete installare Webmin sul vostro computer locale saltate il primo paragrafo "Connessione al Server" e leggere il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Prerequisiti
Apache installato, la procedura di installazione la potete trovare qui: Come installare LAMP (Apache MySQL PHP) su Debian 10
Un nome di dominio completo (FQDN), con un record DNS A che punta all'indirizzo IP del server. Seguire questo tutorial: Come cambiare l'hostname su Linux Debian 10
Certbot installato e pronto all'uso. Potete seguire questo tutorial: Come installare Let's Encrypt per Apache su Debian 10
Installare Webmin
Per prima cosa, è necessario aggiungere il repository Webmin in modo da poter installare e aggiornare facilmente Webmin utilizzando il gestore di pacchetti apt.
Aggiungiamo il repository al file /etc/apt/sources.list.
Aprire il file da terminale:
sudo nano /etc/apt/sources.list
Aggiungere questa riga alla fine del file:
deb http://download.webmin.com/download/repository sarge contrib
Salvare e chiudere il file premendo CTRL+X, seguito da Y per salvare le modifiche e quindi ENTER se stai utilizzando nano.
Aggiungere la chiave PGP Webmin per verificare il nuovo repository:
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
Aggiorniamo la lista dei pacchetti per includere il repository di Webmin:
sudo apt update
Adesso installiamo Webmin:
sudo apt install webmin
Possiamo connetterci a Webmin dal browser utilizzando il link e la porta che visualizziamo nel terminale:
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`.
Regola il firewall
Per impostazione predefinita, Webmin utilizza la porta 10000. Se il tuo server utilizza un firewall, dovrai aprire la porta Webmin.
Gli utenti UFW possono aprire la porta 10000 digitando:
sudo ufw allow 10000/tcp
Se si utilizza nftables per filtrare le connessioni al proprio sistema, aprire la porta necessaria eseguendo il comando seguente:
nft add rule inet filter input tcp dport 10000 ct state new,established counter accept
Configurare Webmin per Apache
Per accedere a Webmin, è necessario specificare la porta 10000 e assicurarsi che la porta sia aperta sul firewall.
Useremo un host virtuale Apache per le richieste proxy al server Webmin in esecuzione sulla porta 10000.
Innanzitutto, creare un nuovo file host virtuale Apache nella directory di configurazione di Apache:
sudo nano /etc/apache2/sites-available/TUO_DOMINIO.conf
Aggiungere le seguenti righe di codice, modificando l'email e il dominio:
<VirtualHost *:80>
ServerAdmin TUA_EMAIL
ServerName TUO_DOMINIO
ProxyPass / http://localhost:10000/
ProxyPassReverse / http://localhost:10000/
</VirtualHost>
Salvare e chiudere il file premendo CTRL+X, seguito da Y per salvare le modifiche e quindi ENTER se stai utilizzando nano.
In questo modo Apache effettuerà un redirect delle richieste sulla porta 10000 verso il dominio impostato.
Questa configurazione indica ad Apache di passare le richieste a http://localhost:10000.
Configuriamo Webmin per utilizzare i certificati SSL di Let's Encrypt.
Aprire il seguente file:
sudo nano /etc/webmin/miniserv.conf
Cercare e modificare il campo ssl da 1 a 0, in questo modo:
...
ssl=1
...
Salvare e chiudere il file.
Aprire il seguente file:
sudo nano /etc/webmin/config
Aggiungere la seguente riga alla fine del file:
referers=TUO_DOMINIO
Salvare e chiudere il file.
Riavviare Webmin:
sudo systemctl restart webmin
Abilitare il modulo di Apache proxy_http:
sudo a2enmod proxy_http
Abilitare il nuovo Virtual Host di Apache:
sudo a2ensite TUO_DOMINIO
Riavviare Apache:
sudo systemctl restart apache2
Installare i certificati SSL con Let's Encrypt per Webmin
Se avete seguito il tutorial per installare Certbot, presente nei prerequisiti di questo tutorial, avrete già certbot installato e pronto all'uso.
Certbot utilizza il plugin di Apache per ottenere certificati SSL.
Da terminale:
sudo certbot --apache
L'esecuzione di questo comando ti permetterà di ottenere un certificato SSL e Certbot modificherà automaticamente la configurazione di Apache.
Adesso potete connettervi a Webmin in modo sicuro.
https://TUO_DOMINIO
Conclusione
L'installazione e la configurazione di Webmin su Debian 10 Buster è terminata.