Installare e configurare Debian edu (Skolelinux): differenze tra le versioni
Riga 4: | Riga 4: | ||
= Prerequisiti = | = Prerequisiti = | ||
[[Image:Combi network.png|right|frame|thumb|Topologia della soluzione "combined server"]] La tipologia di installazione più comune di una Debian Edu 7.1 è quella "combined server", che installa, su un'unica macchina, due profili server: | [[Image:Combi network.png|right|frame|thumb|Topologia della soluzione "combined server" con router WAN/LAN]] La tipologia di installazione più comune di una Debian Edu 7.1 è quella "combined server", che installa, su un'unica macchina, due profili server: | ||
# Server LTSP/thinclient, che gestisce il netboot di thin client e fat client | # Server LTSP/thinclient, che gestisce il netboot di thin client e fat client | ||
# Server "main", che fornisce il desktop per i client e i servizi di rete necessari: LDAP, web, DNS, SQL ecc. | # Server "main", che fornisce il desktop per i client e i servizi di rete necessari: LDAP, web, DNS, SQL ecc. | ||
Riga 10: | Riga 10: | ||
Questa soluzione richiede che sul server siano presenti due interfacce di rete: | Questa soluzione richiede che sul server siano presenti due interfacce di rete: | ||
*eth0: collegata alla rete backbone dell'azienda/scuola (subnet WAN) | *eth0: collegata (direttamente o indirettamente) alla rete backbone dell'azienda/scuola (subnet WAN) | ||
*eth1: collegata alla sottorete dei client netboot (subnet LAN client LTSP) | *eth1: collegata alla sottorete dei client netboot (subnet LAN client LTSP) | ||
<br /> | <br /> |
Versione delle 06:50, 14 ago 2014
Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.
Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template. |
In questa guida verranno descritte le sequenze di installazione e configurazione di Debian edu 7.1, che sono state seguite per la creazione di un ambiente LTSP in un laboratorio di informatica scolastico (triennio ITI Informatica) principalmente dedicato allo sviluppo di applicazioni in C/C++/Ruby/Java/PHP/MySQL.
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:
- Server LTSP/thinclient, che gestisce il netboot di thin client e fat client
- 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 presenti due interfacce di rete:
- eth0: collegata (direttamente o indirettamente) alla rete backbone dell'azienda/scuola (subnet WAN)
- eth1: collegata alla sottorete dei client netboot (subnet LAN client LTSP)
La configurazione predefinita di queste due interfacce è la seguente:
Int. | IP | Netmask | Rete (nome) | IP Gateway |
---|---|---|---|---|
eth0 | 10.0.2.2 | 255.0.0.0 | 10.0.0.0/8 (intern) | 10.0.0.1 |
eth1 | 192.168.0.254 | 255.255.255.0 | 192.168.0.0/24 (subnet00.intern) | 192.168.0.254 |
L'IP del server è quindi 10.0.2.2 (tjener.intern), il quale offre anche i servizi di DNS e DHCP per il netboot di client collegati sia sulla rete intern, che sulla subnet00.intern (sottorete dei client LTSP), nelle seguenti gamme di indirizzi:
Rete | DHCP Range |
---|---|
intern | 10.0.16.20...10.0.31.254 |
subnet00.intern | 192.168.0.21...192.168.0.253 |
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. Con l'installazione viene fornito uno script (/usr/share/debian-edu-config/tools/subnet-change) che dovrebbe rendere automatiche 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 (che abbia una porta WAN), meglio ancora con la possibilità di configurare il forwarding, come il TP-LINK TL-WR841N (ND) (dal costo di 20-30 Euro) oppure un modello cablato come il TL-R402M della stessa Casa.
Configurazione del router TP-LINK TL-WR841N(ND)
La configurazione di seguito descritta è applicabile anche ad altri modelli router wired/wireless TP-Link, compresi quelli di altre marche (lo schema di configurazione è sostanzialmente identico per ogni router). Come gran parte dei router "domestici", la configurazione riguarda due "versanti", WAN e LAN:
- WAN, rete aziendale, la quale offre anche l'instradamento verso internet mediante un gateway
- LAN, rete locale del server alla quale è collegata anche l'interfaccia eth0 del server
La prima configurazione è accessibile tramite un browser all'indirizzo: http://192.168.0.1 ,inserendo le credenziali di default: admin/admin
Configurazione WAN
I dati della rete "WAN" devono essere relativi alla configurazione della propria rete aziendale/scolastica (quelli riportati sono soltanto indicativi). Devono essere quindi forniti dall'amministratore di rete. Per il router in questione, la configurazione è accessibile tramite il menù 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.168.1.254 |
Primary DNS | 192.168.1.254 |
Secondary DNS | 8.8.8.8 |
Configurazione LAN
I dati della rete "LAN" sono invece mandatori, in quanto legati alla configurazione di rete di Debian edu. Il router in questione configura il versante LAN definendo l'indirizzo IP del router e la subnet netmask e quindi, di conseguenza, anche la classe della rete LAN. Si accede alla configurazione LAN tramite il menù: “Network → LAN”
IP Address | 10.0.0.1 |
---|---|
Subnet Mask | 255.0.0.0 |
N.B. Dopo questa modifica l'indirizzo IP 10.0.0.1 costituirà quindi il nuovo IP del router e quindi le successive configurazioni tramite il pannello web saranno possibile aprendo l'indirizzo: http://10.0.0.1
Disabilitazione del server DHCP
Il DHCP server del router deve essere disabilitato (in quanto nella LAN deve funzionare un solo DHCP server per il netboot di client). Scegliere il menu "DHCP → DHCP Settings" e attivare l'opzione "Disable"
Eventuali altre connessioni wired/wireless al router da workstation o notebook (non netboot) dovranno quindi essere configurate mediante un IP statico libero che non appartenga ai range DHCP della rete intern (10.0.16.20...10.0.31254)
Installazione
Creazione del supporto di installazione
L'installazione può essere fatta mediante CD/DVD o pendrive 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 un pendrive USB che contiene gran parte dei pacchetti richiesti. E' comunque necessario il collegamento alla rete in quanto viene scaricato qualche aggiornamento o pacchetto aggiuntivo (richiede meno tempo della installazione da CD)
Per la creazione del boot USB in ambito Linux occorrerà innanzitutto identificare il device name del pendrive USB (es. /dev/sdb). Portarsi, quindi, nella directory dove è stata salvata la ISO e lanciare da shell:
sudo umount /dev/sdb sudo cat debian-edu-7.1+edu0-USB.iso > /dev/sdb ; sync
Invece per chi usa Windows, uno dei software in grado di creare un pendrive USB effettivamente funzionante 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 il proprio pendrive 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?”
- Si consiglia di rispondere NO alla domanda: “Si desidera partecipare all'indagine sui pacchetti?”
Durante l'installazione è possibile attivare due console virtuali in particolare:
- 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 nella lista dei pacchetti. Questi comandi si sono resi necessari dopo l'installazione (effettuata con l'immagine USB.iso) 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 lo stile gtk per la gui di open-office e la lingua italiana, anche per 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 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
Installare strumenti e ambienti di sviluppo
Installazione di g++ e geany (ottimo e leggero IDE)
sudo ltsp-chroot -m apt-get install g++ geany sudo apt-get install g++ apt-get install geany
Installare LAMP
Occorre installare solo MySQL server e client (PHP e già installato e Apache già preconfigurato per lo sviluppo PHP/mysqli). Al termine dell'installazione di mysql-server verrà richiesta la creazione di una password per l'utente root di mysql.
sudo ltsp-chroot -m apt-get install mysql-client sudo apt-get install mysql-server mysql-client
Impostare xfce di default anche per le sessioni locali
L'installazione da CD/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 per i 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
... ... ...