WEBMIN: Una serie di tools per controllare la vostra GNU/Linux box sia server che client

Da Wizard linux team wiki.

Jump to: navigation, search

Contents

Premessa

Mi sono accorto che non tutti conoscono questo potente mezzo che è Webmin. Quindi, visto che lo uso parecchio, ho deciso di analizzarlo in ogni sua parte. Ci vorrà del tempo, visto che non è proprio piccolo, ma ne vale sicuramente la pena.

Come funziona

Webmin è applicazione che gira in modalità web che interfaccia in modalità grafica un bel numero di componenti di un sistema Linux e permette di controllare veramente tutto e di fare anche operazioni molto utili. I suoi punti di forza sono:

  • gira in connessione protetta (SSL)
  • ha un server web tutto suo
  • permette di fare in modalità grafica molte operazioni di configurazione ecc
  • attraverso una semplice regola sul Firewall è possibile fare da qualunque parte del mondo manutenzione e avere informazioni sul sistema

Installazione

Webmin non è molto complicato da installare. E' reperibile all'indirizzo http://www.webmin.com/ dove sono presenti diversi pacchetti:

  • tar.gz
  • deb
  • rpm

ecc ecc

Necessita dell'ssl sia dev che non per la connessione protetta. I pacchetti rpm e deb installano ssl da soli come dipendenza.

Installazione del sorgente

Basta scompattare il file e dopo essersi spostati nella directory di webmin basta lanciare

 ./setup.sh 

inizierà la procedura di installazione come riportato sotto:

***********************************************************************
*            Welcome to the Webmin setup script, version 1.380        *
***********************************************************************
Webmin is a web-based interface that allows Unix-like operating
systems and common Unix services to be easily administered.

Installing Webmin in /root/webmin-1.380 ...
...
...

riporto sotto le uniche domande che vengono poste a durante le installazione :

...
Config file directory [/etc/webmin]:
Log file directory [/var/webmin]:
...
Web server port (default 10000):
Login name (default admin): root
Login password:
Password again:
The Perl SSLeay library is not installed. SSL not available.
Start Webmin at boot time (y/n):

Nell'installazione che ho effettuato ho lasciato tutto di default impostando solo l'utente e dicendo di farlo avviare allo start del sistema.

Come di presenta

Una volta installato lo troviamo all'indirizzo:
 https://localhost:10000 
.

Sui sistemi deb una volta installato il pacchetto bisogna cambiare la password con il comando:

 sudo /usr/share/webmin/changepass.pl /etc/webmin root <nuova_password> 

Sotto possiamo vedere la schermata di login:

Immagine:Webmin01.jpg

Una volta messa la login e password passiamo alla schermata principale:

Immagine:Webmin09.jpg

Di primo impatto possiamo vedere nella parte centrale della finestra i dettagli sul sistema in uso e nella parte sinistra l'albero che ci farà accedere alle diverse funzioni di configurazioe del sistema e dei servizi che girano su di esso. Come si nota dalla figura sottostante:

Immagine:Webmin02.jpg

Lo scopo di questo tutorial è analizzare tutte le componenti in ogni sua parte.

Webmin

Immagine:Webmin10.jpg

Backup Configuration files

Immagine:Backup_conf_files.jpg

Consente di fare un salvataggio con diverse destinazioni di tutti i file di sistema. Questo tol è utile per la clonazione o alla conservazione dei file o per clonare la linux box senza tralasciare nessun file di configurazione di nessun servizio. Tale operazione puo' essere schedulata per essere fatta periodicamente e con 'Restore now' è possibile ripristinare le configurazioni desiderate.

Change language and theme

Immagine:Ch_lang_theme.jpg

Personalizza l'aspetto grafico e la lingua di webmin

Usermin Configuration

Webmin Actions Log

Immagine:Webmin_log.jpg

Visualizza tutti i log anche con la possibilità di specificare un range temporale per visualizzare tutte le operazioni conpiute su webmin

Webmin Configuration

Questa sezione comprende tutti i tutorial grafici per la configurazione dell'applicativo Webmin.

La prima schermata si presenta in questo modo: Immagine:Webmin1.png

Nella parte Webmin modules è possibile gestire tutti i moduli di webmin.

Immagine:Webmin.png


