In questa guida verranno descritte note sull'installazione e la configurazione iniziale di un server Debian edu 7.1, per un laboratorio di informatica scolastico (Triennio ITI Informatica: sviluppo di applicazioni in C/C++/Java/PHP/MySQL), composto da 24 thin client e un unico server.

Prerequisiti

La tipologia di installazione più comune di una Debian Edu 7.1 è quella "combined server", che installa, su un'unica macchina, due profili server:

  1. Server LTSP, che consente il netboot di thin client e fat client
  2. Server "main", che fornisce il desktop per i client e i servizi di rete necessari: LDAP, web, DNS, SQL ecc.

Questa soluzione richiede che sul server siano installate due interfacce di rete:

  • eth0: collegata alla backbone della rete aziendale/scolastica (subnet WAN)
  • eth1: collegata alla sottorete dei client netboot (subnet LAN client LTSP)


La configurazione predefinita di queste due interfacce è la seguente:

Int. Rete Netmask Nome IP Gateway DHCP Range DNS
eth0 10.0.0.0 255.0.0.0 intern 10.0.0.1 10.0.16.20...10.0.31.254 10.0.2.2
eth1 192.168.0.0 255.255.255.0 subnet00.intern 192.168.0.254 192.168.0.21...192.168.0.254 10.0.2.2


L'IP della macchina server è invece : 10.0.2.2 (nome: tjener.intern)
Debian edu, quindi, esce "dalla scatola" con una configurazione di rete, che non si può, almeno facilmente, modificare. Essa è, infatti, "LDAP-centrica" ovvero gran parte della configurazione dei servizi di rete è messa sotto LDAP; in parole povere, non basta modificare il file interfaces. E' presente uno script in rete che dovrebbe rendere alla portata di tutti queste modifiche, ma ci sono testimonianze discordanti sul suo effettivo "funzionamento" (personalmente non ha funzionato).
Quindi nel caso la rete della propria azienda non sia una classe A, la soluzione più semplice è quella di interporre un router fra questa e il server, basta un router/AP domestico, meglio ancora con la possibilità di configurare il forwarding, come il TP-LINK TL-WR841N (dal costo di 20-30 Euro).

Configurazione del router TP-LINK TL-WR841N

La configurazione di seguito è descritta è applicabile anche ad altri modelli router wired/wireless TP-Link, ma anche, in generale, di altre marche (lo schema di configurazione è sostanzialmente uguale per ogni router). Come gran parte dei router "domestici", la configurazione riguarda due "versanti": WAN/LAN:

  • WAN, collegato alla rete aziendale; offre anche l'instradamento verso internet mediante un gateway
  • LAN, collegato alla interfaccia eth0 del server

La configurazione è accessibile tramite il pannello web: http://192.168.0.1 e inserendo le credenziali di default: admin/admin
Successivamente alla nuovoa configurazione, il pannello web sarà raggiungibile a http://10.0.0.1. Inoltre occorrerrà disabilitare il server DHCP del router, in quanto l'unico servizio DHCP sul versante LAN dovrà essere quello erogato dal server per il netboot.

  • I dati della rete "WAN" devono essere relativi alla configurazione della propria rete aziedale (quelli riportati sono indicativi)
  • I dati della rete "LAN" sono invece mandatori, in quanto legati alla configurazione di rete di Debian edu-


Configurazione WAN

Per il router in questione, essa è accessibile al menù dell'interfaccia web: “Network → WAN”


WAN Connection Type: Static IP (oppure DHCP)

IP Address 192.168.1.20
Subnet Mask 255.255.255.0
Default gateway 192.169.1.254
Primary DNS 192.168.1.254
Secondary DNS 8.8.8.8


Configurazione LAN

Si accede tramite il menù: “Network → LAN”

IP Address 10.0.0.1
Subnet Mask 255.0.0.0



NOTE

  1. L'IP 10.0.0.1 costituirà quindi il nuovo IP del router per la configurazione web.
  2. Il DHCP server del router deve essere disabilitato: per connessioni wired/wireless dal router assegnare quindi un IP statico libero della subnet 10.0.0.0/8 (eccetto il range: 10.0.16.20...10.0.31.254 che è riservato al DHCP), con gateway: 10.0.0.1, netmask: 255.0.0.0 e DNS: 8.8.8.8

Installazione

Creazione del supporto

L'installazione può essere fatta mediante CD/DVD o chiavetta USB. Il sito http://ftp.skolelinux.org/ consente di scaricare diverse immagini ISO, per creare CD, DVD e USB autoavvianti. Fra queste si segnalano due in particolare:


  • CD: debian-edu-7.1+edu0-CD.iso (655MB): l'installazione viene avviata da un CD, quindi vengono scaricati i pacchetti necessari dalla rete (richiede molte ore)
  • USB: debian-edu-7.1+edu0-USB.iso (5,4GB): l'installazione viene avviata da una chiavetta USB che contiene gran parte dei pacchetti richiesti. E' comunque necessario il collegamento alla rete in quanto viene scaricato qualche aggiornamento o pacchetto richiesto (richiede meno tempo della net-install)


Per la creazione del boot USB:

Linux

