MegaLab.it
Stampa Articolo
Aperiodico gratuito di informatica
 
20090629114806_1831161964_20090629114705_1767412428_server_download2.png

SME Server: come predisporre un server in mezz'ora (o poco più)

a cura di A. Russo
03/10/2011 - articolo
Linux & Open Source - SME Server installato su un PC può convertirlo in un server di livello "enterprise" che permette ai computer della rete di condividere una singola connessione a Internet... ma non solo.

Può sorgere la necessità di allestire uno o più servizi di rete in poco tempo e SME Server, pur con alcune peculiarità specifiche della distribuzione, potrebbe essere utile allo scopo.

Basata su Centos (derivata a sua volta da RedHat) viene rilasciata con licenza GPL il cui testo (in inglese) si può trovare qui. Tale licenza permette all'utente libertà di utilizzo, copia, modifica e distribuzione. Nessuna royalty da pagare, niente costi per licenze client aggiuntive.

L'hardware idoneo a far girare questa distribuzione lo possiamo trovare qui. La versione stabile (alla data di stesura di questo articolo) è la 7.x ed è basata sui sorgenti RHEL versione 4 e kernel serie 2.6. La versione 8 sarà basata su RHEL versione 5.

Caratteristiche

Con una sola installazione otterremo una serie di servizi veramente completa e funzionale per quasi ogni necessità e la gestione sarà molto semplificata grazie a un sistema di controllo tramite pannello web. Una lista dei principali servizi forniti è la seguente:

Installazione

L'installazione della distribuzione può avvenire in diverse modalità: Server Only oppure Server & Gateway.

Nella prima modalità vengono erogati alla rete i servizi, ma non le funzioni di routing e di sicurezza connessi con il ruolo di gateway. Per tale modalità basta quindi sulla macchina la presenza di una sola scheda di rete collegata alla LAN. La modalità server-only è tipicamente utilizzata per le reti già dietro un firewall. In tale configurazione, il firewall svolge il ruolo di gateway.

Nella seconda modalità la macchina deve essere equipaggiata con due schede di rete, una connessa lato LAN e una connessa lato WAN. In tale configurazione la distribuzione attiva le funzioni di routing e può quindi essere utilizzata anche come gateway di rete.

Se nella macchina sono presenti due HD, l'installazione provvede alla creazione di un Raid1 (mirroring) software. In tal modo se uno dei due dischi dovesse guastarsi il server continuerebbe a erogare i servizi avvisando del guasto tramite una email all'account amministrativo. Può gestire RAID 1+1, 5+1 e 6+1 in base alla quantità di HD installata.

Per questo articolo assumeremo di avere un server con una sola scheda di rete collegata in LAN.

000.png

L'installazione è quanto di più semplice ci possa essere. È necessario prima scaricare l'immagine del CD di installazione e masterizzarla. Fatto ciò possiamo inserire il supporto ottenuto nel PC e selezionare dal BIOS il boot da CD. L'installazione è completamente testuale e utilizza il programma standard di RHEL Anaconda: nella schermata iniziale ci chiede se desideriamo che venga effettutato un test del nostro supporto o se invece vogliamo procedere con l'installazione, ci propone la scelta del linguaggio da utilizzare (c'è anche l'italiano), il tipo di tastiera ed il fuso orario. Inseriti questi dati, gli HD verranno partizionati e formattati e l'installazione provvederà a installare e configurare tutti i pacchetti (circa 4/5 minuti di attesa su hardware anche non recentissimo). Al termine ci verrà mostrato un avviso di completamento della prima fase del setup con la richiesta di rimuovere il CD e riavviare.

019.png

Al riavvio ci verrano chiesti altri dati di configurazione; se vogliamo effettuare il ripristino da un precedente backup è il momento di farlo, ma visto che stiamo cominciando adesso, possiamo selezionare no.

