Le Guide Software di Fabrizio Viscardi

Il Server Linux-Zentyal

Installazione e Configurazione di Zentyal 3.3



Questa guida è stata scritta utilizzando la versione Community 3.3, al momento superata, anche se globalmente ben funzionante: le due 'iso' a 32 e a 64 bit si possono scaricare qui: (download versione 3.3 a 32 bit) - (download versione 3.3 a 64 bit) di entrambi riporto le rispettive stringhe MD5 per effettuare la verifica del file iso scaricato tramite opportuno programma Win-MD5, scaricabile qui)
(MD5 per la versione 3.3 a 32 bit : b378509c28cb0e186f030c12332a2aee )
(MD5 per la versione 3.3 a 64 bit : fa8efa4d244321063c21188c3a7dc4a5 ).

La procedura di installazione e configurazione è comunque abbastanza simile anche per la versione Community 3.5, anche questa al momento già superata; tale versione ha dato buone prestazioni e rari problemi.
Anche le due 'iso' a 32 e a 64 bit della versione 3.5 si possono scaricare qui: (download versione 3.5 a 32 bit) - (download versione 3.5 a 64 bit) ed ancora di entrambi ecco le rispettive stringhe MD5 per effettuare la solita verifica del file iso.
(MD5 per la versione 3.5 a 32 bit : b378509c28cb0e186f030c12332a2aee )
(MD5 per la versione 3.5 a 64 bit : fa8efa4d244321063c21188c3a7dc4a5 ).


Qui è possibile scaricare la versione più recente di Zentyal Server Development Edition.

Quindi occorre masterizzare un CD mediante uno dei tanti programmi liberi, per esempio Irfanview.
Inserito il CD ed avviato il pc in modo che faccia il boot da cd ci si trova davanti subito ad una videata in cui occorre scegliere la lingua. Specificando italiano e proseguendo appare un avviso relativo al fatto che la traduzione in italiano non è ancora completa.
Continuare l'installazione rispondendo .
Viene richiesto il paese per il fuso orario : Italia
Ora configurazione della tastiera facendo il test dei tasti. Non occorre e proseguire con No
Lingua della tastiera : Italiana
Disposizione della tastiera : Italiana
Inizia il rilevamento dell'hardware: tra poco vi verrà chiesto quale delle due schede di rete trovate comunica con l'esterno.
Dopo il caricamento dei vari driver ecco infatti la richiesta. Scegliete dunque l'interfaccia di rete principale tra eth0 ed eth1. In caso Vi doveste sbagliare Zentyal non potrà connettersi alla rete e Vi segnalerà il problema. Potrete tornare indietro e scegliere l'altra interfaccia. Per noi : 'eth1'.
Viene richiesto il nome host. Noi scriviamo serverlab1 e quindi "Tab" per andare su continua.
Ora viene richiesto un nome account. Specifichiamo un nome che abbia un senso come login per amministrare il server. Potrebbe essere il nome del tecnico, il nome del laboratorio... Decidiamo di assegnare fab e subito dopo assegnamo la password.
La password andrebbe di almeno 8 caratteri: in caso di password più corte Zentyal avverte che trattasi di password non sicura. In tal caso occorre proseguire con un Si= uso password non sicura.
Conferma sulla 'time-zone' di Roma.

Una nuova videata chiede come partizionare l'hard disk. Scegliere Partizionamento Guidato - Usa l'intero disco e imposta LVM
Scegliere dunque il disco sul quale installare, se fossero collegati più di due dischi al computer.
Zentyal procede al calcolo delle partizioni, alla formattazione ed all'installazione del sistema base. Quindi scarica gli ultimi recenti aggiornamenti e continua ad installare i vari moduli.
Terminata l'installazione senza altre domande espelle il CD per far avviare il sistema.
Il computer, riavviato, attiva Zentyal che procede con l'installazione di alcuni moduli base.
Senza ulteriori domande termina l'installazione aprendo l'interfaccia webadmin tramite il browser Mozilla Firefox. Occorre specificare il nome utente (fab) e la relativa password per poter attivare questo software molto efficiente che permette agevolmente di configurare tutto ciò che serve.
Intanto però occorre scegliere i moduli da installare : Zentyal infatti può essere funzionare con un minimo numero di moduli (per esempio anche il solo DHCP) oppure tutti quelli disponibili

