WEBMIN: Una serie di tools per controllare la vostra GNU/Linux box sia server che client
Da Wizard linux team wiki.
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:
Una volta messa la login e password passiamo alla schermata principale:
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:
Lo scopo di questo tutorial è analizzare tutte le componenti in ogni sua parte.
Webmin
Backup Configuration files
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
Personalizza l'aspetto grafico e la lingua di webmin
Usermin Configuration
Webmin Actions Log
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:
Nella parte Webmin modules è possibile gestire tutti i moduli di webmin.
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
Da qui è possibile scegliere il modulo non installato per default e installarlo cliccando semplicemente sopra il nome.
Webmin Servers Index
Webmin Users
System
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
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
OpenLDAP Server Configuration
Manage Schema
LDAP Access Control
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
1 Create New File Share Name : Apre la schermata riportata sotto che permette di creare la cartella condivisa.
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:
1 Security access control
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
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
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
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:
Poi si clicca sulla voce Concatenated (Linear) e scegliamo la tipologia di raid che ci interessa.
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.
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





