Identificare il device name della chiavetta USB (es. /dev/sdb). Portarsi nella cartella dove è stata scaricata la ISO e lanciare da shell:

   sudo cat debian-edu-7.1+edu0-USB.iso >/dev/sdb; sync

Windows

L'unico software capace di creare una chiavetta USB per l'installazione Debian è PowerISO (gratuito/nag screen). Si consiglia la vecchia versione 4.9 che non installa adware. Lanciato il programma, dal menù "Strumenti > Create Bootable USB driver" sarà possibile creare la propria USB avviabile con l'installer Debian edu.


Fase di installazione

  • Al boot di installazione, selezionare con i tasti freccia “64 bit install”, quindi premere il tasto Tab e modificare il seguente parametro: desktop=xfce.

Si sconsiglia l'expert-install a meno di non sapere dettagliatamente cosa fare passo dopo passo (diversamente ci si può ritrovare dopo ore di lavoro con un'installazione incompleta)

  • Non usare per il primo utente userID = password (a volte l'utente non viene creato, sembra un bug)
  • Rispondere SI' alla domanda: “Sicuri di usare il partizionamento guidato?”
  • Rispondere NO alla domanda: “Si desidera partecipare all'indagine sui pacchetti?”


Durante l'installazione è possibile attivare due console virtuali:

  • Alt+F4: console syslog (stato download pacchetti, estrazione, configurazione ecc.)
  • Alt+F1: ritorna all'installer



N.B. I comandi elencati di seguito vanno eseguiti dall'utente iniziale, quello creato durante l'installazione (oppure da qualsiasi altro utente autorizzato al sudo).

Post-installazione

Di seguito la sequenza di passi che si è seguita per la fase di post-install.

Sincronizzare la lista dei pacchetti disponibili

Fra versione installata e versione corrente ci potrebbero essere delle differenze fra lista locale dei pacchetti e lista attuale dei pacchetti (presente sul server degli aggiornamenti). Questi comandi si sono resi necessari per un'installazione da USB al fine di evitare errori e warning nell'uso di apt e dpkg:

  wget http://http.debian.net/debian/dists/wheezy/main/binary-amd64/Packages.gz 
  gunzip Packages.gz 
  sudo dpkg --update-avail Packages 
  mv Packages /opt/ltsp/i386/tmp 
  sudo ltsp-chroot dpkg --update-avail /tmp/Packages 
  sudo ltsp-chroot rm /tmp/Packages

Aggiornare etckeeper

Assicurarsi che sia installata la versione più recente: la 0.63 genera warning/errori nel commit automatico di apt.

  wget http://http.debian.net/debian/pool/main/e/etckeeper/etckeeper_1.12_all.deb 
  sudo dpkg -i etckeeper*.deb
  rm etckeeper*.deb

Aggiornare os del server

  sudo apt-get update
  sudo apt-get -y upgrade

Aggiornare os dei fat client

  sudo ltsp-chroot -m apt-get update 
  sudo ltsp-chroot -m apt-get -y upgrade 
  sudo ltsp-update-kernels

Installare killer,gksu, git

Cron ogni ora lancia lo script killer, il quale individua processi server di utenti che non sono collegati al sistema e li killa. gksu/gksudo sono gli equivalenti gtk di su/sudo. gitk è una GUI per git

  sudo apt-get install killer gksu gitk

Installare localizzazioni/stili

Installare la lingua italiana e stile gtk per la gui di open-office e chromium:

  sudo ltsp-chroot -m apt-get install libreoffice-gtk libreoffice-l10n-it chromium-l10n 
  sudo apt-get install libreoffice-gtk libreoffice-l10n-it chromium-l10n 

Installare strumenti e ambienti di sviluppo

Installazione di g++, geany (ottimo e leggero IDE)

  sudo ltsp-chroot -m  apt-get install g++ eclipse eclipse-cdt geany
  sudo apt-get install g++ apt-get install eclipse eclipse-cdt geany

Installare LAMP

Occorre installare solo MySQL server e client (PHP e già installato e Apache già preconfigurato per lo sviluppo PHP/mysqli):

  sudo apt-get install mysql-server mysql-client  
  sudo ltsp-chroot -m apt-get install mysql-client

Installare Java

 sudo ltsp-chroot -m apt-get install default-jdk default-jre openjdk-6-jre openjdk-6-jdk icedtea-plugin
 sudo apt-get install default-jdk default-jre openjdk-6-jre openjdk-6-jdk icedtea-plugin

Impostare xfce di default anche per le sessioni locali

L'installazione da DVD/USB installa anche gnome (pur avendo richiesto xfce); mentre la netinstall scarica e installa solo xfce. Per consentire di usare xfce in modalità predefinita (e non Gnome) anche in sessione locale:

 sudo update-alternatives --config x-session-manager

quindi selezionare il numero associato a: /usr/bin/xfce4-session

Creare la struttura di directory per il web degli utenti

Con la creazione di un nuovo utente verranno anche create le directory per lo spazio web personale:

  sudo mkdir /etc/skel/public_html
  sudo mkdir /etc/skel/public_html/cgi-bin 

Installare un nuovo pacchetto sui fat client

  sudo ltsp-chroot -m apt-get install nomepacchetto

Installare un nuovo pacchetto sul server (e quindi anche per i thin client)

  sudo apt-get install nomepacchetto


... ... ...