GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Webmin su CentOS 8/RHEL 8 Server

Webmin è un pannello di controllo gratuito e open source per l'amministrazione di server Unix/Linux. Questo tutorial ti mostrerà come installare Webmin sul server CentOS 8/RHEL 8.

Webmin fornisce 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. Di seguito è riportato un elenco di funzionalità fornite da Webmin.

  • BIND Risolutore DNS e server DNS autorevole
  • Server Samba
  • Server FTP
  • Server Postfix SMTP e server Dovecot IMAP/POP3.
  • backup del file system
  • Configura la rotazione del file di registro.
  • Modifica i repository dei pacchetti, pianifica gli aggiornamenti software automatici e ricevi i rapporti sugli aggiornamenti via e-mail.
  • Gestisci utenti e gruppi
  • Programma lavori Cron.
  • Configura il firewall iptables
  • E molti altri.

Installa Webmin su CentOS 8/RHEL 8 da Webmin Repository

Webmin esiste dal 1997. Al momento della stesura di questo articolo, l'ultima versione stabile disponibile è 1.970, rilasciata il 6 gennaio 2021. Webmin non è nel repository software CentOS/RHEL. 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 repository con un editor di testo a riga di comando come Nano.

sudo dnf install nano

sudo nano /etc/yum.repos.d/webmin.repo

Aggiungi le seguenti righe nel file.

[Webmin]
name=Webmin Distribution Neutral
#baseurl=https://download.webmin.com/download/yum
mirrorlist=https://download.webmin.com/download/yum/mirrorlist
enabled=1

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 in modo che il gestore dei pacchetti possa verificare l'integrità dei pacchetti scaricati dal repository Webmin.

wget http://www.webmin.com/jcameron-key.asc

Quindi importalo con:

sudo rpm --import jcameron-key.asc

Ora possiamo aggiornare il repository e installare Webmin.

sudo dnf update -y

sudo dnf install webmin -y

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:

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

Se vedi "Unit webmin.service could not be found ” errore, quindi è necessario riavviare il server.

sudo shutdown -r now

Il server Webmin è in ascolto sulla porta 10000, quindi è necessario aprire la porta TCP 10000 nel firewall.

sudo firewall-cmd --permanent --add-port=10000/tcp

sudo systemctl reload firewalld

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 .

Ora ti verrà presentata la schermata di accesso di Webmin. Devi usare root account per accedere.

Se non ti piace il colore predefinito nel menu di navigazione, puoi cambiarlo in un colore diverso facendo clic su theme configuration icona 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.

Apache

Se preferisci utilizzare il server Web Apache, segui le istruzioni seguenti per configurare il proxy inverso.

Installa il server web Apache.

sudo dnf install httpd

Quindi crea un file host virtuale per Webmin.

sudo nano /etc/httpd/conf.d/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. Ricarica Apache per rendere effettive le modifiche.

sudo systemctl reload httpd

Per impostazione predefinita, SELinux vieta ad Apache di effettuare richieste di rete ad altri server, ma in seguito Apache deve inoltrare richieste HTTP a 127.0.0.1:10000 , quindi dobbiamo dire a SELinux di consentire ad Apache con il seguente comando.

sudo setsebool -P httpd_can_network_connect 1

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 CentOS/RHEL.

sudo dnf 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;
       listen [::]:80;
       server_name webmin.your-domain.com;

       access_log /var/log/nginx/webmin.access;
       error_log /var/log/nginx/webmin.error;

       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

Per impostazione predefinita, SELinux vieta a Nginx di effettuare richieste di rete ad altri server, ma in seguito Nginx deve inoltrare richieste HTTP a 127.0.0.1:10000 , quindi dobbiamo dire a SELinux di consentire Nginx con il seguente comando.

sudo setsebool -P httpd_can_network_connect 1

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 CentOS/RHEL.

sudo dnf install certbot

Se usi Apache, devi installare il plugin Certbot Apache.

sudo dnf 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 dnf 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

Disabilita la modalità HTTPS in Webmin

Ora che la connessione TLS è terminata su Apache/Nginx, è necessario disabilitare la modalità HTTPS nel server Web integrato di Webmin. 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

Possiamo anche aggiungere la seguente riga in questo file in modo che il server Web integrato consenta l'accesso solo da localhost. Visitatori che utilizzano http://public-ip:10000 schema sarà vietato.

allow=127.0.0.1

Salva e chiudi il file. Quindi riavvia Webmin.

sudo systemctl restart webmin

Risoluzione dei problemi

Se vedi degli errori, puoi controllare il registro degli errori di Webmin (/var/webmin/miniserv.error ) per risolvere i problemi.


Cent OS
  1. Come installare Puppet su CentOS 8 / RHEL 8

  2. Installa Webmin su CentOS 7 / RHEL 7

  3. Come installare Puppet 6.x su CentOS 7 / RHEL 7

  4. Come installare Puppet su RHEL 8/CentOS 8

  5. CentOS / RHEL 7:come installare la GUI

Come installare il server Web OpenLiteSpeed ​​su CentOS 8/RHEL 8

Come installare Zabbix Server 4.x su CentOS 6 / RHEL 6

Come installare Zabbix Server 5.0/4.0 su CentOS 7/RHEL 7

Come installare qBittorrent su CentOS 8/RHEL 8 Desktop &Server

Come installare Webmin su CentOS

Come installare Webmin su CentOS 7