1
Terminal Server con Ubuntu 14.04 TLS a 64 bit Thin Clients 32 bit 2
3
Indice Installare ubuntu 14.04...pag. 5 Nuovi bios UEFI...pag. 5 Vecchi bios...pag. 7 Preparazione all'installazione...pag. 9 Partizionamento...pag. 10 Mappatura tastiera...pag. 13 Identificazione...pag. 14 Installazione...pag. 14 Configurazione LTSP...pag. 19 Installiamo LTSP Server...pag.20 Configurazioni optional...pag. 23 Disabilitare configurazione NDB...pag. 23 Costruire una build personalizzata...pag. 24 Riavviare il server...pag. 25 Creare Utenti...pag. 25 4
In questo capitolo, vediamo come realizzare un Terminal server basato su Linux Ubuntu. Perché Ubuntu e non CentOS come abbiamo utilizzato fino ad ora? La soluzione TS verso Ubuntu deriva semplicemente dal fatto che si tratta di una distribuzione piuttosto ricca di software e di facile configurazione per questo aspetto rispetto a tante altre. Inizieremo con il dare le caratteristiche fisiche che avrà il nostro server, partiamo dalla CPU, minimo un dual core, non importa se Intel o AMD, meglio se di core ne dispone 4, come Memoria RAM impostiamo un 16 GB, questa memori è più che sufficiente per mantenere circa 35 postazioni thin client, questo perchè ogni immagine di base del sistema che si apre verso il thin client, occupa una spazio di memoria par a 317 MB, se invece si volesse optare per un immagine di base comprendente alcuni software preinstallati, si dovrà calcolare almeno per ogni thin client un consumo di ram di circa un GB a questo punto vediamo subito di quanto si dimezzi la ram del server, per finire infine una rete da 1 Gbit. Iniziamo ora a vedere come installare Ubuntu sul nostro server, scaricando la versione 14.04 TLS versione desktop a 64 bit che possiamo scaricare da questo indirizzo http://www.ubuntuit.org/download, una volta scaricata la iso e masterizzata procediamo con l'installazione. Installazione di Ubuntu 14.04 L'avvio del DVD di installazione può differire a seconda del tipo di pc in uso. Sui computer più recenti al posto del vecchio BIOS è stato introdotto il nuovo sistema UEFI. Per intendersi se si possiede un pc con Windows 8, sicuramente saremo in presenza dello UEFI. Se Windows è stato installato su un pc con UEFI in modalità legacy, occorre accertarsi che tale modalità venga utilizzata anche per Ubuntu e dovrà esserre seguita la procedura per i vecchi BIOS. Nuovi bios UEFI È necessario disattivare il secure boot cambiando lo stato da Enabled a Disabled (la schermata delle impostazioni può variare da marca a marca). 5
All'avvio è importante che venga selezionata la periferica di boot in modalità UEFI (come riportato nell'immagine sottostante). Avviando il pc con il DVD o la chiave USB inserita, nella modalità UEFI non è più prevista una schermata di avvio della live, bensì si presenterà la schermata di GRUB con le opzioni di avvio. 6
Se dovesse apparire una schermata differente da quella sovrastante, sarà necessario ripetere il passaggio iniziale. Altrimenti l'installazione non andrà correttamente in porto. Se invece si visualizza la schermata corretta, selezionare la voce Try Ubuntu without installing e premere Invio. Vecchi Bios Per permettere l'avvio della Live di Ubuntu, occorre impostare il BIOS in modo che il boot sia eseguito da DVD o chiave USB. Avviando il pc con il DVD o la chiave USB inserita si visualizzerà la schermata di avvio. 7
Selezionare la voce Installa Ubuntu e premere Invio La prima schermata che verrà presentata riguarda la selezione della lingua. 8
Qui è possibile scegliere la lingua per il proprio sistema. Dopo aver selezionato Italiano fare clic sul pulsante Continua per proseguire. Con il pulsante Indietro si ha la possibilità di tornare indietro, invece con il tasto Esci si interrompe l'installazione. Preparazione all'installazione Nella prossima schermata, per un installazione ottimale, Ubuntu verificherà che siano soddisfatti i requisiti di spazio minimo a disposizione su disco e che una connessione internet sia funzionante e attiva. Inoltre, verrà richiesto: se si desidera installare gli aggiornamenti durante la fase di installazione (si tenga presente che in base alla velocità della connessione e del numero di pacchetti da aggiornare, la procedura potrebbe allungarsi in maniera sensibile); se si desidera installare una serie di applicazioni di terze parti (non open source) che consentono la riproduzione di contenuti multimediali o il funzionamento di alcune periferiche. 9
Se non si è connessi a internet, nella schermata successiva, verrà richiesto di selezionare una rete wireless, se disponibile. Sarà possibile scegliere la propria rete wireless, inserire la password della propria rete e, infine, fare clic su Connetti per proseguire con una connessione internet funzionante. Per installare gli aggiornamenti durante la fase di installazione, sarà necessario premere il tasto Indietro per tornare alla schermata precedente e scegliere l'apposita opzione. Viceversa, proseguire con la schermata successiva. Partizionamento 10
È necessario decidere dove installare il nuovo sistema operativo. La seconda opzione Sostituisci Microsoft Windows XP..., presente in versioni successive di Ubuntu come Cancella il disco e installa Ubuntu, è utile solo se si intende avere installato il solo Ubuntu senza altri sistemi. La procedura creerà automaticamente le partizioni necessarie ad Ubuntu. Scegliendo la terza modalità Altro sarà possibile configurare manualmente le partizioni. In questa fase è possibile cancellare, ridimensionare e creare partizioni. È importante non oltrepassare il limite di riduzione concesso da Windows. 11
Dopo l'ultimo clic su Installa, verranno modificate le partizioni e infine verrà installato il sistema. Potrebbe essere necessaria un'attesa di diversi minuti sia per il partizionamento sia per l'installazione. Fuso orario e mappatura della tastiera Selezionare la città che rappresenta la propria zona geografica per scegliere il corretto fuso orario. 12
Scegliere la mappatura adatta al proprio sistema Per verificare il corretto funzionamento è consigliato scrivere qualcosa nella casella sottostante. Per le prove, è meglio digitare caratteri "strani" come, ad esempio, àèéìòù ()?!. Una volta verificato che 13
la mappatura sia corretta fare clic su Continua. Identificazione La schermata successiva consentirà di inserire i propri dati: il nome reale, il nome utente e la password per eseguire il login e un nome da assegnare al computer. Di particolare importanza sono il nome utente e la password, dato che verranno richiesti il più delle volte per accedere al sistema. È consigliabile cifrare la propria cartella personale. Installazione Dopo l'ultimo clic su Continua, attendere che il processo di installazione termini. Potrebbe essere necessaria un'attesa di diversi minuti. Nel frattempo è possibile sfogliare le slide per sapere cosa c'è di nuovo nella versione di Ubuntu che state installando. Terminata l'installazione, verrà chiesto se riavviare il sistema 14
Dopo il riavvio, e nel caso siano presenti almeno due sistemi operativi, verrà visualizzato un menù grafico (del boot loader GRUB) con i possibili sistemi operativi da avviare. In caso contrario si avvierà direttamente Ubuntu. Terminato l'avvio di Ubuntu, verranno richiesti il proprio nome utente e la password (le stesse inserite durante la procedura di installazione) per accedere al sistema e caricare l'ambiente grafico. Il sistema potrebbe non essere completamente in italiano, consultare la pagina UbuntuItaliano per maggiori informazioni su come rendere Ubuntu completamente in italiano. Un buon punto di partenza per entrare in contatto con il mondo Ubuntu e Linux, è la lettura della documentazione presente nel sistema operativo. Tale documentazione è raggiungibile digitando la parola Aiuto nella Dash oppure all'indirizzo http://help.ubuntu-it.org/. Dopo aver installato il sistema, iniziamo a configurare la scheda di rete impostando sul server un IP statico, clicchiamo sull'icona a forma di ingranaggio presente nella barra di sinistra 15
Selezionare nella finestra l'icona rete come selezionato Nella schermata successiva selezioniamo la voce cavo e poi facciamo click sul pulsante opzioni 16
Ora selezioniamo in alto la voce impostazione IPV4, successivamente il pulsante aggiungi, compiliamo i campi con i parametri di rete come IP, Netmask, Gateway e DNS e spuntiamo la voce che indica richiedere indirizzo IPV4 ecc.. 17
Ora non ci resta che aggiornare il sistema prima di configurare il server come terminal server, pertanto clicchiamo sul pulsante in alto della Dash 18
ora nella finestra in alto digitiamo terminale Una volta aperto il terminale scriviamo quanto segue: alla richiesta di password inserire la password che usate per accedere al vostro profilo adam@terminalsrv:~$ sudo apt-get update adam@terminalsrv:~$ password for adam: Dopo il caricamento dei repository, digitiamo: adam@terminalsrv:~$ sudo apt-get upgrade A questo punto verrà caricata la lista del software da installare, non ci resta che confermare con una S o Y per installare gli aggiornamenti. L'aggiornamento, potrebbe durare qualche minuto, al termine, dobbiamo digitare ancora un ultimo comando che ci permetterà di aggiornare il kernel del sistema, il comando da dare è il seguente: adam@terminalsrv:~$ sudo apt-get dist-upgrade Anche qui dopo il caricamento del kernel, per avviare l'installazione diamo un S o Y, anche qui potrebbe richiedere tempo visto che scaricherà circa 271 MB di dati. Una volta fatto tutto questo siamo pronti ad eseguire la configurazione del terminal server. CONFIGURAZIONE LTSP Il funzionamento del server LTSP, si basa su l'uso del DHCP per l'avvio del sistema verso i thin clients, ma per utilizzare questo servizio, abbiamo bisogno di configurare la scheda di rete manualmente, all'interno del file interfaces che troviamo nel path /etc/network, procediamo in questo modo: 19
adam@terminalsrv:~$ sudo nano /etc/network/interfaces Entriamo nella configurazione auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 172.16.200.180 netmask 255.255.255.0 broadcast 172.16.200.255 gateway 172.16.200.238 Salviamo e riavviamo la rete: adam@terminalsrv:~$ sudo /etc/init.d/networking restart Andiamo ora cambiare il network manager confing, sostituendo la voce managed=false in managed=true INSTALLIAMO LTSP SERVER adam@terminalsrv:~$ sudo apt-get install ltsp-server-standalone Editiamo ora il file dhcp di ltsp server, in questo modo distribuiremo gli indirizzi al thin client: adam@terminalsrv:~$ sudo nano /etc/ltsp/dhcpd.conf Ora apportiamo queste modifiche alo suo interno: # # Default LTSP dhcpd.conf config file. # authoritative; subnet 172.16.200.0 netmask 255.255.255.0 { range 172.16.200.185 172.16.200.190; option domain-name "example.com"; option domain-name-servers 172.16.200.180; option broadcast-address 172.16.200.255; option routers 172.16.200.238; 20
# # next-server 192.168.0.1; get-lease-hostnames true; option subnet-mask 255.255.255.0; option root-path "/opt/ltsp/i386"; if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" { filename "/ltsp/i386/pxelinux.0"; } else { filename "/ltsp/i386/nbi.img"; } } Oltre a impostare le caratteristiche di rete ed il range del dhcp, vediamo che all'interno di questo file, vi troviamo anche il path di dove i thin clients troveranno l'immagine da caricare in memoria attraverso la rete, in questo caso lo troviamo in / opt/lspt/i386 Selezioniamo ora l'interfaccia di rete che deve rimanere in ascolto sul server: # Defaults for isc-dhcp-server initscript # sourced by /etc/init.d/isc-dhcp-server # installed at /etc/default/isc-dhcp-server by the maintainer scripts # # This is a POSIX shell fragment # # Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf). #DHCPD_CONF=/etc/dhcp/dhcpd.conf # Path to dhcpd's PID file (default: /var/run/dhcpd.pid). #DHCPD_PID=/var/run/dhcpd.pid # Additional options to start dhcpd with. # Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead #OPTIONS="" # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth0" Salviamo e chiudiamo. Configuriamo ora il file dhcp del server vero e proprio altrimenti il dhcp non funzionerà: adam@terminalsrv:~$ sudo nano /etc/dhcp/dhcpd.conf E configuriamo il file in questo modo, ovvero lasciando tutto inalterato e aggiungendo quanto segue qui sotto dopo le stringhe commentate 21
# A slightly different configuration for an internal subnet. #subnet 10.5.5.0 netmask 255.255.255.224 { # range 10.5.5.26 10.5.5.30; # option domain-name-servers ns1.internal.example.org; # option domain-name "internal.example.org"; # option routers 10.5.5.1; # option broadcast-address 10.5.5.31; # default-lease-time 600; # max-lease-time 7200; #} subnet 172.16.200.0 netmask 255.255.255.0 { range 172.16.200.185 172.16.200.190; option routers 172.16.200.238; option subnet-mask 255.255.255.0; option broadcast-address 172.16.200.255; option domain-name-servers 208.67.222.222, 208.67.220.220; Ora salviamo e usciamo e possiamo riavviare il server dhcp adam@terminalsrv:~$ sudo /etc/init.d/isc-dhcp-server restart Non ci resta ora di configuriare la build a 32bit da installare sui thin clients adam@terminalsrv:~$ sudo ltsp-build-client - -arch i386 Se si volesse installare una build a 64bit basta togliere dal path al voce arch i386 Una volta terminata l'installazione della build, ci vorranno alcuni minuti il tempo di prendere con tutta calma un caffè, riavviamo il server e successivamente controlliamone lo status: adam@terminalsrv:~$ sudo /etc/init.d/isc-dhcp-server status Status of ISC DHCP server: dhcpd is running Bene ora siamo pronti a testare il thin client dopo qualche secondo dall'avvio dovremmo vedere la seguente immagine sul video: 22
Configurazioni Optional Se vogliamo apportare modifiche personali nella build da avviare verso i thin client o i fat clients, eseguiamo questi passaggi, editiamo prima di tutto il file ltsp-build-client.conf. adam@terminalsrv:~$ sudo nano /etc/ltsp/ltsp-build-client.conf Personalizziamo il file aggiungendo queste righe per poter scaricare il desktop completo di Ubuntu. # ltsp-build-client.conf - many other options available # The chroot architecture. ARCH=i386 # ubuntu-desktop and edubuntu-desktop are tested. # Ubuntu 14.04 LTS working perfectly with Unity and Unity 2D. FAT_CLIENT_DESKTOPS="ubuntu-desktop" Disabilitare la compressione NDB La compressione NDB è abilitata di Default in Ubuntu 14.04, questa serve ad accelerare l'accesso al disco client ma richiede molto tempo per generare un file da un immagine compressa. Potrebbe essere possibile disabilitare la compressione NDB all'avvio per poi riabilitarla una volta che il client ha acquisto l'intera immagine dal server. adam@terminalsrv:~$ sudo nano /etc/ltsp/ltsp-update-image.conf 23
Aggiungiamo la riga NO_COMP= -nof -nod -noi -no-exports per disabilitare la compressione, per abilitarla ci basterà inserire il simbolo # prima di NO_COMP # Configuration file for ltsp-update-image # Do not compress the client image. Comment out the line below to enable again. NO_COMP="-noF -nod -noi -no-exports" Costruire una build personalizzata i386 (32bit) per thin/fat clients Se vogliamo personalizzare la build come detto precedentemente, dobbiamo riedittare il file ltspbuild-client.conf, adam@terminalsrv:~$ sudo nano /etc/ltsp/ltsp-build-client.conf E apportare le seguenti modiche # ltsp-build-client.conf - many other options available # The chroot architecture. ARCH=i386 # ubuntu-desktop and edubuntu-desktop are tested. # Ubuntu 14.04 LTS working perfectly with Unity and Unity 2D. FAT_CLIENT_DESKTOPS="ubuntu-desktop" # Space separated list of programs to install. # The java plugin installation contained in ubuntu-restricted-extras # needs some special care, so let's use it as an example. LATE_PACKAGES=" ubuntu-restricted-extras gimp nfs-client " # This is needed to answer "yes" to the Java EULA. # We'll create that file in the next step. DEBCONF_SEEDS="/etc/ltsp/debconf.seeds" # This uses the server apt cache to speed up downloading. # This locks the servers dpkg, so you can't use apt on # the server while building the chroot. MOUNT_PACKAGE_DIR="/var/cache/apt/archives/" 24
Una volta salvato il file dobbiamo ricreare la build adam@terminalsrv:~$ sudo ltsp-build-client - -arch i386 Riavviare Il Server Ltsp Dopo Aver Apportato Tutte Le Modifiche Dopo aver apportato le modifiche necessarie, riavviamo il nostro server in modo completo con il comando: adam@terminalsrv:~$ sudo shutdown -r now Terminato il riavvio, accertiamoci che il server DHCP sia attivo pertanto constatiamolo digitando al terminale quanto segue: adam@terminalsrv:~$ sudo /etc/init.d/isc-dhcp-server status Se decidessimo di cambiare l'indirizzo ip al server, diventa necessario avviare questi comandi: adam@terminalsrv:~$ sudo ltsp-update-sshkeys adam@terminalsrv:~$ sudo ltsp-update-image arch i386 Abbiamo quasi terminato, ora non ci resta che creare gli utenti per i thin client. Creare Utenti per i thin client Per creare gli utenti, dal server spostiamoci sulla barra di sinistra e clicchiamo su l'icona ad ingranaggio ovvero le impostazioni di sistema, come mostrato qui sotto: Spostarsi poi su l'icona account utente: 25
Clicchiamo ora in alto a destra sul pulsante sblocca e inseriamo la nostra password amministrativa, dopodiché, facciamo click sul pulsante + in basso a sinistra per creare il nostro account: Selezioniamo ora il tipo di account che volgiamo creare se normale o amministratore, giustamente terremo l'impostazione normale, nelle caselle sottostanti inseriremo il nome dell'utente e clichiamo su Aggiungi: 26
ora non ci resta che impostare la password utente e alcune proprietà, per impostare la password ci basterà cliccare accanto alla parola password la voce account disabilitato Dopo di che procediamo con l'inserimento della password Clicchiamo sul pulsante Cambia per confermare. Bene ora l'utente è stato creato non ci resta che testare il tutto avviando il thin client, che a questo punto potrebbe essere costituito da un vero thin client oppure da un PC senza disco dove abbia una scheda di rete che ne permetta il boot, (per vedere questo vi basterà accedere al bios del PC, è inutile dire che comunque le macchine devono essere collegate alla rete. Se tutto funziona, dopo un breve periodo di caricamento, visualizzare la seguente videata. 27
Loghiamoci, e dopo un breve caricamento visualizzeremo il nostro desktop; una volta terminato il nostro lavoro per spegnere il collegamento con il server, ci basterà spegnere il nostro thin client con lo stesso pulsante con la quale lo abbiamo acceso. 28