Installare e configurare Debian edu (Skolelinux): differenze tra le versioni

nessun oggetto della modifica
(Creata pagina con '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 (I.T.I), compost...')
 
Nessun oggetto della modifica
Riga 1: Riga 1:
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 (I.T.I), composto da 24 thin client e un unico server.
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 (I.T.I), composto da 24 thin client e un unico server.


''' Prerequisiti </tt>
''' 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:
La tipologia di installazione più comune di una Debian Edu 7.1 è quella "combined server", che installa, su un'unica macchina, due profili server:
Riga 222: Riga 223:


<tt>mkdir /etc/skel/public_html</tt> <tt>mkdir /etc/skel/public_html/cgi-bin exit</tt>
<tt>mkdir /etc/skel/public_html</tt> <tt>mkdir /etc/skel/public_html/cgi-bin exit</tt>
'''5) AMMINISTRAZIONE DI SISTEMA CON GOsa2'''
'''Menu delle applicazioni > Sistema > Gosa '''
oppure aprire con un browser: [https://www/gosa https://www/gosa]
La login è quella dell'utente creato durante l'installazione
E' possibile aggiungere altri utenti Gosa aggiungendoli al gruppo gosa-admins
'''5.1) AMMINISTRAZIONE DEGLI UTENTI'''
'''5.1.1) Modificare i template “newstudent” e “newteacher”'''
Per la creazione di un nuovo utente “studente” e “insegnante”, Gosa eredita le proprietà di due utenti predefiniti, rispettivamente, “newstudent” e “newteacher”.
E' preferibile che ogni utente venga aggiunto a un solo gruppo primario: students o teachers (di default, invece, il modello utente prevede la creazione di un gruppo primario dello stesso nome dell'utente: tanti utenti, tanti gruppi!).
Menù Gosa > Users > '''Students''' > newstudent > POSIX
[[Image:]]
'''Cambiare il primary group da '''
'''“Newstudent” a “Students”'''
<div align="right">Analogamente cambiare il primary group in “teachers” per l'utente newteacher, accedendo al menù</div>
'''Menù Gosa > Users > Teachers > newteacher > POSIX'''
{| style="border-spacing:0;"
| style="border:none;padding:0.097cm;"| [[Image:]]
| style="border:none;padding:0.097cm;"| Ogni utente del modello “newteacher” oltre che al gruppo “teachers” viene
aggiunto anche al gruppo “students”
|}
'''5.1.2) Modificare gli username proposti da Gosa nella creazione di un utente'''
Per la creazione di un nuovo utente, Gosa propone diversi userid formati da lettere del nome e del cognome e dell'utente, ma non consente di definire un userid a piacere (es. nome.cognome). Per aggirare questo limite:
<tt>$ sudo mousepad /etc/gosa/gosa.conf </tt>
cercare il tag: <tt>location name="Debian Edu"</tt>
e modificarlo, nel modo seguente, prima della parentesi di chiusura “<tt>>”</tt> :
...dc=skolelinux,dc=no" '''allowUIDProposalModification = "true"''' >
A destra degli userid proposti da Gosa comparirà un'icona: cliccando su di essa, sarà ora possibile immettere un qualsiasi uid valido.
'''5.1.3) Aggiungere un singolo utente'''
'''<nowiki>Menù Users > [ Actions ] > Create > User</nowiki>'''
Selezionare quindi il template: newstudent o newteacher, rispettivamente se si tratta di uno studente o di un docente.
Scegliere dalla list-box, l'userid proposta. Se si è apportata la modifica al punto precedente, sarà possibile definire una userid diversa da quelle proposte.
{| style="border-spacing:0;"
| style="border:none;padding:0.097cm;"| [[Image:]]
| style="border:none;padding:0.097cm;"| La home dir. dell'utente è:
<tt>/skole/tjener/home0/userid</tt>
L'utente può cambiare la password iniziale
accedendo a Gosa con le sue credenziali
|}
'''5.1.4) Cambio della password'''
L'utente al primo accesso sarà invitato a cambiare la password accedendo a Gosa mediante le proprie credenziali; un utente non amministratore in Gosa visualizza solo le sue proprietà di cui può modificare solo la password.
'''5.1.5) Importare lista di nuovi utenti definita in un foglio elettronico'''
1) Creare un nuovo file con Libreoffice Calc, in cui ogni colonna rappresenti:  uid, cognome, nome, password iniziale. Esempio:
[[Image:]]
{| style="border-spacing:0;"
| style="border:none;padding:0.097cm;"| [[Image:]]
| style="border:none;padding:0.097cm;"| Tutti gli utenti devono essere dello stesso modello: docenti o studenti
|-
| style="border:none;padding:0.097cm;"| La tabella non deve avere intestazione  (il primo utente deve essere definito nella riga 1)
Non usare l'apostrofo o il doppio apice
es. <tt>D'Avino </tt>va scritto: <tt>D Avino</tt>
Riempire sempre il campo cognome e nome
La password deve essere di almeno cinque caratteri
Se l'importazione trova una userid giù utilizzata, segnala l'errore
e non importa le righe successive (quindi controllare prima se l'userid è
libero) . Per controllare se la userid mario.rossi è già utilizzata, eseguire da
shell:<tt>$ getent passwd | grep “mario.rossi”</tt>
|}
2) Salvare il file in formato “Text CSV“ con delimitatore di campo “,” esempio: 3b.csv (ignorare il warning di Calc)
3) Andare in Gosa > Addons > LDAP Tools > CSV import
> Selezionare il file <tt>3b.csv</tt> creato al punto 2 > Selezionare il modello della lista utenti (es. NewStudent)
<nowiki>> Premere il pulsante [Import] in basso a destra</nowiki>
[[Image:]]
'''5.1.6) Abilitare un utente al sudo'''
'''Menù Administration > Sudo rules'''
Selezionare dalla lista, la regola del primo utente (quello creato con l'installazione)
Nel riquadro '''“Users and groups”''', click sul pulsante “'''Add from list” '''e selezionare l'utente al quale si vogliono applicare le stesse regole sudo del primo utente (nell'esempio il I utente è: frank)
[[Image:]]
'''5.2) AMMINISTRAZIONE DI MACCHINE E DEVICE DI RETE'''
'''5.2.1) Assegnare a un client sempre lo stesso IP e nome'''
La sottorete per i client è preconfigurata:''' '''<tt>192.168.0.0/24</tt>
I client non richiedono l'autorizzazione in Gosa (a differenza delle workstation): Debian Edu automaticamente assegna a un client che si collega al LTSP server, un IP e un nome.
E' consigliabile, però, far assegnare a un client sempre uno stesso IP e uno stesso nome:
1) Far collegare unicamente il client che si desidera configurare  e aspettare la schermata LTSP login
2) Lanciare sul server lo script :
<tt>sudo sitesummary2ldapdhcp -a -d</tt>
dare la passwd di LDAP (coincide con quella di root) quando richiesto.
In Gosa > System, click sull'icona di “reload list”: apparirà il client collegato, con il nome generico: “<tt>auto-mac-xx:xx:xx:xx:xx:xx</tt>”.
3) Editare il client cambiandogli il nome da “auto-mac-...” secondo un tema a scelta  (es. <tt>tc001, client001, 001, ecc.</tt>)
4) Impostare un IP non utilizzato da <tt>'''.21 '''</tt>a <tt>.'''252'''</tt> e:
> abilitare DHCP: <tt>(tjener) DHCP</tt>
> abilitare DNS zona: <tt>TJENER/subnet00.intern:</tt>
[[Image:]]
Il client dell'esempio avrà come nome completo: tc001.subnet00.intern
{| style="border-spacing:0;"
| style="border:none;padding:0.097cm;"| [[Image:]]
| style="border:none;padding:0.097cm;"| Si consiglia di:
#
##
### Assegnare l'IP 192.168.0.253 al client cattedra (in uso al docente)
### Identificare i client con la seguente associazione IP ↔ nome:Client n.1: 192.168.0.21 ↔ tc001Client n. 2: 192.168.0.22 ↔ tc002 … ↔ ...Client n. xxx: 192.168.0.'''xxx''' ↔ tc'''yyy '''(yyy=xxx-020)
|}
'''6) APPENDICE'''
'''6.1) Installare ed eseguire epoptes (controllore di aula)'''
{| style="border-spacing:0;"
| style="border:none;padding:0.097cm;"| [[Image:]]
| style="border:none;padding:0.097cm;"| La procedura di installazione è contenuta nello script postinstall:<tt>$ sh postinstall.sh</tt>
|}
Installazione:
'''1) '''Lanciare da utente sudo:
  sudo apt-get install epoptes
  sudo ltsp-chroot -m  apt-get  install  epoptes-client