Decidiamo di installare moduli atti a costituire un server Proxy, con funzioni di DHCP e DNS per i computer della rete e che funga anche da webserver. Installiamo dunque : Network Services, Network Configuration, Firewall, DHCP service, Backup, DNS service, NTP service, Users and computers, File Sharing and domain services, Printer Sharing service, HTTP Proxy, FTP e Web Service. Cerification Authority and Network Objects vengono scelti automaticamente da Zentyal. Facciamo click su Intalla e poi OK.
Al termine dell'installazione tutti i moduli sono installati e configurati a livello base ed appaiono tutti sulla parte sinistra dell'applicativo webadmin.

Facendo clic su Dashboard appariranno alcuni riepiloghi:
Informazioni generali che riassume nome, versione ed eventuali aggiornamenti da scaricare.
Interfacce di rete che presenta lo stato di eth0 ed eth1. Se non ci sono collegati computer alla rete locale interna l'interfaccia corrispondente alla rete interna, per esempio, eth0, risulterà 'giù' mentre quella corrispondente alla rete esterna, per esempio eth1, risulterà 'su'.
Stato Moduli ci fa l'elenco dei moduli installati e fino a questo momento non ancora configurati, perciò dichiarati nella lista 'Disabilitati'.

Nel caso nelle 'Informazioni generali' risultino disponibili aggiornamenti è meglio eseguirli.

Il computer può essere anche spento per riprendere la confgurazione dei moduli in un secondo momento.
Per prima cosa andare in Sistema, dal menu di sinistra, e quindi variare il nome del dominio in uno più consono al mondo Windows, per esempio : 'LAB1'. Quindi diventerà : 'lab1.lan'.
Quindi abilitare, con la funzione 'Stato Moduli', la Rete
Rete ha varie voci da impostare:
- Interfacce :
eth0 : Metodo=Statica Esterna=non segnato Indirizzo IP=192.168.101.1 (cioè un indirizzo corretto per la rete locale gestita da questo server) Maschera=255.255.255.0
eth1 : Metodo=Statico oppure DHCP (è l'indirizzo che questo server riceve dall'esterno); per esempio Statico, Esterna=segnato Indirizzo IP=192.168.178.101 in caso si è stabilito 'Statico' occorre specificare un indirizzo ip valido per l'esterno. Noi adottiamo DHCP.
Fare clic su 'Registra Modifiche'.
- Gateway : automaticamente viene definito il gateway 'dhcp-gw-eth1', anche abilitato. Per ciò che riguarda il Proxy verrà definito piu' avanti.

Ora abilitare, con la funzione 'Stato Moduli', i moduli Proxy HTTP, Users e Computers, NTP, DNS e Firewall.
Proxy HTTP ha da impostare:
- General settings : Proxy Trasparente=segnato, Cache=500 MB. Quindi 'Modifica' e 'Registra Modifiche'.
Firewall è già impostato: eventualmente aggiungere regole e filtri, con cautela.

Abilitare ora, con la funzione 'Stato Moduli', tutti i Moduli non ancora attivati. Fare clic su 'Registra Modifiche'.
Al termine tutti i moduli scelti saranno attivati e correttamente configurati.