Ci verrà quindi chiesta una password di amministrazione e la stessa dovrà essere confermata. Se la password inserita è troppo semplice, il sistema ci avvisa e possiamo cambiarla o lasciarla invariata. Successivamente dovremo specificare nell'ordine il dominio primario (ilmiodominio.it oppure ilmiodominio.lan ad esempio), il nome del sistema (sme7 ad esempio, in tal modo l'FQDN diverrà sme7.ilmiodominio.lan), l'indirizzo IP locale (tipicamente 192.168.x.x dove x.x dipendono dalla nostra rete) la subnet mask (tipicamente 255.255.255.0) e la modalità di funzionamento. Per i nostri scopi selezioniamo la modalità Solo Server.

Dovremo quindi specificare l'IP del gateway (tipicamente l'IP del router) e specificare se intendiamo utilizzare e attivare il DHCP server; avendo noi un router nella rete che probabilmente eroga già i servizi DHCP, dobbiamo disabilitare la funzione. Ci verrà richiesto di inserire l'IP del server DNS aziendale (se ne abbiamo uno, diversamente lasciamo pure in bianco) e... abbiamo finito!

Confermata la configurazione verranno inseriti e attivati i parametri impostati e il sistema sarà pronto all'uso.

Tramite la console è possibile avere accesso al sistema in due modi principali. L'accesso avviene inserendo nome utente e password; se il nome utente scelto è root, dopo l'inserimento della password impostata durante l'installazione, avremo accesso alla shell testuale del sistema Linux come utente root e li potremo muoverci come meglio crediamo. Diversamente, se accediamo come admin, dopo l'inserimento della password ci verrà presentato un menu testuale. Da qui potremo fare e impostare diverse cose.

021.png

  1. Controllare da quanto tempo il server è attivo.
  2. Configurare e/o cambiare i parametri inseriti durante l'installazione.
  3. Testare l'effettiva possibilità per il server di accedere a Internet.
  4. Effettuare il reboot, lo spegnimento o la riconfigurazione della macchina (vedremo dopo di cosa si tratta).
  5. Gestire e controllare il Raid software.
  6. Accedere al pannello di controllo via web utilizzando un browser testuale (nello specifico Elinks).
  7. Visualizzare la licenza che si applica a questo prodotto (la GPL).
  8. Effettuare il backup di dati e impostazioni su un supporto USB.

Personalmente la prima cosa che faccio è accedere come root ed aggiornare il server con il comando yum update. Il sistema cercherà eventuali aggiornamenti e nel caso siano disponibili, ci verrà chiesta conferma del download e dell'installazione. Aspettiamo il completamento dell'operazione e successivamente impartiamo, come specificato anche dal sistema, i due comandi signal-event post-upgrade e signal-event reboot. Il sistema provvederà a riavviarsi e riconfigurarsi automaticamente.

Il pannello di controllo web

Una volta effettuato l'aggiornamento con i comandi precedentemente indicati, possiamo anche "dimenticarci" della console e amministrare tutto dal pannello web apposito. Tale interfaccia è raggiungibile tramite l'indirizzo https://ip_del_server/server-manager e/o https://FQDN/server-manager e l'accesso avviene utilizzando come nome utente admin e come password quella inserita durante l'installazione.

Server-manager.png

Da questo pannello possiamo gestire praticamente tutto.

Una volta effettuato l'accesso al pannello di controllo via web, possiamo notare sulla destra cinque sezioni e relativi sottomenù; analizziamoli sommariamente.

Collaborazione

Da questa sezione possiamo creare e gestire utenti e gruppi di utenti, specificare chi di questi può effettuare l'accesso VPN (protocollo PPTP che assicura autenticazione, cifratura e compressione dei dati), gestire le quote di spazio disponibili per gli utenti singolarmente, controllare, modificare e aggiungere pseudonimi ed impostare le condivisioni.

Le condivisioni su SME vengono definite i-bay e possiamo impostare diverse opzioni durante la loro creazione; il nome della condivisione stessa, il tipo di accesso (ftp, http, permesso di eseguire contenuti dinamici quali PHP, CGI, SSI) e i permessi di accesso e di lettura/scrittura basati sui gruppi precedentemente creati.

Amministrazione