<tt>sudo ltsp-chroot -m epoptes-client -c </tt>
'''2)''' Effettuare la seguente modifica per la corretta gestione dei gruppi LDAP (nella versione 0.5.6):
  sudo update-rc.d -f epoptes remove
  sudo update-rc.d epoptes default 30 70
'''3)''' Aggiungere il gruppo teachers al file di default epoptes:
  echo 'SOCKET_GROUP=teachers' | sudo tee --append /etc/default/epoptes
4) Riavviare il servizio:
<tt>sudo service epoptes restart</tt>
Eseguire il controllore dal Menù delle applicazioni > Internet > Epoptesoppure da shell (senza permessi di root) con:
    epoptes
{| style="border-spacing:0;"
| style="border:none;padding:0.097cm;"| [[Image:]][[Image:]]
| style="border:none;padding:0.097cm;"| Solo gli utenti del gruppo <tt>teachers</tt> sono autorizzati ad avviare epoptes
e quindi controllare in remoto i client.
Il controllore può essere invocato sul server o su thin clientma non su un fat client.
Per operare su tutti i client (es. inviare messaggio a tutti i client), non
selezionare nessuna miniatura desktop oppure premere <tt>Ctrl+A</tt>
|}
'''6.2) Utilizzare la flash del thin come swap locale !!! da testare !!!'''
L'utilizzo di uno swap locale, piuttosto che di rete, potrebbe migliorare le prestazioni.
1) Partizionare l'intera memoria flash di ogni client con id 82 (swap linux).  (si può usare system-rescue-cd usb bootable e fdisk o gparted)
2) Aprire con vi il file lts.conf:
<tt>sudo /opt/ltsp/i386/etc/lts.conf </tt>
e modificare le impostazioni di default con due direttive:
<tt><nowiki>[Default]</nowiki></tt>
        USE_LOCAL_SWAP=Y
        NBD_SWAP=N
{| style="border-spacing:0;"
| style="border:none;padding:0.097cm;"| [[Image:]]
| style="border:none;padding:0.097cm;"| Sui thin client HP la selezione del boot device dovrebbe essere fatta
premendo '''F10''' all'accensione (da verificare!!!)
|}
'''6.3) Configurare uno o più client come thin e non come fat'''
La modalità di funzionamento fat/thin di LTSP Debian edu (sulla subnet 192.168.0.0/24) è predefinita: se il client ha una RAM > 320MB la modalità è la fat , viceversa è thin.
Se si vuole forzare uno o più client a lavorare come thin, indipendentemente dalla quantità di RAM, occorre modificare il file lts.conf:
<tt>sudo vi /opt/ltsp/i386/etc/lts.conf</tt>
Supponendo che si voglia modificare un solo client, il cui MAC è: <tt>08:00:27:b8:96:68</tt>, si''' scriverà:'''
<tt>'''<nowiki>[08:00:27:b8:96:68] </nowiki>'''</tt>
<tt>'''LTSP_FATCLIENT=false '''</tt>
{| style="border-spacing:0;"
| style="border:none;padding:0.097cm;"| [[Image:]]
| style="border:none;padding:0.097cm;"| Il client utilizzato dal docente/amministratore è consigliabile
che sia impostato come thin (deve operare sul server)
|}
'''6.4) Abilitare la sintassi evidenziata in vi'''
Aprire il file rc globale di vi:
<tt>sudo vi /etc/vim/vimrc</tt>
e inserire come prima riga:
<tt>syntax on</tt>
Ripetere la stessa modifica per il vimrc dei client fat:
<tt>sudo vi /opt/ltsp/i386/etc/vim/vimrc</tt>
'''6.5) Abilitare il web dell'home utente'''
'''Il modulo userdir è gia abilitato; occorrerà solo configurarlo.'''
'''1) '''Da server eseguire:
<tt>sudo -s </tt>
<tt>cd /etc/apache2/mods-enabled/ cp userdir.conf userdir.orig.conf</tt>
<tt>vi userdir.conf </tt>
e sostituire la riga:
<tt><nowiki><Directory /home/*/public_html/></nowiki></tt>
con
<tt><nowiki><Directory /skole/tjener/home*/*/public_html/></nowiki></tt>
{| style="border-spacing:0;"
| style="border:none;padding:0.097cm;"| [[Image:]]
| style="border:none;padding:0.097cm;"| Anche senza questa modifica, il server web sembra gestire
correttamente le pagine nella dir. <tt>public_html</tt>
|}
'''2) '''Riavviare il demone http:
<tt>service restart apache2</tt>
<tt>exit</tt>
'''3) Far creare a ciascun utente, collegato da fat client, la seguente directory nella propria home e '''
'''impostarne i corretti permessi:'''
    '''$ cd'''
    '''~$ mkdir public_html '''
    '''~$ chmod 755 public_html'''
