Installa+SCUL+server

toc

Il server
La macchina che ospiterà il servizio non ha bisogno di grandi risorse: è sufficiente un PC recente (Pentium 4 >= 2 Ghz), anche di quelli in uso, con una scheda di rete a 100 Mbit, una quantità di RAM >= 512 Mb (1 Gb consigliato) e un disco fisso che possa contenere almeno le immagini da installare e le ISO delle distribuzioni che si vorranno utilizzare (minimo 80 Gb, ma potrebbero bastarne meno per installazioni minimali, con solo il caricamento dell’immagine standard e una live per manutenzione straordinaria come PartedMagic).

//Se la macchina ospiterà anche altri servizi di rete (proxy, filtro di navigazione, etc.) è opportuno installare una seconda scheda di rete: una sarà collegata allo switch ed alla rete interna (green, con indirizzo IP privato della rete locale) e una collegata al router (red, con indirizzo IP assegnato dal router in DHCP).//
 * //NOTA://**

A titolo di esempio, ecco una tabella che riporta alcune occupazioni tipiche:
 * **Immagini Clonezilla:** ||  ||
 * WiildOs 2.2 || 2,8 Gb ||
 * Ubuntu 12.04 completo || 1,5 Gb ||
 * Windows XP completo || 8 Gb ||
 * Windows 7 32 bit completo || 10 Gb ||
 * Windows 7 64 bit completo || 15 Gb ||

BIOS per vari modelli di PC: circa 1 Gb per 20 modelli
 * **ISO per LiveOS:** ||  ||
 * Clonezilla || 130 Mb ||
 * PartedMagic || 250 Mb ||
 * Puppy Linux || 140 Mb ||
 * DBAN || 11 Mb ||
 * System Rescue CD || 260 Mb ||
 * WiildOs 2.2 || 1,6 Gb ||
 * Xubuntu 12.04 || 715 Mb ||
 * Lubuntu 12.04 || 720 Mb ||
 * Slitaz || 38 Mb ||

Per usi più avanzati potrebbe servire più spazio su disco: si consiglia di partizionare attentamente il disco fisso, oppure di utilizzare LVM (non coperto da questa guida). In alternativa (più elegante e funzionale) sarebbe opportuno utilizzare dello storage separato, su un server, un NAS o un disco condiviso con buona velocità di accesso.

** La rete **
Il server SCUL funziona ovviamente con macchine connesse in rete: deve quindi essere presente una rete cablata (non è ancora supportato il Wifi) che connetta il server e i client da gestire: il cablaggio deve utilizzare degli switch 10/100 (gli hub sono sconsigliati per questioni di performance). E’ caldamente consigliata una connessione ad Internet per scaricare il materiale necessario: è comunque possibile scaricarlo altrove e trasferirlo sul server via hard disk esterno o simile. Nel caso esista una connessione ad Internet, è necessario poter configurare il router (che di solito funge anche da server DHCP) per poter inserire i parametri necessari al funzionamento del server. Se non fosse possibile, è necessario adottare una soluzione alternativa (riportata più avanti in questo documento).

Informazioni necessarie
Prima di cominciare, è opportuno raccogliere alcune informazioni che serviranno durante l'installazione. In particolare si tratta di:
 * indirizzo IP del server SCUL
 * nome del server SCUL
 * impostazione del server DHCP (range IP da distribuire, default gateway)
 * posizione ed eventuale indirizzo della share per le immagini Clonezilla

//Al momento (Marzo 2013) i parametri sono cablati all'interno dei file di configurazione di pxe; è in corso lo studio per raccogliere tutti i parametri necessari in un punto centrale e facilitarne la gestione.//
 * //NOTA://**

=Installazione del Sistema Operativo=

Su un PC installa la distro preferita (consigliate: WiildOS 2.x, Xubuntu LTS, Lubuntu LTS); è possibile utilizzare un PC con un’installazione esistente, ma sconsigliabile per evitare possibili conflitti su servizi attivi precedentemente (meglio partire sempre con un sistema pulito).

Quando viene richiesto dove installare il Sistema, seleziona il partizionamento manuale; i valori consigliati sono i seguenti: E’ opportuno anche assegnare un nome univoco alla macchina perchè sia facilmente identificabile sulla rete: quando ti viene richiesto, indica un nome per il server che stai installando (possibilmente mnemonico e che segua un minimo di criterio): una buona idea è isi-server.
 * **Partizione primaria** || **Punto di mount** || **Dimensione** ||
 * Partizione primaria || / || 8 Gb ||
 * Partizione di swap ||  || 2 Gb ||
 * Partizione primaria || /home || 10 Gb ||
 * Partizione primaria || /var || Tutto lo spazio restante (min. 10 Gb, vd. indicazioni precedenti) ||