una volta cliccato su Standard module from e sul pulsante con scritto '...' appare una schermata con l'elenco dei moduli standard ufficiali del sito www.webmin.com

Immagine:Webmin2.png

Da qui è possibile scegliere il modulo non installato per default e installarlo cliccando semplicemente sopra il nome.

Webmin Servers Index

Webmin Users

System

Immagine:Webmin03.jpg

Bacula Backup System

Bootup and Shutdown

Change Passwords

Disk Quotas

Disk and Network Filesystems

Filesystem Backup

LDAP Client

LDAP Users and Groups

Log File Rotation

MIME Type Programs

MON Service Monitor

PAM Authentication

Running Processes

Scheduled Commands

Scheduled Cron Jobs

Software Packages

System Documentation

System Logs

Users and Groups

Servers

Immagine:Webmin04.jpg


Apache Webserver

BIND DNS Server

CVS Server

DHCP Server

Dovecot IMAP/POP3 Server

Fetchmail Mail Retrieval

Frox FTP Proxy

LDAP Server

La prima schermata presenta 5 opzioni:

  • OpenLDAP Server Configuration
  • Manage Schema
  • LDAP Access Control
  • Browse Database
  • Create Tree

Immagine:Openldap01.jpg

OpenLDAP Server Configuration

Immagine:Openldap02.jpg

Manage Schema

Immagine:Openldap03.jpg

Immagine:Openldap05.jpg

LDAP Access Control

Immagine:Openldap04.jpg


Majordomo List Manager

MySQL Database Server

OpenSLP Server

Postfix Mail Server

PostgreSQL Database Server

ProFTPD Server

Procmail Mail Filter

QMail Mail Server

Read User Mail

SSH Server

Samba Windows File Sharing

Immagine:Samba.jpg

1 Create New File Share Name : Apre la schermata riportata sotto che permette di creare la cartella condivisa.

Immagine:Samba1.jpg

1 - Share Name: è quello che viene riportato ad esempio quando viene fatta una connessione con //<ip_server>/ da una macchina windows

2 - Directory to Share: nome e path della directory residente sul server linux

3 - Create with owner: il nome dell'utente con cui viene creata la directory

4 - Browsable: si puo' decidere se mantenere o meno nascosta la cartella condivisa

2 View All Connection : mostra tutte le conessioni al server samba con i relativi ip e le cartelle

3 Directory Condivisa : vengono riepilogate le informazioni relative al nome samba e al path vero e proprio della directory e i permessi assegnati

Una volta creata la directory cliccando sopra al nome la schermata riportata sopra si modifica in questo modo:

Immagine:Samba2.jpg

1 Security access control

Immagine:Samba3.jpg

1 Writable: Definisce se la directory è di sola lettura o è accessibile in modalità read/write

2 Host Allow/Host Deny: se riempito con l'elecon degli ip delle macchine connesse alla rete discrimina l'accesso o meno dei client

3 Users (impostazione uno): Specifica il utenti e gruppi valido o meno per le operazioni sulla directory

4 e 5 Users (impostazione due): specifica permessi di lettura e scrittura per utenti e gruppi


2 File permission

Immagine:Samba4.jpg

1 New Unix file mode/New Unix directory mode: dichiara l'utente e il gruppo che scriverà i file e le directory

2 Directory not to list: specifica una o più directory che non devono essere memorizzate

3 Force Unix user/Force unix group: forza il gruppo o l'utente che scrive le directory in caso fosse diverso

4 Allow symlinks outside the share?/Can delete read only file?: ammette di seguire link simbolici al di fuori della directory condivisa. Cancella i file e le directory memorizzate con l'attributo di sola lettura

5 Force Unix directory mode: forza gli attributi di file e directory

Sendmail Mail Server

SpamAssassin Mail Filter

Squid Analysis Report Generator

Squid Proxy Server

WU-FTP Server

Webalizer Logfile Analysis

Networking

Immagine:Webmin05.jpg

ADSL Client

Bandwidth Monitoring

IPsec VPN Configuration

Internet Services and Protocols

Kerberos5

Linux Firewall

NFS Exports

NIS Client and Server

Network Configuration

PPP Dialin Server

PPP Dialup Client

PPTP VPN Client

PPTP VPN Server

SSL Tunnels