'''La pagina iniziale predefinita è <tt>index.html</tt>, che sarà raggiungibile (nell'ambito del dominio <tt>.intern</tt>) all'URL:'''
    '''http://www/~userid'''
oppure
    [http://10.0.2.2/~userid http://10.0.2.2/~userid]
{| style="border-spacing:0;"
| style="border:none;padding:0.097cm;"| [[Image:]]
| style="border:none;padding:0.097cm;"| Se si vuole rendere visibile lo spazio web del primo utente (creato durante l'installazione) occorrerà un <tt>$ chmod o+x </tt>della sua home directory
|}
'''6.6) Abilitare i CGI nell'home utente'''
Il modulo CGI è già abilitato; occorrerà solo configurarlo anche per le home dir.
'''1) '''Da server eseguire:
<tt>sudo vi /etc/apache2/mods-enabled/userdir.conf </tt>
e aggiungere in coda la seguente direttiva:
<tt><nowiki><Directory /skole/tjener/home*/*/public_html/cgi-bin/> </nowiki></tt>
<tt>Options ExecCGI </tt>
<tt>SetHandler cgi-script </tt>
<tt><nowiki></Directory> </nowiki></tt>
Riavviare il demone httpd:
<tt>sudo service restart apache2</tt>
'''2)''' Far creare all'utente collegato dal fat client, la propria directory cgi-bin e settarne i permessi:
<tt>$ cd</tt>
<tt>~$ cd public_html</tt>
<tt>~$ mkdir cgi-bin$ chmod 755 cgi-bin</tt>
'''3)''' Creare un nuovo file di prova <tt>hello.c </tt>nella dir. cgi-bin:
<tt><nowiki>#include <stdio.h> </nowiki></tt>
<tt>int main(void) </tt>
<tt>{ </tt>
<tt>printf("Content-Type:text/html\n\n"); </tt>
<tt>printf("Hello World!"); </tt>
<tt>return 0; </tt>
<tt>} </tt>
'''4) '''Compilare il cgi:
<tt>$ gcc -o hello.cgi hello.c</tt>
'''5) '''Eseguire il cgi sul server web:
<tt>http://www/~userid/cgi-bin/hello.cgi</tt>
'''6.7) Non consentire ai fat client di accedere a internet'''
E' possibile, all'occorrenza, disabilitare temporaneamente l'accesso internet a tutti i fat client della subnet 192.168.0.0/24 :
<tt>sudo vi /etc/init.d/enable-nat</tt>
Modificare il corpo della funzione<tt> is_enabled()</tt> come segue:
<tt>is_enabled() { </tt>
<tt>if (do_status | grep -q "$NETWORK_TO_NAT") '''|| '''</tt>
<tt>'''(do_status | grep -q "thinclientnet/24")''' <nowiki>; then </nowiki></tt>
<tt> true </tt>
<tt>else </tt>
<tt> false </tt>
<tt>fi </tt>
<tt>}</tt>
Per disabilitare l'accesso internet ai fat client:
<tt>sudo service enable-nat stop</tt>
Per riabilitarlo:
<tt>sudo service enable-nat start</tt>
'''6.8) Copiare un file su tutte le home degli studenti'''
Il seguente script (<tt>cptostud.sh</tt>), lanciato con sudo, copia un file in tutte le home directory dei soli utenti '''che hanno gruppo primario “Students” '''e ne assegna la proprietà. Il file se è già presente nella directory destinazione viene sovrascritto. La variabile $DIR specifica un'eventuale sottodirectory dell'home utente (es. “Scaricati”). Lasciandola vuota ( $DIR=”” ) il file viene copiato nella home dir. radice: /skole/tjener/home0/uid
<tt><nowiki>#!/bin/bash </nowiki></tt>
<tt>DIR="Scaricati" </tt>
<tt>FILE="/skole/tjener/home0/frank/ex01.c" </tt>
<tt>UHOME="/skole/tjener/home0" </tt>
<tt>GRP_NAME="students" </tt>
<tt>GRP_ID=$(getent group $GRP_NAME | cut -d: -f3) </tt>
<tt>FILENAME=$(basename $FILE) </tt>
_USERS="$(getent passwd | awk -v X=$GRP_ID -F ':' '{if ( $4 == X ) print $1 }')"
<tt>for u in $_USERS </tt>
<tt>do </tt>
<tt>_dir="${UHOME}/${u}/${DIR}" </tt>
<tt><nowiki>if [ -d "$_dir" ] </nowiki></tt>
<tt>then </tt>
<tt>yes | /bin/cp -v "$FILE" "$_dir" </tt>
<tt>chown -v $(id -un $u):$GRP_NAME "${UHOME}/${u}/${DIR}${FILENAME}" </tt>
<tt>fi </tt>
<tt>done</tt>== Indice generale ==
'''1) CONFIGURAZIONE BIOS E BOOT USB DELL' HP DL380 G71'''
'''1.1) Accedere alla configurazione del RAID1'''
'''1.2) Accedere al RBSU (BIOS)1'''
'''1.3) Abilitare boot da USB 1'''
'''2) CONFIGURAZIONE ROUTER TP-LINK TL-WR841N 2'''
'''3) INSTALLAZIONE2'''
[#__RefHeading__3216_855006261 4) POST INSTALLAZIONE3]
'''4.1) Sincronizzare la lista dei pacchetti disponibili3'''
'''4.2) Aggiornare etckeeper 3'''
'''4.3) Aggiornare os del server3'''
'''4.4) Aggiornare os dei fat client3'''
'''4.5) Installare un nuovo pacchetto sui fat client 4'''
'''4.6) Installare killer,gksu, gitk4'''
'''4.7) Installare localizzazioni/stili 4'''
'''4.8) Installare strumenti e ambienti di sviluppo 4'''
'''4.9) Installare LAMP4'''
'''4.10) Impostare xfce di default anche per le sessioni locali 4'''
'''4.11) Creare la struttura di directory per il web degli utenti5'''
'''5) AMMINISTRAZIONE DI SISTEMA CON GOsa25'''
'''5.1) AMMINISTRAZIONE DEGLI UTENTI5'''
'''5.1.1) Modificare i template “newstudent” e “newteacher”5'''
'''5.1.2) Modificare gli username proposti da Gosa nella creazione di un utente6'''
'''5.1.3) Aggiungere un singolo utente6'''
'''5.1.4) Cambio della password7'''
'''5.1.5) Importare lista di nuovi utenti definita in un foglio elettronico7'''
'''5.1.6) Abilitare un utente al sudo8'''
'''5.2) AMMINISTRAZIONE DI MACCHINE E DEVICE DI RETE8'''
'''5.2.1) Assegnare a un client sempre lo stesso IP e nome8'''
'''6) APPENDICE10'''
'''6.1) Installare ed eseguire epoptes (controllore di aula)10'''
'''6.2) Utilizzare la flash del thin come swap locale !!! da testare !!!11'''
'''6.3) Configurare uno o più client come thin e non come fat11'''
'''6.4) Abilitare la sintassi evidenziata in vi12'''
'''6.5) Abilitare il web dell'home utente12'''
'''6.6) Abilitare i CGI nell'home utente13'''
'''6.7) Non consentire ai fat client di accedere a internet14'''
'''6.8) Copiare un file su tutte le home degli studenti15'''
472

contributi