Tramite questa sezione possiamo impostare il backup automatico su HD USB, su nastro DAT oppure in una condivisione di rete data ad esempio da un NAS (utilizzando i protocolli cifs o nfs). Il backup potrà essere incrementale e/o completo e possiamo decidere di avere più set di backup in modo da poter effettuare il ripristino (anche selettivo) del sistema a un determinato giorno/backup.

Potremo ottenere sempre da questa sezione i log del server divisi in base a ogni servizio/demone funzionante, installato e configurato; utili nel caso di malfunzionamenti, ci aiuteranno a capire come, quando e perché il servizio non funziona come dovuto.

Avremo la possibilità di analizzare i log dei servizi di posta elettronica che ci possono aiutare sia ad analizzare le prestazioni che a diagnosticare eventuali problemi di consegna. Sono disponibili diversi rapporti.

Sarà inoltre possibile effettuare il riavvio, lo spegnimento o la riconfigurazione del server.

Sicurezza

Questa sezione è dedicata a gestire le opzioni di sicurezza del sistema. Dal menu Accesso Remoto possiamo specificare se permettere o meno l'accesso VPN e quanti accessi contemporanei è possibile effettuare; sarà possibile specificare singoli IP o reti che possono accedere al server-manager e che non appartengono alla rete locale (tale accesso è di norma disabilitato nel senso che è possibile accedere al server manager solamente da un PC che fa parte della LAN). Possiamo specificare se e come permettere l'accesso SSH e allo stesso modo permettere o meno l'accesso ftp e/o sftp.

Per ragioni di sicurezza, diversi servizi sono disponibili soltanto dalla rete locale. È comunque possibile assegnare gli stessi privilegi locali a reti aggiuntive inserendole nell'apposita sezione Reti Locali.

Nel caso in cui il nostro SME abbia anche funzione di gateway, sarà possibile impostare il Port Forwading di specifiche porte verso determinati IP della rete LAN.

SME include un proxy trasparente e una cache per il traffico HTTP. Se vengono utilizzate le funzionalità e-mail, le connessioni dei client della rete locale ai server SMTP esterni saranno reindirizzate al server di posta locale. Il proxy trasparente SMTP riduce il traffico da virus intercettando tutto il traffico in uscita e costringendolo a passare attraverso il server.

Configurazione

Da questa sezione è possibile gestire molti parametri e impostazioni. Dal menu Installazione Software è possibile installare gli aggiornamenti, impostare come e quando il sistema controllerà la presenza di aggiornamenti; la macchina manderà un apposito avviso via mail se ne troverà. Sarà pure possibile installare alcuni componenti aggiuntivi (denominati contribs) che attivano delle funzionalità non incluse nell'installazione standard.

Dal menu Data e Ora sarà possibile impostare il servizio NTP (time-server) con il quale lo SME si sincronizzerà (o disabilitare la funzione).

Un importante menu ai fini della corretta configurazione in presenza di reti Windows è il Gruppo di Lavoro; da tale menu sarà infatti possibile specificare di quale gruppo di lavoro Windows il server farà parte, se dovrà avere il ruolo di Controller di Dominio (PDC) e se dovranno essere attivati i profili roaming tipici della configurazione con PDC in rete. Da questo pannello è anche possibile cambiare il nome della macchina impostato durante la prima installazione.

È poi presente una rubrica realizzata tramite LDAP che fornisce un elenco in rete degli utenti e gruppi presenti sul server. A questo è possibile accedere utilizzando un client LDAP quale la Rubrica presente in molti software per la messaggistica e utilizzando i parametri indicati nel pannello di SME.

Nel menu Stampanti verranno configurate le eventuali stampanti da condividere collegate via USB o tramite porta parallela; a tal proposito, anche se è possibile configurare stampanti di rete per essere gestire tramite SME, è preferibile (anzi... io preferisco!) non sobbarcare il server di lavoro "inutile" in quanto una stampante con porta di rete svolge egregiamente il suo lavoro e la differenza di costo con stampanti prive del supporto per le reti LAN è molto basso.