Shoreline Firewall

idmapd daemon

Hardware

Immagine:Webmin06.jpg

CD Burner

GRUB Boot Loader

Linux RAID

Preparare i dischi

Da console con i previlegi di root facciamo

fdisk -l

Una volta individuati i dischi bisogna preparali facendo la partizione

fdisk /dev/sdx

sostituendo la lettera identificativa del vostro disco alla x

Installare i pacchetti occorrenti

Installiamo i pacchetti necessari:

  • array-info
  • dmraid
  • mdadm
  • dmsetup

Configurare il Raid su Webmin

Andando sulla voce raid si apre questa schermata:

Immagine:Raid01.jpg

Poi si clicca sulla voce Concatenated (Linear) e scegliamo la tipologia di raid che ci interessa.

Immagine:Raid02.jpg

Tipologie di RAID

(Fonte: http://www.pluto.it/files/ildp/HOWTO/Software-RAID-HOWTO/Software-RAID-HOWTO-2.html#ss2.3)

  • Linear mode

- Due o più dischi sono combinati in un dispositivo fisico. I dischi sono "appesi" (accodati) l'uno all'altro, così lo scrivere sul dispositivo RAID riempirà prima il disco 0, poi il disco 1 e così via. Non è obbligatorio che i dischi abbiano la stessa dimensione. Infatti, non importa affatto :) - Non c'è ridondanza in questo livello. Se un disco si danneggia, probabilmente tutti i dati saranno persi. Potreste comunque essere fortunati e recuperare alcuni dati, perché il filesysytem starà perdendo solo un grande blocco consecutivo ("chunk") di dati. - Le prestazioni in lettura e scrittura non miglioreranno per delle singole letture/scritture. Ma se diversi utenti utilizzano il dispositivo, potreste essere fortunati nel caso in cui un utente usi il primo disco e l'altro stia accedendo a dei file che stanno sul secondo disco. Se succede questo, dovreste accorgervi di un incremento di prestazioni.

  • RAID-0

- Detto anche modalità (mode) ``stripe. Come il linear mode, eccetto che le letture e le scritture sono fatte in parallelo sui dischi. I dischi dovrebbero essere approssimativamente della stessa dimensione. Siccome tutti gli accessi sono effettuati in parallelo, i dischi si dovrebbero riempire nella stessa misura. Se un disco è più grande degli altri, lo spazio eccedente è ancora usato nel dispositivo RAID, ma l'accesso avverrà solo sul disco più grande durante le scritture alla fine del dispositivo RAID. Questo va naturalmente a detrimento (deterioramento??) delle prestazioni. - Come per il linear mode, non c'è nessuna ridondanza in questo livello. Diversamente dal linear mode, non sarà possibile recuperare alcun dato se un disco si danneggia. Se un disco viene rimosso da un RAID-0, il RAID non perderà solo un grande consecutivo blocco di dati, esso sarà riempito con piccoli buchi lungo tutto il dispositivo. e2fsck non sarà probabilmente in grado di recuperare molto da questo dispositivo. - Le prestazioni in lettura e scrittura cresceranno, poiché le letture e scritture sono fatte in parallelo sui dischi. Questa è solitamente la ragione per cui si implementa un RAID-0. Se i bus che collegano i dischi sono abbastanza veloci, si dovrebbe ottenere qualcosa di molto vicino a N*P MB/s.

  • RAID-1

- Questa è la prima modalità che presenta ridondanza. Il RAID-1 può essere usato su due o più dischi con zero o più spare-disk. Questa modalità mantiene un'immagine (mirror) esatta del contenuto di un disco sugli altri. Naturalmente i dischi devono essere della stessa dimensione. Se un disco è più grande di un altro, il dispositivo RAID avrà la dimensione del disco più piccolo. - Se fino a N-1 dischi vengono rimossi (o si danneggiano), tutti i dati saranno ancora intatti. Se ci sono spare-disk disponibili e se il sistema (leggi SCSI driver o chipset IDE, ecc.) sopravvive al blocco del sistema, la ricostruzione del mirror inizierà immediatamente su uno degli spare-disk, dopo aver individuato il disco danneggiato. - Le prestazioni in scrittura sono piuttosto peggiori che su un singolo dispositivo, perché delle copie identiche dei dati scritti devono essere inviate a ogni disco dell'array. Le prestazioni in lettura sono di solito piuttosto cattive a causa di una troppo semplificata strategia di read-balancing nel codice RAID. Comunque, è stata implementata un strategia di read-balancing migliorata, che potrebbe diventare disponibile per le patch del Linux kernel 2.2 (chiedere sulla linux-kernel list), e sarà molto probabilmente nel supporto RAID del kernel 2.4.

  • RAID-4