E’ necessario assegnare un IP fisso al PC che fungerà da server: con lo strumento di gestione della distribuzione che hai usato, modifica le impostazioni e ségnati l’indirizzo IP che assegni (che ovviamente deve essere univoco e al di fuori del range di IP assegnati dal router sulla tua rete). Ad esempio:
 * Configurazione della scheda di rete **

IP del server SCUL: 192.168.0.5 Range IP del server DHCP: 192.168.0.100-254

//Se stai installando SCUL server su una macchina virtuale, imposta la scheda di rete in Bridged mode// //Network Manager (in Ubuntu e derivate) non gestisce le modifiche manuali del file /etc/network/interfaces, nè le recepisce se applicate a mano.//
 * //NOTA://**
 * //NOTA://**

Se è necessario modificare a mano il file, disinstalla Network Manager per evitare conflitti (e mal di testa).

Ecco un esempio di file /etc/network/interfaces: //Modifica i valori in funzione della tua rete://
 * //NOTA://**

iface eth0 inet static address 192.168.1.101 netmask 255.255.255.0 gateway 192.168.1.1

Una volta installato il sistema, procedi con l’aggiornamento completo: per le distro basate su Debian/Ubuntu digita da Terminale:

sudo apt-get update sudo apt-get upgrade

//NON AGGIORNARE se stai installando su una WiildOS: la distro è personalizzata e contiene una serie di modifiche e customizzazioni che potrebbero andare perse con gli aggiornamenti e impedire il funzionamento di alcuni programmi e/o dispositivi (specie le LIM).//
 * //NOTA://**

Al termine riavvia.

Impostazione del server DHCP
La configurazione del server DHCP dipende dalla struttura della rete in uso. Su una rete esistente di solito è già attivo un server DHCP, che può essere il router per l’accesso a Internet, oppure un server esistente (Windows o altro): è necessario evitare di avere due server DHCP attivi contemporaneamente sulla stessa rete per evitare conflitti: vediamo come gestire le possibili situazioni.

Situazione n. 1 - Non è possibile - o non si vuole - modificare le impostazioni del server DHCP attivo (router o server esistente)
Nel caso non sia possibile modificare le impostazioni del server DHCP (router blindato dal provider, server non accessibile, etc.) è possibile installarne uno complementare sul server SCUL e configurarlo in modo che non vada in conflitto con l’esistente, ma serva solo per le operazioni di manutenzione effettuate avviando i PC via PXE boot: il pacchetto è dnsmasq, e comprende un server DNS, un server DHCP e un server tftp.

> sudo apt-get install dnsmasq -y > //**NOTA:** Già installato su WiildOs 3.0// > sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.ORIGINALE >  sudo touch /etc/dnsmasq.conf > //**NOTA:** inserisci i valori del range IP in funzione dei parametri della tua rete// > # Disabilita funzioni di DNS: > port=0 > > # SOLO SE VUOI UTILIZZARE dnsmasq ANCHE COME SERVER tftp: > # Abilita tftp: > enable-tftp > tftp-root=/var/lib/tftpboot > > # Imposta loader per pxelinux.0: > pxe-service=x86PC,"Avvia da rete",pxelinux > > # Attiva proxy DHCP per reti con DHCP esistente: > # MODIFICA RANGE IP IN FUNZIONE DELLA TUA RETE > dhcp-range=192.168.10.100,192.168.192.200,proxy > > # Se presenti altri range DHCP decommenta le righe seguenti, modificando opportunamente i range: > #dhcp-range=192.168.40.0,proxy #dhcp-range=192.168.50.0,proxy > #dhcp-range=192.168.60.0,proxy
 * Sul server SCUL lancia da Terminale:
 * una volta installato dnsmasq, rinomina il file dnsmasq.conf (se presente):
 * ora crea un nuovo file dnsmasq.conf:
 * Apri il file /etc/dnsmasq.conf e inserisci le seguenti righe:

Situazione n. 2 - E’ possibile modificare le impostazioni del server DHCP attivo sulla rete (router o server esistente)
In questo caso è sufficiente modificare le impostazioni del server DHCP in modo che consenta il boot via PXE. > 066:  > 067: pxelinux.0
 * Se il DHCP è attivo sul router e il router si può configurare:
 * Accedi all’interfaccia amministrativa del router
 * Cerca le impostazioni del server DHCP
 * Inserisci l’indirizzo IP del server SCUL e la stringa pxelinux.0
 * Se è presente un server DHCP Windows, impostare le seguenti opzioni:
 * Per altri tipi di server DHCP, consulta la documentazione relativa all’attivazione di un server PXE o tftp

Situazione n. 3 - il server DHCP è installato sul server SCUL
Se il server DHCP è installato sullo stesso server SCUL, aggiungi al file /etc/dhcp3/dhcpd.conf : <span style="font-family: 'Courier New',Courier,monospace;">allow booting; <span style="font-family: 'Courier New',Courier,monospace;">allow bootp; <span style="font-family: 'Courier New',Courier,monospace;">next-server <indirizzo_IP_del_server_PXE>; <span style="font-family: 'Courier New',Courier,monospace;">filename "/pxelinux.0";

Al termine, riavvia il server DHCP: <span style="font-family: 'Courier New',Courier,monospace;">/etc/init.d/dhcp3-server restart

<span style="background-color: transparent; color: #000000; font-family: Arial; font-size: 19px; text-decoration: none; vertical-align: baseline;">Installazione delle componenti di base
Ora è necessario installare le componenti che consentiranno ai PC di effettuare il boot da rete: utilizzeremo syslinux, un insieme di strumenti che permette di avviare dei kernel alternativi o delle ISO dopo un boot via rete (PXE), e di costruire dei menu interattivi da cui lanciarli.

Digita da Terminale: <span style="font-family: 'Courier New',Courier,monospace;">sudo apt-get install syslinux -y

//Già installato su WiildOs 3.0//
 * //NOTA://**

<span style="background-color: transparent; color: #000000; font-family: Arial; font-size: 19px; text-decoration: none; vertical-align: baseline;">Preparazione della struttura delle cartelle
Ora devi creare la struttura e copiare i file necessari per il corretto funzionamento del server: > <span style="font-family: 'Courier New',Courier,monospace;">sudo mkdir /var/lib/tftpboot >> <span style="font-family: 'Courier New',Courier,monospace;">sudo mkdir /var/lib/tftpboot/pxelinux.cfg >> <span style="font-family: 'Courier New',Courier,monospace;"> sudo mkdir /var/lib/tftpboot/graphics >> <span style="font-family: 'Courier New',Courier,monospace;"> sudo mkdir /var/lib/tftpboot/images >> <span style="font-family: 'Courier New',Courier,monospace;"> sudo mkdir /var/lib/tftpboot/images/bios >> <span style="font-family: 'Courier New',Courier,monospace;"> sudo mkdir /var/lib/tftpboot/scripts > <span style="font-family: 'Courier New',Courier,monospace;">sudo cp /usr/lib/syslinux/chain.c32 /var/lib/tftpboot > sudo cp /usr/lib/syslinux/mboot.c32 /var/lib/tftpboot > sudo cp /usr/lib/syslinux/memdisk /var/lib/tftpboot > sudo cp /usr/lib/syslinux/menu.c32 /var/lib/tftpboot > sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot > sudo cp /usr/lib/syslinux/reboot.c32 /var/lib/tftpboot > sudo cp /usr/lib/syslinux/vesamenu.c32 /var/lib/tftpboot > <span style="font-family: 'Courier New',Courier,monospace;"> sudo chmod o+rx /var/lib/tftpboot -R
 * Crea la cartella che conterrà i file necessari:
 * Crea le cartelle necessarie per il pxe server:
 * cartella dei menu:
 * cartella della grafica:
 * cartella delle immagini kernel e dei file ISO:
 * cartella delle immagini per gli aggiornamenti BIOS:
 * cartella degli script:
 * Copia i file del server tftp nella cartella appropriata:
 * Attribuisci diritti di lettura ad altri alla cartella tftpboot e relative sottocartelle:

<span style="background-color: transparent; color: #000000; font-family: Arial; font-size: 19px; text-decoration: none; vertical-align: baseline;">Caricamento del materiale
Ora puoi caricare il materiale necessario nelle cartelle appena create. Ci sono due possibili modi di installare: il primo utilizza un file zip contenente tutto il materiale necessario; il secondo prevede lo scarico da vari siti, lo scompattamento e lo spostamento del materiale necessario nelle cartelle opportune.

