Prerequisiti


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).

NOTA:
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).

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

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
BIOS per vari modelli di PC: circa 1 Gb per 20 modelli

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

NOTA:
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.

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:
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’ 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.

Configurazione della scheda di rete
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:

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

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

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:
NOTA:
Modifica i valori in funzione della tua rete:

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

NOTA:
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).

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.

  • Sul server SCUL lancia da Terminale:
    sudo apt-get install dnsmasq -y
    NOTA: Già installato su WiildOs 3.0
  • una volta installato dnsmasq, rinomina il file dnsmasq.conf (se presente):
    sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.ORIGINALE
  • ora crea un nuovo file dnsmasq.conf:
    sudo touch /etc/dnsmasq.conf
  • Apri il file /etc/dnsmasq.conf e inserisci le seguenti righe:
    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

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.
  • 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:
    066: <nome_del_server_PXE>
    067: pxelinux.0
  • 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:
allow booting;
allow bootp;
next-server <indirizzo_IP_del_server_PXE>;
filename "/pxelinux.0";

Al termine, riavvia il server DHCP:
/etc/init.d/dhcp3-server restart

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:
sudo apt-get install syslinux -y

NOTA:
Già installato su WiildOs 3.0

Preparazione della struttura delle cartelle


Ora devi creare la struttura e copiare i file necessari per il corretto funzionamento del server:
  • Crea la cartella che conterrà i file necessari:
    sudo mkdir /var/lib/tftpboot
  • Crea le cartelle necessarie per il pxe server:
    • cartella dei menu:
      sudo mkdir /var/lib/tftpboot/pxelinux.cfg
    • cartella della grafica:
      sudo mkdir /var/lib/tftpboot/graphics
    • cartella delle immagini kernel e dei file ISO:
      sudo mkdir /var/lib/tftpboot/images
    • cartella delle immagini per gli aggiornamenti BIOS:
      sudo mkdir /var/lib/tftpboot/images/bios
    • cartella degli script:
      sudo mkdir /var/lib/tftpboot/scripts
  • Copia i file del server tftp nella cartella appropriata:
    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
  • Attribuisci diritti di lettura ad altri alla cartella tftpboot e relative sottocartelle:
    sudo chmod o+rx /var/lib/tftpboot -R

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
NOTA:
Al 10-06-2013 il file pesa circa 140 Mb. NON INCLUDE le immagini ISO dei LiveOS.

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

  • Scompatta il file scaricato nella cartella dei download e poi sposta i file da Terminale:
    cd isi-server
    sudo mv * -t /var/lib/tftpboot/ -R
  • Ri-attribuisci diritti di lettura al gruppo Others sulla cartella tftpboot e relative sottocartelle:
    sudo chmod o+rx /var/lib/tftpboot -R
  • Riavvia servizi:
    sudo restart tftpboot
    sudo restart dnsmasq

B - Installazione dal materiale scaricato

In alternativa scarica i pacchetti necessari dai siti dei vari produttori/sviluppatori:
  • 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
    NOTA: i file grafici DEVONO essere in formato PNG, dimensioni 640x480 e 16 colori

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à.

Disco locale

Creazione della cartella

Per omogeneità, è opportuno creare la cartella sotto /var, creata come da istruzioni su una partizione separata.
Per crearla, digita da Terminale:
sudo mkdir /var/lib/tftpboot/std-img
sudo chmod o+rw /var/lib/tftpboot/std-img

Condivisione della cartella

Per condividere la cartella è necessario installare il servizio Samba:
  • digita da Terminale:
    sudo apt-get install samba smbfs
  • 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:
    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.ORIGINALsudo nano /etc/samba/smb.conf
  • modifica le sezioni del file come segue:
    Sezione ######## Authentication ######:
    togli # alla riga:
    security = user

    Sezione #======== Share definitions =========#:
    aggiungi alla fine:
    [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
  • salva e chiudi il file
  • riavvia il servizio Samba da Terminale:
    sudo service smbd restart
    oppure
    sudo restart smbd
  • ora è necessario creare ed abilitare l’utente Tecnico su Samba: digita da Terminale:
    Crea l’utente:
    sudo smbpasswd -a tecnico
    Abilita l’utente:
    sudo smbpasswd -e tecnico
    Quando ti viene richiesto, digita la password dell’utente Tecnico
ATTENZIONE: Se viene visualizzato un errore, potrebbe essere perchè manca il file smbpasswd; nel caso, crealo con questo comando:
sudo touch /etc/samba/smbpasswd

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

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 /var/lib/tftboot/pxelinux.cfg/isi.menu con l’editor di testo:
Nella sezione APPEND modifica il parametro ocs_prerun inserendo i parametri corretti per il tuo ambiente:
Esempio:
ocs_prerun=”sudo mount -t cifs -o user=tecnico,password=Asterix798 //192.168.192.46/std-img /home/partimag”
Se necessario modifica i parametri:
  • user
  • password
  • indirizzo completo della share
Lascia inalterata l'ultima voce (/home/partimag), necessaria per il corretto funzionamento di Clonezilla.

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:
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).