- Questo livello RAID non è usato molto spesso. Può essere usato su tre o più dischi. Invece di fare un immagine (mirror) completa delle informazioni, esso tiene delle informazioni di parità su un disco e scrive i dati sugli altri dischi in una maniera simile al RAID-0. Siccome un disco è riservato per le informazioni di parità, la dimensione dell'array sarà (N-1)*S, dove S rappresenta la dimensione del più piccolo disco dell'array. Così come nel RAID-1, i dischi dovrebbero essere della stessa dimensione, altrimenti il valore S nella formula precedente sarà la dimensione del più piccolo disco dell'array. - Se un disco si danneggia, le informazioni di parità possono essere utilizzate per ricostruire tutti i dati. Se si danneggiano due dischi tutti i dati saranno persi. - La ragione per cui questo livello non è usato spesso è che l'informazione di parità è tenuta su un disco. Quindi questa informazione deve essere aggiornata ogni volta uno degli altri dischi viene scritto. Quindi, il disco che contiene l'informazione di parità diventa un collo di bottiglia, se esso non è molto più veloce degli altri dischi. Comunque, se vi accade di avere molti dischi lenti ed uno molto veloce, questo livello RAID può essere molto utile.

  • RAID-5

- Questa è forse la più utile modalità RAID quando di desidera combinare un gran numero di dischi e mantenere ancora una certa ridondanza. Il RAID-5 può essere usato su tre o più dischi, con zero o più spare-disk. Il dispositivo RAID-5 che viene fuori avrà la dimensione (N-1)*S, come nel RAID-4. La grande differenza fra il RAID-5 ed il RAID-4 è che le informazioni di parità sono distribuite in modo uguale fra i dischi di cui è composto l'array, evitando così il collo di bottiglia che si creava nel RAID-4. - Se uno dei dischi si danneggia, tutti i dati saranno ancora intatti, grazie alle informazioni di parità. Se degli spare-disk sono disponibili, la ricostruzione inizierà immediatamente dopo il guasto del dispositivo. Se due dischi si danneggiano simultaneamente, tutti i dati saranno persi. Il RAID-5 può sopravvivere al danneggiamento di un disco, ma non a quello di due o più. - Sia le prestazioni in scrittura che in lettura migliorano, ma è difficile predire di quanto.

Creazione del dispositivo RAID

Nel nostro esempio creeremo un RAID-5. Selezioniamo dal menu che abbiamo aperto, come riportato nella figura precedente, Redundant (RAID5) e clicchiamo su Create Raid device of level (bottone a sinistra). Se tutto è andato bene appare una schermata come quella riportata sotto con un OK verde che indica che tutto è andato a buon fine.

Immagine:Raid05.jpg

Ora basta cliccare su /dev/md0 e formattiamo il device md0 e specifichiamo il punto di mount. Seguendo le indicatione della schermata che ci appare e che riporto sotto.


Logical Volume Management

Partitions on Local Disks

Printer Administration

SMART Drive Status

Serve per visualizzare e tenere sottocontrollo la salute dei vostri dischi. Basta installare il pacchetto smartmontools e configurarlo editando il file di configurazione

nano /etc/default/smartmontools

System Time

Voicemail Server

Cluster

Immagine:Webmin07.jpg

Cluster Change Passwords

Cluster Copy Files

Cluster Cron Jobs

Cluster Shell Commands

Cluster Software Packages

Cluster Usermin Servers

Cluster Users and Groups

Cluster Webmin Servers

Configuration Engine

Heartbeat Monitor

Others

Immagine:Webmin08.jpg

Command Shell

Custom Commands

File Manager

HTTP Tunnel

PHP Configuration

Perl Modules

Protected Web Directories

SSH/Telnet Login

System and Server Status

Upload and Download

Personal tools
wizard linux team