Qualche intervento manuale per il funzionamento di base però occorre ancora.
1) per il DHCP occorre specificare il range degli indirizzi da assegnare. Andare quindi nel modulo DHCP, troverete 'Interfacce' e sulla linea presente fare clic su 'Configurazione'. Nella nuova videata fare clic su 'Aggiungi nuovo intervallo' e per questo specificare un nome ed un intervallo, per esempio da 192.168.101.11 a 192.168.101.254. Quindi 'Registra Modifiche'.
2) sempre per il DHCP impostare 'NTP locale Zentyal' come NTP Server ed ancora 'Zentyal locale' come WINS Server.
Al solito poi 'Registra Modifiche'.
3) per il DNS sarebbe opportuno aggiungere qualche 'forwarders' ovvero indirizzi di d.n.servers. Consigliamo di inserire i più veloci. Per esempio questi : 4.2.2.1, 4.2.2.3, 209.244.0.3

Se volete provare che tutto funzioni da un pc windows appartenente alle rete locale collegata (tramite l'interfaccia eth0) è sufficiente :
a) verificate l'assegnazione dell'indirizzo IP al pc controllando lo 'status' della connessione; dovrete ricevere i seguenti dati: Indirizzo IP=appartenente all'intervallo indicato al precedente punto 1), Gateway=192.168.101.1, Server DHCP=192.168.101.1, Server DNS=qualcuno di quelli specificati al punto precedente 3) ed in aggiunta il server dns 192.168.101.1 stesso, Server Wins=192.168.101.1.
b) attivate il browser, sistemate la definizione del proxy ('Rileva automaticamente impostazioni') e navigate un sito qualsiasi. (Sia Google Chrome che Internet Explorer si rifanno alla medesima impostazione, mentre per Firefox è equivalente se impostate, in Avanzate->Rete o 'Individua automaticamente le impostazioni...' oppure 'Utilizza le impostazioni proxy del sistema').
In caso voleste specificare i dati del server proxy dovrete scrivere: Indirizzo Server Proxy=192.168.101.1 sulla porta=3128 e valido per tutti gli altri protocollo.

Ora vogliamo rendere una o più cartelle sul server condivise dagli utenti della rete locale. Per far questo per prima cosa occorre verificare che entrando col menu a sinistra di webadmin, in 'Dominio' appaiano i seguenti dati:
Server Role: Domain Controller
Realm: LAB1.LAN
NETBIOS domain name: LAB1
NETBIOS computer name: serverlab1
Server description: Zentyal Server
Enable roaming profiles:
Drive letter: H
( Zentyal configurato come 'Standalone Domain Controller').

Anche entrando in 'Sistema' nella funzione 'Generale', in fondo, devono apparire i solti dati, cioè:
None host = serverlab1
Dominio = lab1.lan

Inoltre che nel modulo 'DNS', in corrispondenza del dominio 'lab1.lan' facendo clic su 'Domain IP addrsses' devono apparire i due indirizzi ip definiti, cioè il 192.168.101.1 (che identifica il server nei confronti della rete locale) e 192.168.xxx.yyy (che identifica il server verso l'esterno).

Allora si può procedere entrando nel menu' a sinistra di webadmin in 'Condivisione Files' e nella sezione 'Generale' fare clic su 'Aggiungi'. Questo lo faremo per tutti i differenti tipi di cartelle.
1) Cartella 'salva_su_server' condivisa da tutti e senza richiesta di nome utente-password.
Nome condivisione: 'salva_su_server'
Percorso condivisione: Impostare 'Cartella Zentyal' e, a fianco, come nome cartella 'salva_su_server'
Impostare la spunta nella casella : 'Accesso Ospite' (così accederà qualsiasi utente senza credenziali).
Lasciate impostato : 'Apply ACLs recursively'
quindi 'Aggiungi' e al solito 'Registra Modifiche'.
Poi occorre inserire una Regola di accesso (ACL) facendo clic su 'Controllo accesso'. Aggiungeremo una regola aggiungendo accesso in Lettura e Scrittura all'utente 'Guest'.
Entrare in 'Users and Computers' per abilitare l'utente 'Guest' e magari aumentare la sua quota, se opportuno. Provate l'accesso da un Computer Windows e vedrete la possibilità di entrare nella cartella, creare files ecc..

