Software libero a scuola/Installa SCUL server

Wikibooks, manuali e libri di testo liberi.
Indice del libro

toc

Prerequisiti[modifica]

Il server[modifica]

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[modifica]

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[modifica]

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[modifica]

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[modifica]

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)[modifica]

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)[modifica]

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[modifica]

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[modifica]

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[modifica]

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[modifica]

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”[modifica]

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[modifica]

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[modifica]

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[modifica]

Creazione della cartella[modifica]

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[modifica]

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[modifica]

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)[modifica]

Nel caso sia disponibile un server Samba (Windows, Linux, NAS o simili) con uno 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[modifica]

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

Modifica dello script Clonezilla[modifica]

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

Copia di immagini esistenti nel repository[modifica]

Se si hanno a disposizione 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)[modifica]

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