A - Installazione “pacchetto”
Per prima cosa scarica il pacchetto contenente il necessario da questo indirizzo: [|scul-server] //Al 10-06-2013 il file pesa circa 140 Mb. NON INCLUDE le immagini ISO dei LiveOS.//
 * //NOTA://**

Il pacchetto contiene:
 * i menu del server SCUL
 * alcuni sfondi grafici
 * le immagini per un’installazione di base (ove necessario, rigenerate dall’originale)
 * Imaging: ripristino dell’immagine standard, salvataggio del master, Clonezilla completo
 * Live OS: PartedMagic, Puppy Linux, FreeDOS
 * Utility: gestione partizioni (GParted), scansione antivirus (Kaspersky), MemTest86+, reset password di Windows, fix per NTLDR mancante

> <span style="font-family: 'Courier New',Courier,monospace;">cd isi-server > sudo mv * -t /var/lib/tftpboot/ -R > <span style="font-family: 'Courier New',Courier,monospace;">sudo chmod o+rx /var/lib/tftpboot -R > <span style="font-family: 'Courier New',Courier,monospace;">sudo restart tftpboot > sudo restart dnsmasq
 * Scompatta il file scaricato nella cartella dei download e poi sposta i file da Terminale:
 * Ri-attribuisci diritti di lettura al gruppo Others sulla cartella tftpboot e relative sottocartelle:
 * Riavvia servizi:

B - Installazione dal materiale scaricato
In alternativa scarica i pacchetti necessari dai siti dei vari produttori/sviluppatori: > //**NOTA**: i file grafici DEVONO essere in formato PNG, dimensioni 640x480 e 16 colori//
 * Clonezilla:
 * scarica .zip della versione Alternate Stable (basata su Ubuntu, per un miglior riconoscimento hardware)
 * estrai
 * sposta i file vmlinuz, initrd.img e filesystem.squashfs dalla cartella live (appena estratta) alla cartella /var/lib/tftpboot/images/clonezilla
 * PartedMagic (versione PXE):
 * scarica .zip
 * estrai
 * sposta la cartella pmagic risultante nella cartella /var/lib/tftpboot/images
 * Sfondi per menu grafico

<span style="background-color: transparent; color: #000000; font-family: Arial; font-size: 19px; text-decoration: none; vertical-align: baseline;">Repository per le immagini disco di Clonezilla
Clonezilla necessita di una cartella in cui posizionare le immagini disco da salvare o da ripristinare. Le dimensioni delle immagini sono variabili in funzione del Sistema clonato: da circa 1,5 Gb per Ubuntu, fino a circa 15 Gb per Windows 7. Per questo è necessario avere un disco sufficientemente capiente per l’uso che si dovrà fare. Ci sono diverse possibilità:
 * disco fisso locale, e in particolare una partizione, separata da / per non rischiare di riempirla, che possa contenere le immagini necessarie
 * disco di rete (share)
 * disco rimovibile (tipicamente USB)

Vediamo come configurare SCUL server per le varie possibilità.

// Creazione della cartella //
Per omogeneità, è opportuno creare la cartella sotto <span style="font-family: 'Courier New',Courier,monospace;">/var, creata come da istruzioni su una partizione separata. Per crearla, digita da Terminale: <span style="font-family: 'Courier New',Courier,monospace;">sudo mkdir /var/lib/tftpboot/std-img <span style="font-family: 'Courier New',Courier,monospace;">sudo chmod o+rw /var/lib/tftpboot/std-img