2) Cartella 'progetto_4a' condivisa solo da utenti del gruppo '4A' che dovranno entrare con nome utente e password.
Nome condivisione: 'progetto_4a'
Percorso condivisione: Impostare 'Cartella Zentyal' e, a fianco, come nome cartella 'progetto_4a'
Non impostare alcuna spunta nella casella : 'Accesso Ospite'.
Lasciate impostato : 'Apply ACLs recursively'
quindi 'Aggiungi' e al solito 'Registra Modifiche'.
Poi occorrerebbe inserire una Regola di accesso (ACL = Access control List) ma prima, per questo caso, occorre definire gli utenti.
Entrate in 'Users and Computers' nella prima voce 'Gestione':
Evidenziate la voce 'Groups' e fate clic sul segno + in basso a sinistra di detto riquadro.
Aggiungete quindi un gruppo con nome '4a', descrizione 'Classe 4 A' e clic su 'Aggiungi'.
Quindi evidenziate la pasola 'Users' e poi fate clic sul segno + in basso a sinistra di detto riquadro.
Aggiungete quindi un utente con nome utente=alunno4a, nome=Alunno, Cognome=generico, Password=xxx e gruppo=4a.
Quindi 'Aggiungi' e al solito 'Registra Modifiche'.
Ora torniamo nella sezione 'Convisione Files' ed in particolare su 'progetto_4a' per inserire la regola di accesso nuova 'Aggiungo un nuovo ACL' : Utente/Gruppo= Gruppo 4a con permessi di Lettura e Scrittura.
Fate 'Aggiungi' e al solito 'Registra Modifiche'.
Provate l'accesso da un Computer Windows e vedrete la possibilità di entrare nella cartella, dopo aver fornito come nome=alunno4a e la corretta password.



Come inserire un filtro sul Proxy per impedire accessi non autorizzati.

Andate sul modulo 'Proxy HTTP' e poi sulla sezione 'Profili dei filtri'. Quindi all'interno aggiungete un filtro, dando semplicemente Nome Filtro = Filtro_lab1. Ora devete fare clic su 'Configurazione' per impostare i vari parametri.
Poiché sono moltissime le possibilità offerte dai filtri qui facciamo solo un esempio.
Dunque il profilo del filtro 'Filtro_lab1' ha 5 differenti sezioni. Nella 1° si imposta semplicemente il livello, cioè la severità del filtro automatico, che va da 'Disabilitato' a 'Molto rigida'. Decidiamo di provare una soglia 'Media'.
Nella 2° sezione 'Domains e URLs' lasciate senza spunta entrambi i blocchi ed invece, per prova, andate ad aggiungere una nuova 'Regola per domini e URL'. Chiede semplicemente il nome del sito (senza www) e poi la scelta se abilitarlo o bloccarlo. Provate per esempio nome dominio = youporn.com e decisione = blocca. Confermate le modifiche al solito con 'Registra Modifiche'.
Tralasciate le altre 3 sezioni perché è necessaria una guida a parte.
Invece, cosa molto importante, passate nel menu' di sinistra, nell'ambito del Proxy, alla sezione 'Access Rules' che consente di andare a modificare la regola presente mediante un'azione di modifica applicando la decisione = 'Apply Filter Profile' = Filtro_lab1 (come definito sopra). Notate che questa regola può essere anche modificata nel tempo (giorni ed orari di accesso). Chiudete con 'Modifica' e 'Registra Modifiche'. ( http://doc.zentyal.org/en/proxy.html#access-rules )

Attiviamo ora il webserver ed in particolare cambiamo la directory nella quale sviluppare il sito. Passiamo cioè dalla classica /var/www/ ad una directory facilmente accessibile mediante la condivisione di Zentyal, cioè la cartella '/srv/www' che definiamo per mezzo della funzione 'Condivisione files' e che quindi andrà a finire in /home/samba/shares/.
Per far funzionare questa cartella, dopo la sua creazione come sopraddetto, occorre:
1) inserirla opportunamente nel file httpd.conf che però nel systema Zentyal viene sempre ricoperto dal contenuto di 'default.mas' della directory '/usr/share/zentyal/stubs/webserver/'.
Fare sudo gedit default.mas (lì dentro) e cambiare in modo da avere quanto segue :
.................
.DocumentRoot /srv/www