Una cura a parte va conservata per il menu Nomi host e indirizzi. Durante l'installazione ci è stato chiesto di fornire un nome e un dominio per il nostro sistema, quel nome e molti altri nomi "standard" sono stati configurati automaticamente in una tabella host durante il processo di installazione. Tale tabella è consultata come parte del processo di risoluzione dei nomi e da questo pannello possiamo apportarvi modifiche e specificare host diversi per ogni dominio gestito dal sistema. Un esempio per capire meglio...

Se abbiamo scelto come dominio "lamiaazienda.it" nella tabella suindicata vedremo che automaticamente chiunque usi SME con DNS server e tenta di collegarsi a "www.lamiaazienda.it" verrà dirottato sulla root del web server di SME; ciò non sempre è "bene" in quanto il sito reale potrebbe essere al di fuori della nostra rete (presumibilmente in host presso un provider Internet). Da questo pannello avremo la possibilità di specificare come devono essere trattati determinati host e cosa deve rispondere il DNS di SME in presenza di specifiche richieste.

È data la possibilità di ospitare più domini su SME. Tale funzionalità ha il suo pannello di configurazione apposito Domini dove sarà possibile specificare alcuni parametri operativi dei domini aggiuntivi.

Un'altra voce di primaria importanza è il pannello Email. Da tale pannello sarà possibile impostare diverse opzioni legate alla posta elettronica e al sistema antivirus e antispam integrati nel sistema.

Potremo attivare o meno l'accesso POP3 (s) e/o IMAP (s) come anche l'accesso al pannello webmail raggiungibile all'indirizzo https://IPserver/webmail; sarà possibile attivare o meno il servizio antivirus per le email come pure il servizio antispam rendendo possibile per quest'ultima la regolazione di alcune opzioni relative alla sensibilità del filtro e al suo funzionamento.