// Condivisione della cartella //
Per condividere la cartella è necessario installare il servizio Samba: > <span style="font-family: 'Courier New',Courier,monospace;">sudo apt-get install samba smbfs > <span style="font-family: 'Courier New',Courier,monospace;">sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.ORIGINAL <span style="font-family: 'Courier New',Courier,monospace;">sudo nano /etc/samba/smb.conf > <span style="font-family: 'Courier New',Courier,monospace;">Sezione ######## Authentication ######: > <span style="font-family: Arial,Helvetica,sans-serif;">togli # alla riga: > <span style="font-family: 'Courier New',Courier,monospace;">security = user > > <span style="font-family: Arial,Helvetica,sans-serif;">Sezione <span style="font-family: 'Courier New',Courier,monospace;"> #======== Share definitions =========#: > <span style="font-family: Arial,Helvetica,sans-serif;">aggiungi alla fine: > <span style="font-family: 'Courier New',Courier,monospace;">[std-img]comment = Cartella condivisa per immagini Clonezilla > path = /var/lib/tftpboot/std-img > writeable = yes > create mask = 0775 > directory mask = 0775 > force create mode = 0775 > locking = yes > <span style="font-family: 'Courier New',Courier,monospace;">sudo service smbd restart > oppure > <span style="font-family: 'Courier New',Courier,monospace;">sudo restart smbd > Crea l’utente: > <span style="font-family: 'Courier New',Courier,monospace;">sudo smbpasswd -a tecnico > Abilita l’utente: > <span style="font-family: 'Courier New',Courier,monospace;">sudo smbpasswd -e tecnico > Quando ti viene richiesto, digita la password dell’utente Tecnico <span style="font-family: 'Courier New',Courier,monospace; line-height: 1.5;"> sudo touch /etc/samba/smbpasswd
 * digita da Terminale:
 * ora configuriamo Samba per la condivisione della cartella delle immagini Clonezilla, in modo che sia accessibile da Clonezilla (dopo la mappatura dall’interno dello script ocs_pre_run): digita da terminale:
 * modifica le sezioni del file come segue:
 * salva e chiudi il file
 * riavvia il servizio Samba da Terminale:
 * ora è necessario creare ed abilitare l’utente Tecnico su Samba: digita da Terminale:
 * ATTENZIONE ** : Se viene visualizzato un errore, potrebbe essere perchè manca il file smbpasswd; nel caso, crealo con questo comando:

//L’utente tecnico per Samba è diverso dall’utente tecnico del Sistema Operativo; per comodità li creiamo uguali, ma vivono di vite separate.//
 * //NOTA://**

La cartella condivisa è ora pronta per contenere le immagini salvate da Clonezilla.

// Modifica dello script Clonezilla //
Il file di lancio di Clonezilla va modificato per puntare alla cartella corretta: apri il file <span style="font-family: 'Courier New',Courier,monospace;">/var/lib/tftboot/pxelinux.cfg/isi.menu con l’editor di testo: Nella sezione <span style="font-family: 'Courier New',Courier,monospace;">APPEND modifica il parametro <span style="font-family: 'Courier New',Courier,monospace;">ocs_prerun <span style="font-family: Arial,Helvetica,sans-serif;">inserendo i parametri corretti per il tuo ambiente : <span style="font-family: Arial,Helvetica,sans-serif;">Esempio: <span style="font-family: 'Courier New',Courier,monospace;">ocs_prerun=”sudo mount -t cifs -o user=tecnico,password=Asterix798 //192.168.192.46/std-img /home/partimag” Se necessario modifica i parametri: Lascia inalterata l'ultima voce (<span style="font-family: 'Courier New',Courier,monospace;">/home/partimag ), necessaria per il corretto funzionamento di Clonezilla.
 * user
 * password
 * indirizzo completo della share

Ripeti la modifica per le tre sezioni del file:
 * 1) quella relativa al caricamento dell'immagine
 * 2) quella relativa al salvataggio dell’immagine master
 * 3) quella relativa a Clonezilla completo

Disco di rete (share)
Nel caso sia disponibile un server Samba (Windows, Linux, NAS o simili) con una share accessibile, è possibile utilizzarlo come deposito per le immagini. Servono queste informazioni:
 * nome del server
 * indirizzo IP del server
 * nome della share
 * nome della cartella che conterrà le immagini disco di Clonezilla (eventualmente da creare)
 * nome del dominio o del workgroup
 * nome utente con diritti di lettura e scrittura sulla cartella delle immagini disco
 * password dell’utente

// Creazione della cartella //
Sul server Samba crea una share std-img e assegna i diritti di lettura/scrittura all’utente scelto (consigliato: isi-clonezilla)

// Modifica dello script Clonezilla //
Modifica lo script per farlo puntare alla share che conterrà le immagini Clonezilla (come istruzioni precedenti).

Copia di immagini esistenti nel repository
Se si hanno a disposizioni immagini Clonezilla che si vogliono rendere disponibili da SCUL server, è sufficiente copiarle nella share creata. Una volta copiate, è necessario renderle accessibili in lettura e scrittura per poterle gestire: <span style="font-family: 'Courier New',Courier,monospace;">sudo chmod 777 /var/lib/tftpboot/std-img/ -R

Disco rimovibile (USB)
E’ possibile anche utilizzare un disco esterno come deposito per le immagini disco: in questo caso però, dato che il montaggio del disco esterno è variabile e dipende da come viene visto dal server SCUL, è consigliabile utilizzare la terza voce del menu Imaging (Clonezilla completo) e seguire la procedura giudata di Clonezilla (vd. istruzioni seguenti nell’apposita sezione).