Options FollowSymLinks
AllowOverride None

.Directory /srv/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

................

2) dare a tale directory le dovute abilitazioni e permessi.
In particolare, per i permessi:
andare dentro a /:
root@serverlab1:/chmod -R 755 /srv
Quindi assegnare il giusto utente e gruppo in modo tale che possa essere eseguito il php. In particolare si ricorda che c'e' il gruppo 'www-data' sotto il quale lavora il php su server Apache.
Quindi quello sarà sicuramente il gruppo da assegnare.
In merito all'utente se decidiamo di assegnare per esempio l'utente "alunno" come proprietario occorre che "alunno" appartenga al gruppo "www-data" con:
sudo adduser alunno www-data
Quindi :
chown -R alunno:www-data /srv

3) Non resta che inserire nella cartella '/srv/www/' i due files di test: 'index.htm' e 'index.php' e provare il webserver. In prima istanza funzionerà soltanto con l'html, cioè eseguendo il file 'index.htm'.

4) Per il php occorre procedere alla sua installazione. Si consiglia di procedere con la console mediante il comando 'apt-get'.
Procediamo in quest'ultimo modo:
sudo apt-get update
sudo apt-get install php5-common php5 libapache2-mod-php5
Se si pensa di lavorare anche con il mysql occorre allora installare anche questo:
sudo apt-get install php5-mysql
Una volta installato PHP5 è possibile eseguire gli script di PHP5 dal proprio browser web. Se è stato installato il pacchetto php5-cgi, è possibile eseguire gli script di PHP5 anche dalla riga di comando.
Il server web Apache2 è configurato, in modo predefinito, per eseguire gli script di PHP5. In altre parole, il modulo PHP5 quando viene installato, viene abilitato automaticamente nel server web Apache2.
Verificare che i file /etc/apache2/mods-enabled/php5.conf e /etc/apache2/mods-enabled/php5.load esistano. Se non dovessero esistere, è possibile abilitare il modulo usando il comando a2enmod.
Una volta installati i pacchetti relativi a PHP5 e abilitato il modulo PHP5 per Apache2, è necessario riavviare il server web Apache2 per poter eseguire gli script PHP5. Per riavviare il server web, andare nella dashboard di Zentyal webadmin e fare 'Riavvia'.

5) Eseguendo nel browser (del client) il file '//serverlab1/index.php' con 'index.php' contenente il comando php "< ? phpinfo(); ? >" il risultato dovrebbe essere evidente.

6) Il database Mysql è stato installato durante la fase di installazione di Zentyal, ma è bene verificare se è in esecuzione, anche perché dovrebbe essere partito automaticamente.
Scrivere dunque:
sudo netstat -tap | grep mysql
Il risultato di 1 riga dovrebbe essere simile a questo:
tcp 0 0 localhost:mysql *:* LISTEN 2556/mysqld
Questo ci dice che il Mysql è in funzione. Altrimenti attivarlo così:
sudo service mysql restart
( Dalla guida : http://www.mysql.com )

Per mandare in esecuzione Mysql e provarlo, scrivere:
mysql -u root -p
arriverà subito la richiesta della password:
e quindi sarà possibile scrivere un comando sql come, per esempio:
'create database dbtest;'
e per usare tale database e creare tabelle:
use dbtest;



Questa guida è stata scritta nel momento dell'installazione di un server Zentyal ed al suo test di funzionalità nell'ambito di un laboratorio con Pc Windows XP e Windows 7. Alcune funzioni vengono rese più semplificate e in italiano partendo dalla guida http://doc.zentyal.org/en/filesharing.html?highlight=files%20sharing