Potremo modificare il funzionamento del server di ricezione che potrà essere standard (per connessioni Internet dedicate), ETRN (raccomandato per connessioni dialup), o multi-drop (per connessioni dialup se l'Internet provider non supporta ETRN). Potremo abilitare il relay autenticato dall'esterno, per consentire ad utenti mobili di inviare posta utilizzando il nostro sistema. L'opzione SSMTP prevede che username e password vengano inviati al server SMTP in forma sicura. Sarà possibile inoltre specificare un server mail secondario per le connessioni in uscita (utile quando la nostra macchina si "affaccia" su Internet con un IP non-business e/o variabile.

Dal menu Antivirus (ClamAV) sarà possibile specificare se e quando il sistema dovrà effettuare la scansione dell'intero filesystem alla ricerca di virus e il suo comportamento in presenza di un file infetto.

Il pannello Verifica configurazione ci darà una tabella con i principali parametri operativi correnti del server.

Verifica-configurazione.pngVarie

In questa sezione possiamo trovare sotto Supporto e Licenza una copia della GPL in uso e sotto la voce Crea sito web di partenza un semplice sistema che creerà una pagina HTML da utilizzare per il server web integrato come index.html.

La SME Server è un pacchetto software che può essere installato su un PC standard in meno di trenta minuti, trasformandolo in un completo server di rete e gateway/firewall. È stato pensato in modo tale che nessuna conoscenza (o quasi) di Linux sia necessaria per l'installazione o il funzionamento. Come abbiamo visto, dopo l'installazione e il primo aggiornamento da console (che peraltro è possibile fare anche dal pannello web) non è più necessario intervenire dalla linea di comando in quanto tutta la gestione può avvenire via web. I principali pacchetti utilizzati per fornire servizi sono i seguenti:

L'architettura del sistema consiste in una semplice installazione CentOS, insieme ad una serie di applicazioni server, e uno strato di software che gestisce tali applicazioni. Il software di gestione si presenta agli utenti con un'interfaccia utente semplificata e configura automaticamente le applicazioni quando necessario.

La gestione si basa su quattro componenti: il pannello web e/o la console testuale di comando, un database di configurazione all'interno del quale trovano posto i parametri operativi impostati, un sistema di template utilizzato per generare i file di configurazione e una serie di eventi e azioni che vengono eseguiti ogniqualvolta ciò si renda necessario. Una rappresentazione grafica di questo sistema è la seguente.

Architettura-SME.png

In termini pratici i vari file di configurazione (presenti sotto /etc/...) vengono creati e modificati alla bisogna da un sistema (realizzato in Perl) che si occupa di prelevare i parametri dal database e inserirli nei file di configurazione. Ogni volta che, ad esempio, si aggiunge un utente il sistema crea automaticamente la cartella home dell'utente, lo aggiunge al gruppo/i che abbiamo impostato, crea o modifica i permessi di accesso al server, alle condivisioni e al pannello webmail e ricrea in automatico tutti i file di configurazione che vengono interessati da questi cambiamenti.

Non è quindi consigliabile modificare "a mano" i file di configurazione in quanto essi verranno sovrascritti alla prima operazione di riconfigurazione effettuata o al primo aggiornamento. Per una completa analisi del sistema utilizzato (e di come è possibile personalizzarlo in base alle esigenze) ci verrà in aiuto una lettura approfondita del Manuale del developer di SME.

Una menzione speciale deve essere fatta per il sistema di backup utilizzato. Tale sistema infatti effettua il backup non solo delle condivisioni, dei file ivi contenuti e delle caselle di posta degli utenti ma anche delle configurazioni e delle personalizzazioni effettuate (queste ultime vengono salvate se sono state fatte in maniera corretta... diciamo nella SME-way).

Nel caso l'hardware si guasti, basterà sostituire il componente guasto, installare la distribuzione, effettuare l'aggiornamento e ripristinare il backup precedente: al successivo riavvio il server sarà pronto, configurato e funzionante come se fosse il vecchio!!!

Considerazioni finali

Ho utilizzato diverse volte SME per mettere in piedi in poco tempo e senza troppa fatica un server che forniva uno o più servizi presso diverse aziende. Personalmente lo uso a casa come server di posta personale.

Ho diversi account di posta, gestirli tutti ed averli sempre disponibili (compresi gli archivi degli anni precedenti) non era mai semplice, con SME ho risolto il problema!!!

È bastato impostarlo in modo da scaricare via POP3 dai vari provider tutte le mie caselle di posta e inviarle a un account locale al quale accedo via IMAP (s) da ovunque. Se non ho il mio PC con me posso effettuare l'accesso via webmail da qualunque altro PC con un comune browser e avere tutta la mia posta sempre disponibile... vi pare poco?: -D

Il sistema di configurazione potrà far storcere il naso ad alcuni linuxiani di vecchia data (il fatto di non poter cambiare i file di configurazione a mano non è bello per alcuni) ma il sistema di template adottato, una volta che si è imparato ad utilizzarlo correttamente, permette di fare tutto o quasi. Da non trascurare il fatto che ogni modifica fatta tramite template viene "backuppata" tramite l'apposita funzione di SME e quindi dopo un ripristino tutte le eventuali modifiche effettuate saranno sempre presenti e funzionanti... niente più appunti su configurazioni particolari, basta un backup ben fatto e l'eventuale ripristino farà tutto da se!

La comunità che ruota attorno a questa distribuzione è esigua ma ben determinata a rilasciare un prodotto di qualità, stabile e sicuro. La versione 7 di questa distribuzione soffre di alcuni problemi in presenza di computer con sistemi Windows Vista e seguenti, problemi che verranno risolti con la versione 8 della distribuzione. Sono comunque disponibili dei work-around per risolvere questi problemi. Se qualcuno vuol dare una mano, il punto da dove iniziare è il sito di SME.

È inoltre presente e attiva in Italia una comunità di consulenti, installatori e sviluppatori che si sono posti l'obiettivo di "promuovere e diffondere" l'utilizzo di questa distribuzione all'interno del territorio italiano. Sono raggiungibili tramite il sito SME Server Italia.

Sperando che questo articolo susciti l'interesse a provare questa distribuzione in qualche lettore, vi auguro buon divertimento e... viva l'open source!!!

MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .

Copyright 2008 MegaLab.it - Tutti i diritti sono riservati