Lemoeb. Editoriale. Ringraziamenti. Numeri arretrati. Sito Web. Forum. Newsletter. Lettere alla redazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lemoeb. Editoriale. Ringraziamenti. Numeri arretrati. Sito Web. Forum. Newsletter. Lettere alla redazione"

Transcript

1

2 Editoriale Bentrovati! Quanto tempo è passato dall ultimo numero? Moltissimo e per la precisione sette mesi! Sono veramente tanti rispetto alla partenza del progetto in cui le uscite avevano frequenza quasi bimestrale. Direi che vi stiamo facendo penare le nuove uscite ma abbiamo dalla nostra parte alcune scusanti, concedetecelo ;) Era nostra intenzione far uscire il nuovo numero in contemporanea con la nuova veste del portale ma quest ultimo ci sta portando via veramente più tempo del previsto e quindi per non lasciarvi a corto di lettura e per fare un piccolo regalo natalizio abbiamo infine deciso di pubblicare il nuovo numero sul vecchio portale e rimandarvi a Gennaio per il nuovo vestito, vi assicuro che non ve ne pentirete. Prima di parlarvi del numero 11 dell ezine, vorrei ricordarvi che TopoLinux è in continua ricerca di persone volenterose che contribuiscano alla sua crescita.quindi se hai scritto qualche articolo, una pillola e vuoi vederla pubblicata quì tra le nostre pagine non esitare ti aspettiamo! Bene, presentate le scusanti e rinnovato l invito direi che è il caso di dare una panoramica di cosa troverete tra le pagine dell ultimo numero segnalando che ai vecchi articolisti si sono affiancati Luca Gambetta e Marco Magnatti che ringrazio. Proseguono il loro viaggio su questo numero il tutorial su Inkscape e la rubrica echo $feedback che stando a quanto arrivato in redazione hanno riscosso un discreto successo tra i nostri lettori, cosa che ovviamente ci fa molto ma molto piacere. Finalmente superati i problemi logistici siamo riusciti a pubblicare l ultima parte del tutorial dedicato agli attacchi DDos quindi ora riprendete i vecchi numeri e leggete la serie tutta di un fiato. Vi sveleremo anche come far parlare Amarok e come accedere ai dati di un sistema che non riesce ad avviarsi. Putroppo per problemi di studio e lavoro dobbiamo sospendere temporanemanete il corso di Shell Script che comunque riprenderà dal prossimo numero. Penso ora di avervi detto proprio tutto e forse di essermi anche dilungato un po troppo. Vi saluto con un augurio di Felicissimo Natale da parte di tutta la redazione di TopoLinux! Ringraziamenti Fabiana per il nome dell e-zine; Rockaffé per tutti i suggerimenti dati; MakPaolo per il supporto con i CSS; AngelinoAnt per il supporto hack phpbb; ed in particolare tutti i membri dello staff! Numeri arretrati I numeri arretrati dell e-zine sono disponibili per il download sul sito e consultabili on-line nella sezione Arretrati Sito Web Forum Newsletter Per rimanere sempre informati su tutte le attività riguardanti l e-zine, è possibile iscriversi sul sito nella sezione Newsletter Lettere alla redazione Direttore: Lemoeb Redattore: Neon Correttore di bozza: Rolly Giornalisti freelance: Stonedz JoErNano Collaboratori esterni: Gil (OpenSourceMania.it) Lemoeb Versione elettronica curata da: DnDVault Klaudia Copertina: Klaudia

3 Copyright (c) 2007 Topolinux è garantito il permesso di copiare, distribuire e/o modificare questo documento seguendo i termini della Licenza per Documentazione Libera GNU, Versione 1.1 o ogni versione successiva pubblicata dalla Free Software Foundation; con le Sezioni Non Modificabili Sommario e Lettere alla Redazione, con i Testi Copertina Topolinux l ezine italiano completamente dedicato al Pinguino. Una copia della licenza è acclusa nella sezione intitolata GNU FDL.

4 SOMMARIO Recensioni Recensione di KDE 4 Beta 1...pag. 4 Sistema Installazione e configurazione di Tomcat pag. 11 Accedere ai dati di un sistema che non si avvia...pag. 18 Ambiente desktop Inkscape - Parte 2...pag. 21 Connettersi ad internet con un cellulare Bluetooth...pag. 26 Sicurezza DDos Attacco e Difesa - Terza ed ultima parte...pag. 29 Pillole Amarok Parla!...pag. 35 Echo $feedback La rubrica che stampa a schermo i vostri consigli...pag. 36

5 Recensioni KDE 4 Beta 1 Nota iniziale Questo articolo è stato scritto da Luca Ziabice Gambetta, e pubblicato sul famosissimo blog Pollycoke, che ha accettato la pubblicazione su Topolinux. Tutto lo Staff di Topolinux ringrazia pubblicamente Felipe e Luca per la loro disponibilità. Potete trovare l articolo originale al seguente indirizzo: press.com/2007/08/06/recensione-di-kde- 4-beta-1/ Pane al pane Mi tolgo subito il sassolino dalla scarpa: i programmatori di KDE hanno completamente sbagliato il piano di rilascio per KDE 4. Inutile dargli torto, per carità (anche Vista è arrivato con anni di ritardo), il progetto è complesso, ma chiamare questo rilascio beta 1 è a dir poco controproducente, dato che crea aspettative inevitabilmente destinate ad essere disattese. E una alfa e non ci piove, prendetela quindi per quello che è: una collezione di software altamente immaturo che crasha ogni tre per due. e vino al vino Il sistema appena avviato 4 Cambiare tutto per non cambiare niente : mai motto fu più calzante! Lo scopo di questa release è quella di presentare al grande pubblico le librerie stabilizzate (occhio non ancora completamente stabili), ossia le fondamenta sulle quali costruire tutto il resto del sistema. Perciò da qui in avanti ogni programmatore saprà che il substrato che permette alla propria applicazione di vivere non cambierà, a parte la correzione dei bug. Da adesso in poi, quindi, non sarà più tempo di giocare, si farà sul serio! Nonostante il freeze sono venute fuori diverse novità, tra le quali la più succosa per me è quella del supporto al compositing in KWin. Volevo verificare come questo fosse stato integrato nel sistema e devo dire che non sono rimasto deluso, non c è nessun cubo o finestra che wobbla, ma tutto il resto, come vedremo, è alive n kickin. Vi anticipo subito che già da adesso KDE 4 ha tutte le carte in regola per fare un gran figurone. In particolare la responsività del sistema e la velocità nell avvio delle applicazioni mi ha favorevolmente colpito. Togliersi lo sfizio Inizialmente la prova doveva basarsi sul Live CD ufficioso che potete trovare qui: home.kde.org/~binner/kde-four-live/. Dopo il classico test effettuato usando una macchina virtuale eseguita in VirtualBox ho deciso che era meglio usare una macchina reale. Purtroppo tutti i tentativi di boot del CD con la mia workstation sono falliti e dato che non mi faccio mancare nulla, ho deciso di compilare dai sorgenti un sistema minimale. La prova su strada è stata effettuata su una distro Arch Linux aggiornata all ultimo rilascio, che gira sul seguente hardware: Athlon (2ghz su socket 754) 1 GB Ram NVIDIA GeForce FX5700LE con 256 MB RAM 1 HD SATA da 200 GB 2 HD PATA da 120 in RAID 1 su controller 3ware Kernel (ricompilato ed ottimizzato per il sistema in uso) XOrg 7.2 Driver NVIDIA GCC GLibc 2.6 Il sistema è stato installato nella directory /opt/ kde4. E stata usata la libreria Qt fornita

6 nel repository community, installata con: pacman -S qt4 Tutte le altre dipendenze erano già soddisfatte in quanto sulla macchina è già presente KDE Lo scopo della prova era vedere come si comportasse un sistema base in un ambiente sterile : perciò ho compilato in prima istanza solo i pacchetti: strigi (messo in /usr/local) kdelibs kdepimlibs kdebase kdegraphics La compilazione è molto semplice, davvero il passaggio a CMake si fa sentire, rendendo il processo chiaro ed alla portata praticamente di chiunque (figata la percentuale di avanzamento nella compilazione). Inutile dire che in caso di dubbi ci sono delle pagine apposite sul sito ufficiale (http://techbase.kde.org/getting_ Started/Build/KDE4_Alpha_1). Per farla breve con la compilazione, dopo aver settato delle variabili di ambiente, per ogni pacchetto ho eseguito: tar jxvf nomepacchetto.tar.bz2 cd nomepacchetto mkdir build cd build cmake -DCMAKE_INSTALL_ PREFIX=/opt/kde4.. make make install Al termine della compilazione ho creato un utente con il quale eseguire i test di utilizzo, in un ambiente che potrei definire sterile : ho infatti rimosso tutte le variabili d ambiente e path che permettessero al sistema di riconoscere applicazioni preesistenti sulla macchina. Nella compilazione ho escluso il supporto a Soprano e di conseguenza a Nepomuk, quindi niente desktop semantico, come pure niente supporto per poppler-qt4 perchè mi avrebbe incasinato un po la distro e di conseguenza niente supporto per i PDF e i PS in Okular. Tanto sarebbe andato in crash, fidatevi ;) 5 Primo impatto Recensioni Fin da subito mi ha colpito molto la responsività del sistema: se è vero che le azioni portano ad un crash dell applicazione, nel poco di tempo che questa funziona lo fa in modo rapido e reattivo, come ci si aspetterebbe da un Desktop Environment nuovo di pacca. Sarebbe poco onesto non ammettere che gran parte del merito va attribuito alle librerie Qt4, una base solidissima su cui impostare il sistema. Anche la resa grafica ne ha tratto beneficio, con caratteri definiti, finalmente poche cornici e grafica vettoriale dove possibile. L aspetto base è molto flat, aspetto questo che ho molto gradito, ma la tinta ghiaccio è un po troppo chiara. Un assaggio dello stile utilizzato nei pannelli di configurazione (in questo caso di KWrite). Tutto reso molto vivo dalle belle icone e dai colori di Oxygen Si nota subito la presenza del vecchio Kicker (che verrà sostituito da Plasma) sul quale tra l altro non girava la systray, rendendo le applet normali finestre. Anche Plasma è a dieta: in questo rilascio non sono presenti componenti oltre al classico orologio, che peraltro non funziona correttamente. Nota personale: odio il modo in cui Plasma si attiva, ossia il fatto che se sposto il mouse in alto a sinistra si srotola il pannellino di controllo coi componenti. Lo trovo molto poco funzionale e troppo invasivo, preferirei di gran lunga una discreta applet nella systray per controllare il tutto o una genialata (tipo click del tastro centrale sul desktop o la pressione degli inutili tasti Windows). Il fatto di avere compilato pochi sorgenti mi ha permesso di rendermi subito conto di una cosa: ci sono poche applicazioni, ma il sistema base è dannatamente complesso e renderlo usabile

7 Recensioni e configurabile sarà una vera sfida. C è davvero da perdersi tra i menu di configurazione, uno per ogni applicazione, tutti resi più o meno semplici. L analisi del core ridotto mi permette allo stesso tempo di focalizzarmi su quei componenti che tutti useremo spesso anche senza esserne coscienti: basti pensare ad esempio che l editor di testo è la parte fondante anche di Kdevelop o di Quanta. E proprio da qui voglio partire L editor di testo, uno solo: KWrite L editor di testo di default è adesso KWrite, che raggruppa in un unica applicazione KWrite, Kate e KEdit già presenti in KDE 3. Il nome non vi inganni: è Kate aggiornato ed è davvero ben fatto. Veloce, pieno di funzionalità e semplicissimo da utilizzare. Interessante il fatto che vada bene sia per un programmatore che per l editing estemporaneo. opzioni, ma quelle che vi servono per un editing al volo sono tutte lì nella toolbar. Davvero bella la funzione di ricerca inline: basta premere CTRL+F e appaiono nella statusbar i controlli per effettuare una ricerca i cui risultati si aggiornano mano a mano che si scrive, in una maniera simile a Firefox. Cercando il pelo nell uovo mi lasciano un po perplesse le icone: quella per l azione Open è davvero poco intellegibile, Close proprio fuori contesto. Impostando la dimensione delle icone a la situazione migliora, ma non di molto (per farlo andate sulla toolbar, premete il tasto destro e selezionate la voce nel menu Icon Size ). In generale ho notato che le icone nella loro versione a media risoluzione (22 22) sono poco chiare, mentre danno il meglio di se a partire da pixel. KWrite alle prese col codice sorgente PHP. In particolare si nota l evidenziazione dei blocchi di codice con diversi colori Come potete vedere dallo screenshot, quando si edita del codice sorgente viene automaticamente fatto il folding ed utilizzato il colore per evidenziare i blocchi di codice. Va fatto un plauso all usabilità: nei menu ci sono un milione di I problemi delle icone Oxygen risolti aumentando la risoluzione Scrivendo l articolo con tale editor ho notato un piccolo degradamento delle performance al crescere del testo. Spero che sia un problema passeggero che verrà risolto quanto prima. Il visualizzatore di immagini: Gwenview Nonostante non sia presente nel menu Graphi- La ricerca inline di KWrite La schermata iniziale di Gwenview 6

8 cs, il visualizzatore di immagini predefinito in KDE 4 è Gwenview. Ancora da rifinire in quanto ad usabilità (la barra sinistra di navigazione tra le directory grida vendetta), brilla per la sua velocità. Si avvia in un attimo ed in un attimo ti permette di navigare tra la tua collezione di immagini. Strano che non mostri le preview delle immagini JPEG con tag EXIF, spero che sia un mio errore in fase di compilazione. Durante le prove non è mai andato in crash e per un software riscritto da zero non può che essere un buon segno. Okular L occhio che tutto vede, purtroppo l ho compilato senza il supporto per i file PDF e PS e quindi è un po orbo, ma quel che c è rende l idea (sì lo so è poco serio fare una recensione in questa maniera, ma non volevo incasinare la distro, abbiate pazienza). Recensioni in due parti differenti). La cosa simpatica è che quello che fate in una finestra si riflette nell altra: ad esempio se aprite Midnight Commander in una tab che poi suddividete e staccate, mentre muovete il cursore in una finestra potrete vedere accadere la stessa cosa nell altra, come se fosse uno specchio. La split view di Konsole Okular che visualizza una immagine. Sembra buona, ma la mia Kiki è addestrata ad azzannare nelle parti basse e a deridere la vittima dandogli del ciucciababbano E il visualizzatore di tutti i formati file supportati al mondo di KDE 4, ossia l applicazione che dovrebbe aprirsi nel 90% dei vostri click su un file. Anche qui grande velocità nell avvio, ma un pelino meno velocità nell apertura dei file. Ho testato con diversi file CHM ed è risultato molto lento nell apertura, ma poi veloce nella navigazione. La qualità del rendering dei caratteri non mi ha convinto. Attendiamo sviluppi. Il terminale: Konsole Ahhhh il terminale, compagno di tante avventure! Per me è uno dei componenti fondamentali del sistema ed è pure uno di quelli che ha subito tanti interventi. Tra i più evidenti c è la possibilità di suddividere la visualizzazione in verticale o orizzontale (ossia vedete la stessa finestra Mi manca un po l opzione (che sapevo sarebbe stata implementata) di una finestra stile Yakauke (ossia come la console di Quake), che apparisse dall alto (o basso, destra, sinistra, of course) col solo magico tocco di un tasto. Peccato, ma spero la implementino. Mi piace come è stato implementato il cambio dell aspetto del terminale, con una live preview del cambiamento delle impostazioni che rende bene l idea. Attivando la voce del menu Settings -> Edit Current Profile e selezionando la tab Appearance, verrete innanzitutto salutati da un simpatico effetto grafico (simpatico solo le prime due o tre volte, beninteso) in cui vedrete i vari stili grafici materializzarsi nel selettore e passandoci su vedrete la finestra del terminale sottostante cambiare al volo. Idem per il font di caratteri. Non so se l effetto a comparsa verrà esteso anche ad altri controlli, ma va secondo me ponderato bene, dato che potrebbe generare disturbo se usato su Configurazione di Konsole 7

9 Recensioni larga scala. Ho notato una non eccelsa velocità di rendering del testo, speriamo bene per la versione finale Il file manager: Dolphin Conosciuto ai più come il file manager che fa solo il file manager o dai tignosi come Abbiamo berciato anni contro Nautilus ed ora dovrei dire che un clone di Nautilus era proprio quello che ci voleva?, nella sua attuale incarnazione non delude, anzi cresce sempre meglio. E una scheggia e perciò ho usato un suo degno rivale per fare una prova alla pari, buttando nella mischia Thunar incluso in XFce 4.4. Separati alla nascita: Dolphin (sopra) e Thunar (sotto) Se guardate gli screenshot delle schermate iniziali dei due programmi penserete come me che siano stati separati alla nascita: Thunar sembra più brutto perchè non ho settato nessuno stile Gtk, ma con le icone Tango fa comunque la sua figura. Se d acchito l interfaccia è ben pulita, basta qualche click maligno nel sottomenu View -> Panels, per trasformarla nel mostro che potete vedere in figura. Dolphin, dopo qualche personalizzazione all interfaccia Riportando il pupo alla sua forma base, ma lasciando attivo il pannello informazioni (sulla destra) verremo omaggiati di un elegante effetto grafico all avvio della preview dei file: passando col mouse su un file infatti l immagine cambierà con un effetto morfing allargandosi o restringendosi in modo fluido, molto bello e funzionale, peccato che però non venga eseguito se ho un file selezionato e passo col mouse sopra un altro file nell elenco. Odiosa invece la navigazione in punta di click : se si clicca una volta sola viene automaticamente lanciata l applicazione associata al tipo MIME del file. In un attimo mentre navigavo in una directory con dei file musicali e delle immagini m è partito il player mp3 e Gwenview, intasandomi lo schermo. C è chi sostiene che il singolo click sia più usabile, ma a me lascia un po perplesso. Il guaio è che non ho trovato il modo per impostare il comportamento a doppio click. Ad ogni modo nel suo utilizzo Dolphin è piacevole ed intuitivo, ma soffre di un degrado di performance non appena i file diventano un po di più o la visuale viene impostata su Columns. Dacci il proibito! L interfaccia grafica Adesso vi aspettereste fighi screenshot col tema Oxygen, con me che tesso lodi e sbrodolo un po a destra e a manca. Invece vi sbagliate, perchè ciò che sto per mostrarvi è molto meglio e molto più arcano. Nel pannello di controllo non ve n è traccia, perchè per attivarlo bisogna usare tutte le arti magiche che solo un nerd possiede. Portate il mouse sulla decorazione superiore della finestra e premete il tasto destro, selezionate Configure Win- 8

10 dow Behavior, selezionate Desktop Effects. A questo punto spuntate Enable Desktop Effects e poi pigiate Apply e la pornografia è servita! Recensioni Anche KDE4 ha exposé Dove i poteri arcani risiedono Subito dopo l attivazione degli effetti vengono attivati dei plugin minimi: ombre e offuscamento delle finestre in secondo piano Per magia compariranno le ombre sotto le finestre e quelle in secondo piano si scuriranno. Portando il mouse nell angolo in altro a destra partirà l effetto à la Exposè per scegliere tra le finestre attive. Ed è solo l inizio! Tutto l ambiente desktop si avvantaggerà delle possibilità di compositing. Una caratteristica davvero interessante è che è possibile scegliere quale motore di composizione si vuole, se OpenGL o XRender. Il che vuole dire che anche un PC senza una scheda grafica con driver ultimo grido può avvantaggiarsi delle funzionalità aggiuntive (appena saranno implementate, ovviamente). Il selettore di applicazioni (attivabile con ALT+Tab): trasparenze e fading a go go! Il bello è che tutto è stato implementato in maniera ultramodulare, permettendo un controllo fine su tutti gli effetti, proprio come avviene in Compiz. Certo è ancora acerbo, ma sapere di Ecco cosa si ottiene premendo Advanced Options... nel dialogo Enable desktop effects. 9

11 Recensioni averlo built-in è la marcia in più di KDE 4 rispetto alla concorrenza. No, per adesso non ci sono cubi, ma c è tutto quello che è utile nell uso quotidiano e non è per niente invasivo. Nota stonata (ma non credo potesse essere altrimenti per un primo rilascio) un certo degrado delle performance, penso che sia dovuto alla mancata ottimizzazione per le applicazioni che generano parecchi aggiornamenti dello schermo. Mentre scrivevo questa recensione con KWrite ad esempio era evidente la perdita di frame. La lunga strada verso la vittoria Conclusioni Ne è valsa la pena? Sì, ne è valsa la pena. Non sono purtroppo nello stato di inebetimento da release spaccamascella, ma so che quando mi sveglierò dalla camera criogenica in cui mi porrò per arrivare fresco ad ottobre (ottobre? ma chi ci crede, facciamo fine novembre, va) troverò il mio desktop environment dei sogni pronto a cullarmi nel mio lavoro quotidiano. Vedo tutti i pezzi, qualcuno è al proprio posto, mentre lo spazio vuoto lo immagino riempito con la materia di cui sono fatti i sogni. Novembre, accendo il PC e parte Your Ex-Lover Is Dead degli Stars mentre le pareti intorno a me scompaiono ed io mi libro in cielo arrivando presso la sede del prossimo GUADEC, plano e faccio il gesto dell ombrello ai convenuti, mentre grido usabilitatemi questo!. Poi torno a casa e resto ore a giocare con l orologio al Plasma, la pistola al Plasma, i Plasmon, il BFG-9000, a plasmare mondi e benedire Aaron Seigo Luca Zia Bice Gambetta 10

12 Installazione e configurazione di Tomcat 5.5 Una guida basilare ma completa per l installazione e la configurazione del sever web Apache Tomcat 5.5, con alcuni preziosi suggerimenti per facilitarsi la vita. Può non essere del tutto esaustiva, ma dovrebbe essere più che sufficiente per comprendere il funzionamento del web server, considerando che le informazioni reperibili in rete sono spesso frammentarie. Il sottoscritto ha installato il server su Ubuntu linux, quindi alcuni parametri o directory possono differire rispetto ad altri sistemi. In generale cercherò di specificare sempre quali sono le cose dipendenti dal tipo di sistema in uso. Richiede un minimo di familiarità con java. Installazione Ovviamente, scaricate e installate Java JDK, dal sito della sun o dai repository della vostra distribuzione. Vi consiglio caldamente l ultima versione, che al momento è la 5.0 (quella successiva alla 1.4, per intendersi), per non avere problemi di compatibilità con le ultime specifiche di servlet e JSP. Scaricate Tomcat dal sito ufficiale (tomcat5.5 download page). Attualmente la versione più recente è la , è importante scaricare questa in quanto corregge molti dei bug (ma non tutti ) della versione 5.0. In generale, è bene tenere il server sempre aggiornato alla versione più recente. Altrimenti potete installare la versione fornita con la vostra distribuzione, se disponibile; in ogni caso non ve lo consiglio, in quanto le versioni presenti sui repository tendono ad essere poco aggiornate. Nel secondo caso, tipicamente il server viene installato in /usr/share/tomcat5, vi consiglio di usare la stessa directory anche se lo installate scaricandolo dal sito di Apache. D ora in poi faremo riferimento al percorso di installazione con $CATALINA_HOME, qualunque esso sia. Assicurarsi di stare utilizzando la virtual machine giusta; è possibile che sul sistema ve ne sia più di una installata. Per stare tranquilli, assicuratevi 11 innanzitutto che la jvm di default in uso nel sistema sia quella che volete voi, ossia quella relativa a JRE versione 5.0 (o 1.5, che dir si voglia) che avete installato: potete trovare la procedura qui per i sistemi Ubuntu. Su windows non dovrebbero esserci problemi, visto che nell installazione base non è prevista una virtual machine. Gli altri si arrangino, almeno per ora. Configurare la variabile d ambiente $JAVA_ HOME, corrispondente al path in cui è installata la virtual machine: cd ~ nano.bashrc E aggiungete in fondo al file la riga: export JAVA_HOME=<path_in_ cui_avete_installato_la_jvm> Un esempio di path può essere /usr/lib/jvm/java sun , ma questo varia a seconda della distribuzione e della versione di java. Creiamo la variabile d ambiente $CLASSPATH che servirà per compilare file.java, e in particolare le servlet per tomcat. Il classpath indica alla jvm dove andare a cercare le definizioni di classe necessarie alla compilazione. Nuovamente: cd ~ nano.bashrc E aggiungiamo Sistema export CLASSPATH=.:./:$CATALINA_ HOME/common/lib/jsp-api. jar:$catalina_home/common/ lib/servlet-api.jar Dove $CATALINA_HOME è la directory in cui è installato tomcat. Ovviamente, perchè quanto riportato funzioni, dovete sostituire a $CATALI- NA_HOME il percorso di installazione, o, ancora meglio, creare proprio tale variabile con procedimento analogo (aggiungere export CATALI- NA_HOME=<path > ). NB: il classpath nell esempio comprende quattro percorsi distinti, separati da :. I due archivi.jar contengono le varie classi necessarie per servlet e jsp: bisogna quindi far sapere, tramite il classpath, alla jvm dove andare a cercarle, altrimenti le vostre serv-

13 let non compileranno mai Utile anche inserire. nel classpath, così da poter compilare ogni file nella sua stessa directory (la jvm cerca anche lì le definizioni necessarie), così come./, necessario per cercare nelle sottocartelle (eventuali package). Nota: se usate un IDE, come Eclipse ad esempio, per lo sviluppo delle vostre applicazioni, non avete bisogno di impostare il classpath, in quanto, di solito, è l IDE stesso a richiedervi di configurare, tra le sue opzioni, i path di tutte le librerie necessarie alla compilazione. Estraete il contenuto dell archivio apachetomcat tar.gz che avete scaricato. Dentro la cartella bin, estraete il contenuto dell archivio jsvc.tar.gz in jsvc. Si tratta dell applicazione che useremo per avviare/fermare tomcat; prima però dobbiamo compilarla. A questo punto: # siamo ancora dentro la cartella bin cd jsvc autoconf./configure make Sistema # spostiamo il file generato dentro la cartella bin cp jsvc.. Rinominate l archivio che avete scaricato ed estratto (apache-tomcat e non jsvc!), ad esempio, in tomcat5.5, e spostate la cartella in /usr/share/, o dove meglio credete. Apache fornisce anche uno script di avvio basilare, che però non funziona così com è Lo script in questione è./bin/jsvc/native/tomcat5. sh. Semplicemente usate quello che è riportato nel riquadro 1, che ho modificato a partire da quello fornito col server. Ovviamente, modificate i parametri che non corrispondono alla vostra configurazione. Potete usare questo script per avviare tomcat in automatico (ve lo sconsiglio) come servizio di sistema; ad esempio, mettendo questo script in /usr/bin e creando un altro script tomcat-start. sh, che aggiungerete agli script di avvio automatico della vostra macchina, che lo invochi con l opzione start; in ogni caso, seguite la procedura corretta per la vostra distribuzione. Per i sistemi Ubuntu, la trovate qui. Volendo si può aggiungere allo script un caso restart che fermi e riavvii il server sfruttando il codice già esistente. Risorse correlate: Tomcat setup: tomcat-5.5-doc/setup.html L installazione termina qui, il server dovrebbe già funzionare, ma siamo solo all inizio Per vedere se tutto è ok, avviamo tomcat; se avete installato dai repository: cd /etc/init.d/ sudo./tomcat5 start # in generale,la sintassi è./tomcat5 start stop restart Oppure possiamo ottenere lo stesso risultato semplicemente riavviando il computer Se invece avete installato scaricando dal sito di apache, usate lo script che vi ho fornito. Nel browser, andiamo a e dovremmo vedere la home page di default di tomcat. La porta di default potrebbe essere 8180 se avete installato il server dai repository Ubuntu (tratteremo nella sezione seguente come cambiare la porta di default). Suggerimento: può risultare comodo assegnarsi permessi di scrittura sui file contenuti in webapps e in conf. Se avete installato dai repository, tali file e cartelle sono di proprietà dell utente root. Altrimenti, sono di proprietà del vostro utente, dal momento che avete semplicemente estratto un archivio In questo caso ovviamente i permessi di scrittura li avete già, ma non è una buona pratica lasciare il vostro utente standard come proprietario di tutta l installazione. Il metodo migliore consiste nel creare un nuovo gruppo di utenti (ad esempio, developers), aggiungere il proprio account utente a tale gruppo, assegnare i file in webapps e in conf a tale gruppo e concedere permessi di scrittura sui file agli utenti del gruppo, impostando (o lasciando) l utente root come proprietario. Nel riquadro 2 sono riportati i comandi necessari a realizzare quanto descritto per la cartella webapps; ripetere gli ultimi due comandi per la cartella conf. Attenzione: se avete installato il server dai repository Ubuntu, alcune cartelle e alcuni file dentro conf e dentro webapps sono dei collegamenti! Le cartelle a cui puntano NON saranno influenzate dal comando chown, quindi dovrete seguire 12

14 Sistema #!/bin/sh ############################################################################## # # Copyright 2004 The Apache Software Foundation. # # Licensed under the Apache License, Version 2.0 (the License ); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an AS IS BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ############################################################################## # # Small shell script to show how to start/stop Tomcat using jsvc # Adapt the following lines to your configuration JAVA_HOME=/usr/lib/jvm/java sun # se avete già definito CATALINA_HOME in.bash_rc potete commentare la riga seguente CATALINA_HOME=/usr/share/tomcat5.5 DAEMON_HOME=$CATALINA_HOME/bin TOMCAT_USER=tomcat5 # for multi instances adapt those lines. TMP_DIR=/var/tmp PID_FILE=/var/run/jsvc.pid CATALINA_BASE=$CATALINA_HOME CATALINA_OPTS= -Djava.endorsed.dirs=$CATALINA_HOME/common/endorsed # ho commentato queste righe (presenti nel file originale) perchè aggiungo il classpath e gli archivi #.jar direttamente ai paramentri di avvio # di jsvc nel caso start (vedi sotto, dopo l opzione -cp) # CLASSPATH=\ # $JAVA_HOME/lib/tools.jar:\ # $CATALINA_HOME/bin/commons-daemon.jar:\ # $CATALINA_HOME/bin/bootstrap.jar case $1 in start) # Start Tomcat echo Starting Apache Tomcat 5 using Java from $JAVA_HOME... $DAEMON_HOME/jsvc -user $TOMCAT_USER -home $JAVA_HOME -Dcatalina.home=$CATALINA_HOME \ -Dcatalina.base=$CATALINA_BASE \ -Djava.io.tmpdir=$TMP_DIR \ -wait 10 \ -pidfile $PID_FILE \ -outfile $CATALINA_HOME/logs/catalina.out \ -errfile &1 \ $CATALINA_OPTS \ -cp $CLASSPATH:$CATALINA_HOME/bin/bootstrap.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commonsdaemon.jar: \ org.apache.catalina.startup.bootstrap # # To get a verbose JVM #-verbose \ # To get a debug of jsvc. #-debug \ echo Done. exit $? ;; stop) # Stop Tomcat echo Stopping Apache Tomcat 5... $DAEMON_HOME/jsvc -stop -pidfile $PID_FILE org.apache.catalina.startup.bootstrap echo Done. exit $? ;; *) echo Usage tomcat.sh start stop exit 1;; esac 13 Riquadro 1

15 Sistema #crea il gruppo: sudo addgroup developers #aggiungersi al gruppo: sudo nano /etc/group #cercare il nome del gruppo, e aggiungere il proprio utente alla lista, ad esempio: #... # developers:x:1001:nome_utente #... #assegnare utente root e gruppo developers ai file in webapps: cd $CATALINA_HOME sudo chown -R root:developers webapps #concedere permessi di scrittura al gruppo: sudo chmod -R g+w webapps i link e ripetere la procedura nelle cartelle effettive (di solito in /etc/tomcat5, mi pare). Avere permessi di scrittura risulta utile in fase di sviluppo, sia per fare il deploy dell applicazione (dovete copiare i file in webapps), sia per, eventualmente, compilare in loco i file.java. Nota: attenzione, quanto appena detto vale per una installazione del server pensata per pubblicare il vostro lavoro. Se in fase di sviluppo utilizzate Eclipse (ve lo consiglio caldamente), non avrete quasi mai bisogno di toccare la vostra installazione del server, perchè sarà Eclipse stesso ad avviare tomcat usando la directory del vostro progetto come root del webserver, facendo automaticamente il deploy della vostra applicazione, senza dover spostare i file nella cartella di installazione del server. Vedremo la cosa più in dettaglio nella sezione finale dedicata ad Eclipse. Configurazione Abbiamo installato tomcat, adesso dobbiamo capire come funziona. In $CATALINA_HOME vi sono varie cartelle; tra queste: webapps/: contiene le web application! è la cartella dove andremo a mettere le applicazioni che creeremo. Notare bene che questa cartella non funziona come la root di un tipico webserver (www o htdocs, ad esempio, per apache). Ogni web application va attentamente configurata tramite appositi file.xml, argomento che tratteremo in seguito nella sezione deployment. conf/: contiene file di configurazione per il server e le web applicatin pubblicate. Iniziamo con un po di configurazione di base: Riquadro 2 Cambiare la porta di default del server Installazione da repository Ubuntu: nella cartella conf/ aprite il file server.xml e trovate le seguenti righe: <Connector classname= org.apache. coyote.tomcat5.coyoteconnector port= 8180 minprocessors= 5 maxprocessors= 75 enablelookups= true acceptcount= 10 debug= 0 connectiontimeout= useurivalidationhack= false /> Modificate l attributo port cambiando il valore da 8180 a quello che preferite. Se tomcat è l unico server web che avete installato, può convenire usare la porta 80, così da non doverla specificare nel browser. Installazione tramite archivio scaricato: il file è lo stesso, le righe da modificare sono leggermente diverse non chiedetemi perchè <Connector port= 8080 maxhttpheadersize= 8192 maxthreads= 150 minsparethreads= 25 maxsparethreads= 75 enablelookups= false redirectport= 8443 acceptcount= 100 connectiontimeout= disableuploadtimeout= true /> Anche qui, modificate l attributo port. Abilitare l invoker servlet L invoker servlet, se attivata, permette di accedere alle web application sul server senza doverne fare il deployment, ovvero senza bisogno di definirne il context path e senza dover scrivere il file web.xml (ne parleremo in dettaglio nella sezione seguente). Personalmente comunque ne sconsiglio l utilizzo, si avranno problemi di portabilità. Per attivare l invoker servlet, aprite il file 14

16 Sistema conf/web.xml, e decommentate quanto segue: <servlet> <servlet-name>invoker</servlet-name> <servlet-class> org.apache.catalina. servlets.invokerservlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> Struttura di una web application: vediamo ora come deve essere organizzata la nostra applicazione. Per semplicità, facciamo riferimento alla figura: E decommentate, nello stesso file (un po di righe più in basso), anche il mapping relativo all invoker servlet: <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> Aggiungere amministratori per il tomcat manager Tomcat manager è un applicazione, accessibile dalla pagina iniziale di tomcat, che permette di monitorare e gestire le web application in esecuzione, e inoltre di fare il deploy automatico degli archivi.war. Per aggiungere un utente che possa utilizzare il manager, aprire il file conf/tomcat-users.xml e aggiungere quanto segue: <tomcat-users>... <role rolename= manager /> <user username= user password= password roles= tomcat,manager />... </tomcat-users> Deployment delle web application Per deployment di una web application si intende in sostanza la sua pubblicazione. Per poter essere pubblicata e risultare accessibile, un applicazione deve essere conforme ad un certo standard. Collocamento della web application: innanzitutto, le nostre web application, costituite da servlet e/o pagine jsp, devono essere collocate nella cartella webapps. Conviene porre ciascuna web application in una diversa sottocartella di webapps. Per esempio, creiamo un applicazione di prova, che collocheremo in webapps/ prova. Fondamentale è WEB-INF: questa cartella DEVE avere questo nome ed essere collocata proprio qui. Dentro di essa troviamo: 1. il file web.xml, il descrittore di deployment dell applicazione, che definisce le modalità di accesso all applicazione ed eventuali parametri iniziali. Ne parleremo in dettaglio fra poco. 2. la cartella classes: anche questa cartella è necessaria, e deve contenere le servlet compilate. Se una delle classi appartiene ad un package, bisogna collocarla in sottocartelle che rispecchino la struttura del package. Ad esempio, se TestServlet appartiene al package MyTest, allora TestServlet.class andrà collocata in classes/ MyTest. 3. la cartella src: opzionale, può essere comoda per tenere il sorgente dell applicazione durante lo sviluppo 4. la cartella lib: non in figura, anch essa opzionale, può contenere file o archivi java condivisi dall applicazione. Nella cartella principale vengono poi collocate le pagine jsp che eventualmente fanno parte dell applicazione. Il file welcome.html (o.jsp,.htm o altro) viene caricato di default se nel browser viene richiesto solo il context-path dell applicazione, cioè con una richiesta del tipo localhost:8080/context-path. Se tale file non c è, viene cercato un index.html htm jsp; se anche questo manca, viene visualizzata la pagina di errore

17 Sistema Context path della web application: collocare la web application, con tutta la sua struttura, in webapps non è sufficiente per renderla accessibile. Per rendere accessibili le nostre servlet e pagine JSP, bisogna definire correttamente il context path dell applicazione. Riprendiamo l esempio precedente: abbiamo messo i nostri file in webapps/prova. Andiamo allora in $CATALINA_HOME/conf/{Server Name}/{Host Name}, dove di solito {Server Name} è Catalina e {Host Name} è localhost. Creiamo un file prove.xml, nel quale definiremo il Context della web application, e in particolare l attributo che ci serve, il path: <Context path= /prova docbase= / usr/share/tomcat5/webapps/prova reloadable= true > </Context> L attributo path rappresenterà la directory (o percorso) di root della nostra applicazione. Notare che si tratta di un path virtuale, non deve per forza trovare riscontro nella struttura delle directory dell applicazione, anche se è comodo usare nomi simili per non confondersi. Al posto di /prova, avremmo potuto usare /test/prova1. Riprenderemo il discorso nel prossimo paragrafo, quando parleremo del descrittore di deployment. La docbase indica la posizione dei file nel filesystem. L attributo reloadable, messo a true, indica al server di ricaricare l applicazione se ci sono delle modifiche, senza dover riavviare tomcat. Vi sono molti alti parametri configurabili, per maggiori dettagli, fare riferimento al sito di Apache Tomcat: tomcat-5.5-doc/config/context.html <?xml version= 1.0 encoding= ISO ?> <web-app xmlns= sun.com/xml/ns/j2ee xmlns:xsi= w3.org/2001/xmlschema-instance xsi:schemalocation= sun.com/xml/ns/j2ee com/xml/ns/j2ee/web-app_2_4.xsd version= 2.4 > <display-name>applicazione di prova</display-name> <servlet> <servlet-name>provaservlet</ servlet-name> <servlet-class>testservlet</servlet-class> Descrittore di deployment: web.xml: questo file, da collocare in WEB-INF, mappa ciascuna servlet della web application in una url. Vediamo un esempio di base, con i parametri fondamentali: <init-param> <paramname>parametroprova</param-name> <paramvalue>ciao</param-value> </init-param> </servlet> <servlet-mapping> <servletname>provaservlet</servletname> <url-pattern>/test</urlpattern> </servlet-mapping> </web-app> Ricordiamo ancora che il context-path NON deve essere per forza verosimile. Tra le proprietà elencate in web.xml, fondamentale è l url-pattern associato alla servlet; esso rappresenta l url tramite il quale la servlet sarà accessibile, relativamente al context-path. Analogamente a quest ultimo, nemmeno l url-pattern deve necessariamente essere verosimile. Gli url complessivi per accedere alle servlet sono SEMPRE del tipo context-path/url-pattern. Per accedere alle pagine JSP: porta/context-path/percorso/nome-file. jsp, dove percorso è, stavolta, il path vero relativo alla root della web application. In sostanza, i file Jsp rimangono accessibili normalmente, non vanno mappati come le servlet. Nel nostro esempio, per accedere alla servlet TestServlet.class, dovremmo andare a Per accedere all index.jsp della figura, ci basterebbe andare a Se mettessimo index.jsp in una sottocartella, ad esempio pages, allora andremmo a Al posto di /Test, come url-pattern, avremmo potuto usarne uno del tutto inverosimile, ad esempio /servlet/prova/pippo/miotest e non avrebbe fatto alcuna differenza, basta che l url inserita nel browser corrisponda a quella complessiva che avete mappato. Può sembrare una cosa strana, ma è invece ben congeniata: su tomcat, solo quello che rendete esplicitamente pubblico è accessibile agli utenti, mentre sui tra- 16

18 Sistema dizionali server web, normalmente, tutto il contenuto di una cartella pubblica è accessibile. Cambiare la pagina di default e di errore 404: è possibile specificare, nel file web.xml, la pagina di default per la web-application e la pagina che viene visualizzata quando si verifica un errore http 404, cioè un not-found. Per fare questo, aggiungete quanto segue in web.xml (annidato dentro l elemento web-app, ovviamente): <welcome-file-list> <welcome-file>home.jsp</welcome-file> </welcome-file-list> <error-page> <error-code>404</error-code> <location>/error404.html</location> </error-page> Uso dell invoker servlet per il deployment: questa procedura può velocizzare il deployment delle applicazioni, cosa che può tornare utile in fase di sviluppo o di test, ma è in generale una soluzione che può generare problemi di portabilità. Se l invoker servlet è attivo, è possibile fare il deployment di un applicazione semplicemente collocando le servlet e le classi compilate (.class) in webapps/root/web-inf/classes. Non c è bisogno nè del file web.xml nè di definire il context path dal momento che questi sono già definiti per l invoker servlet e per la default servlet (vedere conf/web.xml). Una servlet così pubblicata è accessibile a servlet/nomeclasseservlet, dove NomeClasseServlet è il nome della classe a cui si vuole accedere, e servlet non è nient altro che l url pattern associato all invoker servlet. Ad esempio, riprendendo il caso precedente, se mettessimo la nostra TestServlet.class in ROOT/WEB- INF/classes, questa sarebbe accessibile come Eclipse & Tomcat Per chi non lo conoscesse, Eclipse è un IDE avanzato per lo sviluppo di applicazioni Java e, grazie ai sempre più numerosi plugin, C/C++, PHP. e quello che più ci interessa, ossia applicazioni J2EE. Potete scaricare Eclipse da Di default, vi viene proposto di scaricare Eclipse SDK, che consiste di circa 110 MB, e include vari plugin, tutorial, esempi, documentazione. Altrimenti, potete scaricare una versione essenziale dell IDE, di circa 33 MB, comprendente solo il supporto per lo sviluppo in Java (e altri plugin, tipo JUnit), e aggiungere successivamente i plugin che desiderate, recuperandoli attraverso l update manager di Eclipse. Questa seconda soluzione può essere più lunga, ma avrete un IDE più leggero e veloce a caricarsi. Per fare questo, andate alla pagina di download generale di Eclipse, dove trovate tutte le versioni disponibili, selezionate la build più recente e scorrete la pagina fino alla voce Platform Runtime Binary. Qui selezionate la versione che volete (quella per linux). Di seguito tratteremo come aggiungere i plugin per applicazioni J2EE. Aggiungere plugin J2EE: dal menu di Eclipse, scegliere Help Software Updates Find and Install. Spuntate la casella Web Tools Platform Updates e proseguite. A questo punto, sotto Web Tools Platform, selezionate tutte le componenti. Questo vi fornirà il supporto per creare progetti J2EE, servlet e pagine jsp. Per lo sviluppo di applicazioni J2EE, trovate un bellissimo tutorial qui. Non aggiungo altro, leggetevi il tutorial, spiega tutto! Debug: Eclipse vi permette anche di avviare il server in modalità Debug, per controllare cosa non va nelle vostre applicazioni. Per avviare la modalità debug, nel tab Servers (ne parla il tutorial accessibile dal link che ho messo nel paragrafo precedente) cliccate col tasto destro sul server tomcat, e selezionate Debug (se il server è fermo) o Restart Debug (se è già in esecuzione). Aspettate che la procedura di avvio sia completa, fissate i break point facendo doppio clic a sinistra delle linee di codice che volete monitorare, e aprite/ricaricate l applicazione sul browser. Automaticamente Eclipse passerà alla Debug Perspective, che vi permetterà di visualizzare il valore di tutte le variabili esistenti al momento dell esecuzione di ciascuno dei breakpoint. Marco Magnatti 17

19 Prologo - Sono quattro anni che utilizzi Debian, è mai possibile che non ti è MAI venuto in mente di ottimizzare le prestazioni grafiche della tua macchina installando gli appositi driver? - E che ci devo fare coi driver? Non uso Linux per giocare. - Non sai cosa ti perdi. - A dire la verità non saprei neanche da che punto incominciare... - Appunto! Sistema Accedere ai dati di un sistema che non si avvia - Io non lo voglio un desktop con effetti grafici tridimensionali canterini! A me va benissimo il mio GNOME, nero su grigio così come mamma l ha fatto. - Scansafatiche! Introduzione A volte mi trovo a discutere con Lemoeb. Quella volta ci trovavamo ad Aprilia 2, sotto il sole cocente tipico dell Agosto nell Agro Pontino. C è chi dopo pranzo schiaccia un pisolino e c è chi si fa una chiacchierata sulle OpenGL, sui driver delle schede grafiche, sull esistenzialismo o sulla teoria dell eliocentrismo dell universo. Quello che più mi da fastidio è che ha ragione: non ho mai avuto voglia di stare a smanettare per poter sfruttare al pieno le capacità della mia scheda video. Qualche giorno fa, forse per colpa di qualche strano fenomeno astronomico, ho deciso che avrei provato a installare i drivers per la mia nvidia GeForce. Ho seguito tutti i passi riportati nella guida Installare NVidia su Debian comparsa sul mitico TopoLinux anno 1 numero 1. Lo giuro, li ho seguiti tutti. Al riavvio però mi si è presentato davanti uno schermo completamente nero. Veniamo dunque allo scopo di questo articolo. 18 Come Accedere al Sistema in caso di Morte Apparente Quando, dopo aver lavorato ore e ore per configurare un particolare aspetto della propria macchina, all avvio ti trovi di fronte a una schermata nera, brutta, immobile e che non ti permette il classico Ctrl+Alt+F(1-12) per accedere a una shell, è normale sentirti salire la bile. Nonostante la prima reazione sia sbattere i pugni sulla tastiera tu, intrepido TopoLinaro, non devi fare altro che aprire il terzo cassetto della scrivania, agguantare il medikit incastrato con cautela tra il cacciavite a stella e il martello tedesco da 800 grammi e prepararti psicologicamente per risolvere il problema cum grano salis. Medikit Strumenti necessari: 1. 1 CD di una distribuzione Linux a scelta che permetta l installazione del sistema in modalità testuale. IMPORTANTE La distribuzione deve essere stata compilata per l architettura del processore della macchina su cui risiede il sistema Linux da riesumare. Io personalmente uso Slackware per processori a 32 bit e Slamd per processori a 64 bit. 2. Un minimo di esperienza con i comandi shell. Preparazione Per prima cosa devi avviare la macchina usando il CD della distribuzione Linux che hai scelto. Devi naturalmente aver impostato l opzione che permette l avvio della macchina da CD attraverso la configurazione del BIOS. Successivamente devi seguire le istruzioni fornite dalla procedura di avvio di installazione della suddetta distribuzione fino al punto in cui ci ti presenta davanti una bella shell da cui poter impartire dei comandi alla macchina. Come già specificato, personalmente consiglio di usare una Slackware perché le uniche due

20 Sistema istruzioni da seguire sono l impostazione della lingua da utilizzare durante l installazione e della lingua della tastiera con cui stiamo lavorando. Quasi istantaneamente, poi, compare il login che effettueremo da root e eccoti la tua tanto agognata shell! A questo punto ti devi ricordare quale partizione di quale Hard Disk contiene i dati del sistema Linux da riesumare. Qualora ti fosse difficile ricordare, un bel fdisk /dev/hdx Dove X può essere a, b, c, ecc a seconda se si tratti del primo, del secondo, del terzo, ecc Hard Disk IDE. Nel caso di Hard Disk SCSI invece la sintassi diventa fdisk /dev/sdx Per maggiori informazioni sugli Hard Disk ti rimando all articolo Partizionare i Dischi anno 3 numero 3 di TopoLinux. Dopo aver lanciato fdisk, ti si presenta una schermata di questo tipo: DebianBox-B:/home/joe# fdisk /dev/sda The number of cylinders for this disk is set to There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): A questo punto digita p e premi INVIO: Command (m for help): p Disk /dev/sda: GB, bytes 255 heads, 63 sectors/track, cylinders Units = cylinders of * 512 = bytes Device Boot Start End Blocks Id System /dev/sda Linux swap / Solaris /dev/sda2 * FAT16 /dev/sda HPFS/NTFS /dev/sda Linux Partition table entries are not in disk order Nel mio caso si tratta del primo disco SCSI e il sistema Linux da riesumare si trova dentro la partizione /dev/sda4 (come da figura). Procedura Crea una cartella mkdir /mnt/joernano Al riavvio del PC la cartella verrà cancellata. Montaci dentro la partizione contenente il sistema Linux da riesumare mount /dev/sda4 /mnt/joernano Usa il chroot sulla cartella chroot /mnt/joernano Il comando chroot serve per impostare come directory root (la directory / ovvero quella da cui partono le varie /etc, /usr, /var, ecc.) la cartella specificata dopo il comando. Il comando chroot è estremamente utile perché, cambiando la directory root utilizzata, permette di avere a portata di mano tutti i comandi e i programmi che si trovano installati sul sistema Linux montato nella cartella /mnt/joernano. Potrai perciò facilmente accedere ai file che devi modificare per risolvere il tuo problema. Semplificando, nel mio caso stavo riesumando una Debian e dovevo andare a modificare il file di configurazione di Xorg. Senza usare chroot avrei dovuto usare il percorso /mnt/joernano/etc/x11/xorg.conf per accedere a xorg. conf. Usando il chroot: impostando come root (/) la cartella /mnt/joernano vi accedevo direttamente attraverso il percorso /etc/x11/xorg. conf. N.B. Qualora il comando chroot dovesse dare il seguente errore: chroot: cannot execute /bin/ bash: No such file or directory Molto probabilmente vuol dire che la distribuzione che stai usando non contiene pacchetti compilati per l architettura del processore della tua macchina. Usando una distribuzione corretta il suddetto errore non dovrebbe comparire. 19

21 Sistema Conclusione In questo articolo non ho spiegato come riesumare un sistema che non si avvia: sarebbe stato impossibile trattare ogni singolo caso e ipotizzare per ognuno una soluzione. Mi sono invece limitato a illustrare una semplice procedura per accedere ai dati di un sistema operativo che non si avvia. La soluzione al problema dipende per prima cosa dal problema in se. Non sono Wolf, non risolvo problemi. Ti offro solo un metodo che ti possa aiutare nel risparmiare i soldi che spenderesti per ogni tastiera rotta in preda alla rabbia. Usalo con saggezza. 20 JoErNano

22 Inkscape - Parte 2 Salve a tutti maniaci del vettoriale! Vi siete esercitati un po in questo mese di pausa? Bene, perché oggi inizieremo il primo progetto complesso di questa serie di tutorial: creare una serie di pulsanti per il nostro sito. Perché chiamiamo questo un progetto? Semplice: perché in questa lunga serie di tutorial su Inkscape, ci concentreremo ogni volta su un progetto specifico e cercando di raggiungere il nostro risultato impareremo tecniche e trucchi di questo meraviglioso programma. L ultimissima puntata del tutorial, poi, conterrà una serie di Tavole di riferimento complete di scorciatoie e trucchi, che potrete stampare e tenere a portata di mano per facilitare il vostro lavoro. Una mano qui e l altra là Prima di iniziare il nostro progetto sarà bene spendere due parole sulla filosofia che sta dietro all interfaccia di Inkscape. Inkscape, infatti, è progettato per permettere di lavorare tenendo sempre una mano sul mouse e l altra sulla tastiera: ogni pulsante ha la sua combinazione di tasti. I tasti della barra degli strumenti, ad esempio, sono tutte attivabili velocemente usando: 1. seleziona e trasforma oggetti (F1) 2. modifica nodi del tracciato o maniglie di controllo (F2) 3. ingrandisci o rimpicciolisci (F3) 4. rettangoli e quadrati (F4) 5. cerchi ellissi e archi (F5) 6. stelle e poligoni (*) 7. spirali (F9) e così via. D ora in poi utilizzeremo spesso queste scorciatoie per velocizzare il nostro lavoro. Progetto 1: pulsanti per il web Ambiente Desktop Scopo del progetto: creare una serie di pulsanti per il web utilizzando la grafica vettoriale. Durata: circa un ora Livello: facile Requisiti: conoscenza di base dell interfaccia di Inkscape e tanta tanta pazienza... Passo 1: impostiamo la pagina Come in ogni programma di grafica che si rispetti, anche Inkscape ci permette di definire alcune proprietà della pagina su cui lavoreremo. Iniziamo quindi premendo MAIUSC-CTRL-D o andando nel menù File -> Proprietà del documento e decidiamo quale sarà la dimensione dei tasti che creeremo. La finestra che abbiamo davanti ci permette di definire molte cose. Innanzitutto troviamo l unità di misura predefinita per questo disegno. Lasciamola pure su px cioè pixel. Segue il colore di sfondo della pagina. I colori in Inkscape sono sempre espressi con 4 numeri esadecimali. Sì avete capito bene quattro e non tre: i primi tre numeri esadecimali (come sul web) indicano i valori di rosso verde e blu, l ultimo la trasparenza, dove 00 è completamente trasparente e FF è completamente opaco. Lasciamo pure il colore di sfondo su trasparente e spostiamoci poco sotto. 21

23 Ambiente Desktop Nella sezione Formato possiamo scegliere tra una serie di dimensioni predefinite o specificare le nostre. Inseriamo come dimensioni 190 px per la larghezza e 45 per l altezza, tralasciando il resto. In questa sezione c è anche un tasto molto interessante Adatta la pagina della selezione (dovrebbe essere alla selezione... avvertiremo i traduttori italiani). Questo tasto ridimensiona automaticamente la pagina in base agli oggetti selezionati nella finestra di disegno. Ora non ne abbiamo bisogno, ma tenetelo a mente perché ci torneremo alla fine del progetto. Nella sezione Bordo possiamo scegliere se visualizzare i bordi e l ombra della pagina: sono impostazioni che influiscono solo sulla finestra di disegno e non vengono mai trasferite nel disegno stesso. Scegliete quindi ciò che più vi piace. Passo 2: la forma base Stiamo creando una serie di pulsanti, quindi avranno tutti lo stesso sfondo e la stessa forma. Passiamo quindi a creare la forma base comune a tutti i pulsanti. Spostiamoci nella finestra di disegno e attiviamo la forma rettangoli (F4), poi clicchiamo e trasciniamo per creare un rettangolo che sia il più possibile grande come la pagina Per dare le misure esatte al rettangolo useremo le caselle numeriche nella barra di controllo dello strumento rettangolo. Impostiamo come larghezza 190, come altezza 45 e come arrotondamento (Rx e Ry) 10. Controlliamo di non aver impostato un bordo e nel caso eliminiamolo cliccando col tasto destro sul colore del bordo (nell angolo in basso a sinistra della finestra, accanto alla lettera S: ) e scegliendo Rimuovi contorno. Ora premiamo F1 per passare allo strumento seleziona e trasforma oggetti e mantenendo selezionato il nostro rettangolo inseriamo 0 come valore per x e y nella barra di controllo. Avete capito cosa abbiamo fatto? Dopo aver dato delle misure precise al rettangolo abbiamo detto a Inkscape di posizionarlo nel punto 0,0 del foglio, così ora siamo sicuri che il rettangolo in questione sia grande esattamente come la pagina e sia tutto contenuto in essa. Passo 3: bordi in 3D Ora viene la parte più difficile: creare l effetto tridimensionale. Mantenendo selezionato il rettangolo premiamo il pulsante crea e modifica i gradienti (CTRL-F1 ma potrebbe non funzionare su KDE) e tracciamo una linea obliqua sopra al rettangolo, come mostrato qui sotto Poi premiamo il pulsante Modifica nella barra di controllo di questo strumento. Abbiamo appena aperto la finestra di modifica di un gradiente. Come primo colore scegliamo il bianco, poi premiamo sulla tendina sopra ai pulsanti aggiungi passaggio e rimuovi passaggio e selezioniamo il secondo colore. Come secondo colore scegliamo il nero. Mi raccomando: verificate che i colori siano completamente opachi, cioè che l ultima casella numerica sia impostata a

24 Ambiente Desktop Ora torniamo allo strumento di selezione (F1) e premiamo CTRL-D oppure il tasto DUE VOL- TE per creare due duplicati di questo rettangolo. Uno dei due duplicati muoviamolo fuori del foglio da qualche parte, perché per ora non ci servirà, poi selezioniamo l altro. È il momento di scegliere il colore che daremo ai nostri pulsanti. Se avessimo fretta potremmo premere su uno dei colori che vedete in basso sotto alla finestra di disegno per assegnarlo al rettangolo selezionato, ma non abbiamo fretta, quindi clicchiamo sul rettangolo col tasto destro del mouse e scegliamo Riempimento e contorni per impostarlo a mano. Nella sezione Riempimento premiamo il pulsante colore unico e impostiamo nella casella RGBA il valore 3771c8ff per ottenere un bell azzurro. Prima di chiudere questa finestra spostiamoci nella casella Sfocatura ed inseriamo 20 Ora verifichiamo di avere ancora lo strumento seleziona e trasforma oggetti e nella barra ci controllo assegniamo i valori 185 a W (larghezza) e 40 a H (altezza). Sì avete capito bene: stiamo ridimensionando questo rettangolo colorato. Per centrarlo sulla pagina useremo lo strumento Allinea e distribuisce oggetti (MAIUSC-CTRL- A), impostando relativo a su pagina e premendo entrambi i tasti selezionati nella figura qui sotto Ciò che abbiamo ottenuto è un rettangolo che da un colore pieno al centro sfuma verso i bordi, lasciando intravedere il colore del rettangolo sottostante (il gradiente nero-bianco) e dando quindi l impressione della tridimensionalità. Però c è un problema: la sfumatura continua anche oltre ai bordi della pagina e non è bella da vedere. Per evitare che questo accada useremo uno strumento assai potente ma poco conosciuto di Inkscape: il fissaggio (o clipping in inglese) Il fissaggio funziona un po come una mascherina di cartone ritagliata: selezionando più oggetti e impostando il fissaggio, tutto ciò che non rientra nell area dell oggetto più in alto diventerà invisibile. Se non avete capito non preoccupatevi con la pratica vi sarà tutto più chiaro... Prendete il duplicato del rettangolo che avevate spostato fuori dal disegno e tanto per essere chiari dategli un colore assurdo come ad esempio fuxia, poi centratelo sulla pagina usando Allinea e distribuisce oggetti Dovreste ottenere qualcosa come in questa figura: il rettangolo fuxia è sopra a tutti gli altri e si intravede solo la sfumatura del rettangolo sottostante. 23

25 Ora premete CTRL-A (seleziona tutto) e dal menù Oggetto scegliete Fissaggio -> imposta. MAGIA! Ambiente Desktop Avete capito cosa è successo? Tutto quello che era fuori dal rettangolo fuxia, cioè i bordi sfumati che uscivano dal disegno, è stato nascosto. Siccome stiamo lavorando in vettoriale è ancora possibile modificare la sfumatura, il colore e tutto il resto, abbiamo solo impostato una sorta di mascherina che nasconde tutto ciò che non era compreso nel rettangolo fuxia. Ora abbiamo davvero un tasto 3d, non ci resta che aggiungere qualche icona e i testi dei nostri pulsanti e lo faremo utilizzando i livelli. Passo 4: I livelli Se avete già usato The Gimp o un programma di grafica simile, saprete già cosa sono i livelli. Se non lo sapete vi basterà pensare ai livelli come a fogli trasparenti appoggiati l uno sull altro: mentre disegnate su un livello tutto ciò che è sugli altri livelli non viene toccato, ma ovviamente ciò che sta su un livello inferiore viene coperto dal disegno di quello superiore. Anche Inkscape possiede i livelli. Se guardate in basso a sinistra nella vostra finestra, infatti, vedrete scritto Livello 1 : è il nome di default del primo livello di Inkscape. Prima di creare altri livelli diamogli un nome più significativo: andiamo nel menù Livello, scegliamo rinomina livello e diamo come nome pulsante. Poi premiamo il tasto a forma di lucchetto a fianco del nome per bloccare il livello, in questo modo eviteremo di danneggiare questo piccolo capolavoro che è il nostro pulsante 3d. Ora possiamo creare un nuovo livello (Livello -> Aggiungi livello) e dargli come nome... download Selezioniamo lo strumento Crea e modifica gli oggetti testuali (F8) e impostiamo nella bara di controllo il font Sans, dimensione 18, grassetto. Poi clicchiamo sull area del pulsante e inseriamo il testo DOWNLOAD, quindi rendiamolo di colore bianco cliccando sul colore bianco nella barra dei colori in basso. Per ora non preoccupiamoci troppo del posizionamento e pensiamo piuttosto all icona per questo tasto download. Per nostra fortuna il sito possiede una enorme collezione di immagini vettoriali liberamente riutilizzabili. Per questa icona abbiamo scelto l immagine di Selanit rilasciata sotto Public Domain e disponibile a questo indirizzo: org/xiph/files/selanit/3298 Salviamola sul nostro disco ed apriamola con Inkscape (si aprirà una nuova finestra). Questa immagine è composta, ovviamente, da molti pezzi. Prima di copiarla e incollarla nel nostro disegno, quindi, selezioniamo tutto (CTRL- A) e raggruppiamo tutto premendo il tasto Raggruppa gli oggetti selezionati (CTRL-G) Quindi con il solito CTRL-C e CTRL-V incolliamo l immagine nel nostro disegno. Per ridimensionarla mantenendo le proporzioni prendiamo la freccia diagonale in alto a destra e tenendo premuto CTRL ingrandiamo l immagine fino ad ottenere qualcosa di simile alla figura qui sotto poi correggiamo il testo spostandolo come più ci piace e allineandolo verticalmente al centro con lo strumento di allineamento richiamabile con CTRL-A. Ora blocchiamo il livello e nascondiamolo premendo sull occhio a fianco del lucchetto. Poi creiamone un altro chiamato guestbook e utilizzando le stesse tecniche e l immagine di Ausis disponibile all indirizzo: creiamo un pulsante come questo: Passo 5: Pulsanti a volontà Possiamo andare avanti creando altri pulsanti 24

26 per il nostro sito. Personalmente ho provato a creare pulsanti utilizzando queste immagini (tutte rilasciate come Public Domain): Pulsante Contatti org/media/files/ernes/ Nessun bisogno di raggruppare prima di copiare, ho ruotato l immagine un poco Pulsante Notizie org/sombanners/tags/noticias - Nessun bisogno di raggruppare prima di copiare Pulsante Galleria org/xiph/files/valessiobrito/ Nessun bisogno di raggruppare, ho ruotato l immagine. Vi prego di notare l ombra del pennello che si adatterà perfettamente alla superficie del tasto. Pulsante Links media/files/barretr/ Nessun bisogno di raggruppare Passo 6: Esportare in PNG Quando avremo finito di creare tutti i nostri pulsanti ci rimarranno due ultimi passaggi da fare: ridimensionare la pagina in modo che comprenda ogni elemento del disegno e creare le immagini PNG finali che useremo nel sito (visto che le immagini SVG sono poco supportate dai browser) Per ridimensionare la pagina facciamo così: sblocchiamo tutti i livelli andiamo su Modifica -> Seleziona tutto in ogni livello apriamo la finestra delle Proprietà del documento (MAIUSC-CTRL-D) e premiamo il pulsante che avevamo visto all inizio, quello con la scritta Adatta la pagina della selezione A questo punto non resta che rendere visibile un livello per volta (mantenendo ovviamente il livello pulsante sempre visibile), premere MAIUSC-CTRL-E, selezionare Pagina (e non Disegno!) e scegliere un nome per ciascuna PNG che vogliamo creare. Come tutte le finestre in Inkscape, anche quella dell esportazione del disegno non ci impedisce di continuare a lavorare nelle altre, quindi possiamo nascondere e rendere visibili i vari livelli senza doverla riaprire ogni volta per esportare la nuova PNG. 25 Ambiente Desktop Alla fine salviamo l immagine vettoriale con CTRL-S o dal menù File in modo da mantenere una copia di lavoro in caso dovessimo fare altri pulsanti. Conclusione In questa puntata abbiamo visto come impostare le Proprietà del documento, come utilizzare la barra di controllo degli strumenti per dare valori numerici precisi alle nostre forme, come allineare e raggruppare gli oggetti e come utilizzare i livelli. Abbiamo inoltre creato il nostro primo gradiente e abbiamo utilizzato il Fissaggio, una tecnica poco conosciuta ma estremamente potente, soprattutto se usata in congiunzione con la sfumatura di una forma. Ma soprattutto abbiamo usato Inkscape e lo abbiamo usato tanto, e siccome l esercizio e la pratica portano l uomo alla perfezione, mi raccomando: continuate ad esercitarvi! Cosa vi aspetta nel prossimo tutorial? Non sono ancora sicuro... forse un incredibile progetto basato su cloni, spirali e arabeschi, forse la realizzazione di un logo a mano libera utilizzando i tracciati curiosi? Beh non vi resta che aspettare la prossima puntata :-) CoD

27 Ambiente Desktop Connettersi ad Internet con un cellulare Bluetooth In questa guida spiegherò brevemente come connettersi ad internet utilizzando un cellulare GPRS/UMTS connesso via Bluetooth alla nostra adorata Linux Box. Il primo passo è procurarsi l indirizzo fisico del nostro cellulare, quindi lanciamo un bel hcitool scan per scoprirlo. Otterremo un output simile a questo 00:19:2D:12:30:FF Luca, il primo risultato è l indirizzo fisico del cellulare, il secondo è il nome assegnato. Io, con fantasia estrema, ho chiamato Luca il mio cellulare. Annotiamoci il numero da qualche parte, ci servirà tra un attimo. Come root (quindi utilizzando sudo con *buntu e su con le altre distro), editiamo il file /etc/bluetooth/rfcomm.conf con il nostro editor preferito, e inseriamo queste righe: rfcomm0 { # Questo serve per indicare al nostro # computer di assegnare un device al # cellulare all avvio bind yes; # Questo è l indirizzo fisico di # prima device 00:19:2D:12:30:FF # Questo è il canale per la # connessione channel 1; # Questa è la descrizione arbitraria # del dispositivo. Puoi anche # lasciarlo vuoto. comment Nokia N70 ; } A questo punto è necessario riavviare il servizio Bluetooth, con molte distro è sufficiente un /etc/init.d/bluetooth restart lanciato come root, se siamo troppo pigri per farlo basta riavviare. Il prossimo passo è impostare i dati per la connessione vera e propria. Lanciamo come root pppconfig, e selezioniamo la voce create, la prima. Lasciamo provider come nome della connessione e proseguiamo. Selezioniamo con dynamic come tipo di DNS (con spazio si seleziona la voce), quindi premiamo invio per passare al passo successivo Bisogna ora selezionare PAP come metodo di autenticazione, quindi proseguiamo. 26

28 Ambiente Desktop In questo passaggio bisogna specificare la propria volontà di inserire manualmente il dispositivo con il quale effettuare il collegamento, quindi rispondiamo no alla proposta di usare il rilevamento automatico. A questo punto si deve inserire il nome utente per la connessione, che per la maggior parte degli operatori telefonici è ininfluente, tanto ci fanno pagare lo stesso :D quindi inseriamo qualsiasi cosa e proseguiamo. Ora specifichiamo il device /dev/rfcomm0 e andiamo avanti. Apparirà una schermata riepilogativa, salviamo la configurazione premendo Finished Stesso discorso per la password, qualsiasi cosa scriviate va bene. Lasciamo il valore di default come velocità della porta e proseguiamo. Anche in questo passo lasciamo l opzione predefinita, cioè Tone e andiamo avanti. Ecco, adesso bisogna inserire il numero da comporre per la connessione. Nei cellulari Nokia (e se non sbaglio anche Sony-Ericsson) bisogna inserire *99# per indicare l intenzione di usare il GRPS/UMTS. Per le altre marche sarà sufficiente una breve ricerca su internet per scoprire il numero adatto. Infine una schermata ci dà alcune informazioni tecniche che possiamo tranquillamente ignorare e proseguire. Usciamo allora da pppconfig premendo Quit. 27 A questo punto, se tutto è andato a buon fine, basterà lanciare pon per iniziare la connessione

29 Ambiente Desktop e poff per disconnettersi. Ah, fate bene attenzione alle tariffe per la navigazione web, sono davvero alte. L anno scorso avevo attivato Internet GPRS in libertà della Vodafone, che a fronte della spesa di 20 euro per l attivazione forniva 500 Mb di traffico (upload compreso) da utilizzare in 30 giorni, il traffico extra si paga normalmente 0.6 cent/kb. Perché aggiungo questo? Per quello che è successo dopo. La promozione doveva scadere il 5 settembre, se non sbaglio. Ebbene, il 5 settembre alle 3 del pomeriggio mi connetto, gironzolo un po per il web e quindi mi disconnetto. In serata controllo il traffico disponibile: 0,74 euro, ultimo addebito poco più di 40 euro. Cosa?! E la promozione?! Come mi ha risposto una simpatica (?) signorina del 190, era finita a mezzogiorno e dieci, perché io l avevo attivata a mezzogiorno e 10. Ovviamente dell ora della scadenza non si faceva menzione da nessuna parte. E io non ho mai più rivisto i miei 40 euro. State in guardia. 28

30 DDos Attacco & Difesa Terza ed ultima parte Attacchi d amplificazione Non tutti hanno a disposizione una quantità di banda tale da poter, con un attacco flooding, mettere in ginocchio grandi colossi come Yahoo! o AOL, quindi già da tempo sono state messe a punto delle tecniche che richiedono un numero minore di pacchetti rispetto al SYN Flooding per esaurire le risorse di un sistema. Le tecniche usate vengono chiamate Smurf e Fraggle e si basano entrambe su una rete amplificatrice. Smurf Lo smurfing sfrutta un broadcast ping, ovvero un pacchetto ICMP spedito all indirizzo di broadcast di una rete per generare un flusso di ping di ritorno veramente pericoloso. Esso si basa sulla cattiva configurazione della rete amplificatrice che risponde ad un ping effettuato all indirizzo di broadcast. L attaccante modifica il campo mittente dei pacchetti che trasmette con l indirizzo IP della vittima usando lo spoofing e comincia a spedire quanti più pacchetti può verso l indirizzo di broadcast della rete amplificatrice. Questi verranno inoltrati a tutti gli host attivi che invieranno pacchetti di risposta echi ICMP alla vittima, generando un traffico notevole. Per fare un esempio ipotizziamo che l attaccante abbia un modem analogico e riesca a generare 33,600 Kbit di traffico al secondo. Ha a disposizione una (o più) reti amplificatrici con 100 host. Il traffico che la vittima riceve è circa 100 volte maggiore di quello che genera l attaccante, cioè 3,36 Mbit al secondo. Fraggle Questo tipo di attacco utilizza la stessa tecnica dello smurf ma utilizza pacchetti UDP anziché ICMP. Se l host attaccato è configurato, alla ricezione di un pacchetto UDP risponde con un altro pacchetto UDP echo reply. Nel caso in cui, invece, l host non sia configurato, risponde con un pacchetto unreachable. Il vantaggio del Fraggle è che indipendentemente dalla configurazione dell host, genera in ogni caso traffico, e funziona anche nelle reti che non permettono il ping broadcast. Sicurezza Tecniche di attacchi DDoS Obiettivo primario di un attaccante è quello di non esporsi direttamente, dato che per le forze dell ordine sarebbe semplice risalire ai computer utilizzati per l attacco vista l enorme mole di traffico generato. Inoltre c è la necessità di reclutare computer (slave agent) per eseguire l attacco distribuito. Ottenere il controllo di una rete Il primo passo da seguire è individuare una rete di computer vulnerabile e ottenerne il controllo. Per far ciò è possibile sfruttare le potenzialità di numerosi software, quali worms, virus, troyan, rootkit, il cui compito è quello di fornire il controllo remoto della macchina e fornire backdoor utili all attaccante per poter installare programmi ad hoc. Questo tipo di attacchi sono noti con il nome di semi-automatici. In alcuni casi la comunicazione tra i software avviene in modo diretto: l indirizzo dell handler (macchina che svolge da server) è inserito nel codice che viene successivamente installato sullo slave. Ogni slave riferisce la propria disponibilità all handler che salva l indirizzo IP su un file per le future comunicazioni. Ovviamente quest approccio non è dei più convenienti, poiché la scoperta di una macchina porta all esposizione di un intera rete, inoltre handler e slave restando in ascolto di connessioni e quindi sono facilmente identificabili da scanner di rete. In altri casi la comunicazione avviene in modo indiretto: recenti attacchi forniscono un esempio d uso di reti IRC per la comunicazione tra handler e slave. Quello di IRC è solo un esempio di come un attaccante può utilizzare servizi legittimi per scopo che non lo sono. Nel caso la comunicazione avvenga in modo indiretto, c è sempre la possibilità per l attaccante di essere scoperto. Per questo motivo si usa una variante chiamata attacchi automatici. La data, la durata e l indirizzo della vittima sono pre-programmati nel codice del software usato. In questo modo si evita la comunicazione tra 29

31 Sicurezza l attaccante e le macchine che fanno da slave agent. Inoltre, essendo un processo automatizzato, un attaccante è capace di compromettere ed installare tool su un singolo host in meno di 5 secondi. In altre parole, migliaia di host possono essere infettati in meno di un ora. La propagazione del codice maligno può avvenire in svariati modi: Origine singola: il codice risiede su uno o più server centrali. Dopo l infiltrazione, il codice è spedito tramite meccanismi di file transfer. Il worm li0n opera in questo modo. Propagazione con Back-chaining: il codice viene scaricato inizialmente dalla macchina infettata per prima. Di volta in volta la nuova macchina infettata diventa la sorgente di propagazione. In questo modo si evita che con la scoperta della macchina sorgente si blocchi l infezione dell intera rete. I worm Ramen e Morris hanno usato questa tecnica di propagazione. Propagazione autonoma: le istruzioni di attacco sono introdotte nell host bersaglio direttamente in fase di exploit. Code Red, Wharol Worm e la maggior parte dei virus basati su utilizza questa tecnica. Soluzioni Prevenzione e protezione Possiamo distinguere due sottocategorie di protezione: meccanismi di protezione del sistema e meccanismi di protezione del protocollo. Meccanismi di protezione del sistema Sono quelli volti ad aumentare il livello generale di sicurezza del sistema, puntando l attenzione sugli accessi illegittimi al sistema, alla rimozione dei bug del software, al costante aggiornamento del sistema e all identificazione di eventuali software maligni. Altri esempi di meccanismi di difesa del sistema includono: accesso monitorizzato virus scanner sistemi con supporto per le capability sistemi client-ligitimacy-based La storia insegna che non esiste una macchina protetta al 100%, ma facendo un buon lavoro è sicuramente possibile ridurre frequenza e forza degli attacchi DDoS. Meccanismi di protezione del protocollo Sono quelli rivolti alla risoluzione del problema della cattiva progettazione del protocollo di comunicazione. Molti protocolli contengono operazioni che risultano essere di poco costo per il client ma dispendiose per il server. In questi casi iniziando una larga serie di richieste simultanee le risorse tendono ad esaurirsi facilmente. Esempi classici sono gli attacchi TCP SYN, gli attacchi a server d autenticazione e gli attacchi basati sulla malformazione del pacchetto IP. Firewall I firewall furono il primo passo verso il miglioramento della sicurezza. Il principio fondamentale è quello di limitare la disponibilità di connessioni TCP e UDP. Per fare ciò si limita l accesso a determinate porte e si generano lunghi log di sistema dove si trovano le informazione su tutte le connessioni accettate e non accettate. Negli ultimi anni è in via di sviluppo un nuovo tipo di firewall: stateful inspection firewall. Un firewall di questo tipo controlla l header di un pacchetto e prende decisioni basate su un set di regole. La decisione di bloccare o consentire un accesso è applicata a tutti i pacchetti seguenti della sessione (una sessione è definita da una sorgente, una destinazione, un protocollo e un timer). Il corrente scopo è quello di sviluppare uno scanner che sia capace di lavorare in tempo reale ed applicare politiche di sicurezza bastate su contenuti,sorgente,destinazione e porta dell applicazione; essenzialmente distinguere buoni e cattivi pacchetti ispezionando in profondità il pacchetto stesso. Purtroppo oggi questo tipo di ispezione risulta ancora inefficiente poiché spesso analizzare un pacchetto richiede molto tempo e rallenta troppo lo smistamento dei pacchetti. Esempi possono essere: puzzle auction proxy servers Sviluppare un sistema di sicurezza del protocollo può rendere la vittima totalmente immune agli attacchi basati su exploit del protocollo. Natural- 30

32 Sicurezza mente questi approcci sono compatibili e complementari a tutti gli altri. Cercare di prevenire la possibilità di un attacco DDoS risulta essere spesso una mossa risolutiva che però non sempre è facile mettere in pratica. La prevenzione si basa essenzialmente sulla modifica della configurazione di sistema per eliminare ogni possibilità di attacco DDoS. Metodi di intercettazione I metodi principali per l intercettazione di un attacco DoS sono 3: controllare l uso della CPU, controllare l uso della banda, e la creazione di ACLs (Access List). Tramite un monitoraggio costante dell uso della CPU, ci si può accorgere se il computer è impegnato ad eseguire operazioni che nella norma non richiedono una tale percentuale d uso della CPU; questo è possibile, ad esempio, se il pc è vittima di una serie di richieste di operazioni che hanno priorità sull uso della CPU e rischiando di mandare in starvation processi importanti per il corretto funzionamento, ma che hanno priorità minore sull accesso alla CPU rispetto ai processi che la stanno occupando. Tramite l utilizzo di un NetFlow è possibile monitorare la quantità di traffico di rete in modo da evitare che, in presenza di elevati pacchetti magari in seguito ad un attacco SYN Flood, le risorse di rete della vittima non riescano più a svolgere il loro normale lavoro perché impegnate a rispondere a richieste di connessione. Utilizzando poi un ACL (Access List) è possibile non solo monitorare il tipo di pacchetti in uscita, in modo da potersi accorgere dell attacco in corso, ma anche del tipo di tale attacco, come ad esempio un elevato invio di pacchetti di tipo ICMP_REPLY, sono di risposta ad un elevata richiesta di pacchetti ICMP_REQUEST, e ciò denota un attacco ICMP Ping Flood. I datagrammi ICMP (Internet Control Message Protocol) vengono spesso utilizzati per attacchi DoS, in quanto servono per segnalare eventi speciali come la non raggiungibilità di un host, una redirezione di traffico, un controllo di congestione o la raggiungibilità di un host della rete. Il vantaggio nell utilizzo di un ACL è la possibilità di redirezionare il traffico in ingresso proveniente da host che stanno inondando la vittima di richieste, verso un Blackhole Router, cioè verso un indirizzo non usato. BackTracing dell attacco DoS Per fare il backtracing di un attacco DoS bisogna innanzitutto vedere se il prefisso sorgente dell attacco è nascosto. Se non è nascosto si può procedere tramite: Utilizzo delle routing table Utilizzo dell'internet Routing Registry (IRR) Contattando direttamente la sorgente dell'attacco Se l'ip sorgente dell'attacco è nascosto, si procede tramite i seguenti metodi: Operando un trace dei pacchetti attraverso la rete Rintracciare l'isp da cui passano i pacchetti dell'attacco Continuando il trace descritto nei primi due punti fino ad arrivare all'ip sorgente Nel primo caso, è molto semplice rintracciare la sorgente dell'attacco semplicemente controllando le routing table interne per trovare l'ip da cui proviene l'attacco, ma nella maggior parte degli attacchi vengono utilizzati dei proxy che permettono di nascondere l'ip da cui l'attacco proviene; in tal caso si procede con l'interrogare le routing table dei router da cui l'attacco proviene, e tale operazione va eseguita in modo ricorsivo fino ad arrivare alla sorgente dell'attacco, continuando di volta in volta il backtracing sull'ip del router trovato da quello eseguito in precedenza. In tal modo si arriva a rintracciare l'ip e il MAC address del pc attaccante, ma, come spesso accade, questa non è un operazione semplice da effettuare, a causa dei notevoli redirezionamenti da parte di chi attacca, e controllare di volta in volta le routing table di tutti i router utilizzati nell'attacco può rivelarsi una operazione molto costosa. Difesa proattiva Analizziamo ora le principali difese contro i Denial of Service. Difesa basata sul filtraggio dei pacchetti Questo tipo di difesa è stato uno dei primi proposti contro gli attacchi DoS, e consiste nell inserire dei filtri degli IP di ingresso in tutti i punti 31

33 Sicurezza di accesso della rete che si vuole proteggere. Questo permette di prevenire che eventuali attaccanti inseriscano IP arbitrari nei pacchetti coinvolti nell attacco e inoltre riduce i tipi di attacchi che possono essere lanciati nei confronti della rete in questione. Tale tecnica è stata utilizzata per diversi anni, ma col passare del tempo è divenuta sempre più inefficace, poiché adesso attacchi DoS vengono lanciati su larga scala con un elevato numero di hosts e l IP sorgente di tale attacco non è mai visibile ai router di ingresso della rete sotto attacco. Metodi di difesa contro Ping Flood Attack La dimensione di un pacchetto ping, specificata dal livello IP, è di 64KB. L attacco si basa proprio sulla dimensione di 64KB, infatti, alcuni sistemi possono andare in crash o in reboot in presenza di pacchetti di dimensione maggiore ai 64KB. L host attaccato è costretto a rispondere a numerose richieste ICMP ECHO_REQUEST con messaggi di risposta ICMP ECHO_REPLY. Una possibile soluzione consiste nel far sì che l host sotto attacco ignori le richieste ICMP di dimensioni maggiori ai 64KB. Fortunatamente questo tipo di attacco ha successo solo se tra l host attaccante e la vittima dell attacco c è una banda sufficiente a mandare una notevole quantità di richieste ICMP. Metodi di difesa contro Smurf Attack Le difese possibili contro tali attacchi sono di configurare il sistema sotto attacco in modo che non risponda a datagrammi ICMP diretti in broadcast verso una sottorete. Molti sistemi operativi permettono di abilitare o disabilitare la possibilità da parte dell host di rispondere in broadcast ad ICMP ECHO_REQUEST, inoltre si possono impostare i router della propria rete in modo che non siano usati per attaccare altre reti, bloccando il traffico IP in broadcast. Si può anche impostare un limite al traffico ICMP che può essere presente in una rete in un certo intervallo di tempo. Infine si può evitare che dalla propria rete partano attacchi smurf diretti verso altre reti, impostando i router in modo che non inoltrino verso l esterno pacchetti che hanno un indirizzo sorgente non presente nella sottorete gestita dal router. Metodi di difesa contro SYN Flood Attack Come descritto in precedenza, l attacco SYN Flood consiste nel chiedere di instaurare connessioni ad un host vittima con hosts che non esistono, lasciando così la vittima con una lunga coda di connessioni in attesa dell instaurazione. Generalmente, l attaccante nasconde il proprio IP, sostituendolo con IP inesistenti, e la vittima si ritrova in attesa di instaurare una connessione da un host che in realtà non esiste. Il Flood Attack è uno degli attacchi più diffusi nella tipologia DoS, ed è anche da cui è più complesso e difficile difendersi. Innanzitutto bisogna avere un ottima architettura della rete da difendere, in cui tutto il traffico in ingresso e uscita viene fatto passare attraverso un firewall (questa architettura dovrebbe essere applicata comunque in qualsiasi rete) che monitori il traffico. Per difendersi in tempo contro i SYN Flood attack, è necessario che sia presente nella rete una macchina con un monitor di rete in grado di rilevare attacchi che agiscono ad un basso livello di rete. Esistono diverse tipologie di procedure da attuare in caso di SYN Flood attack, basate a livello dell host attaccato e a livello di firewall. A livello host, le procedure da seguire sono 2: la prima prevede di diminuire il valore del timeout dello stato SYN-RECEVEID, che generalmente è posto a 75 secondi. Diminuendo questo valore, si riduce il numero delle connessioni instaurate a metà, e quindi anche la durata dell attacco. E anche vero però che un valore di timeout troppo basso rischierebbe di non instaurare connessioni legittime che provengono da host con una bassa velocità di connessione. La seconda procedura da seguire a livello di host, prevede di incrementare la coda delle connessioni da accettare in modo da non intasarla in caso di attacco; questo dipende sopratutto dalle risorse che l host ha a disposizione per aumentare lo spazio destinato alla coda. A livello firewall, è necessaria la presenza di un gateway che agisca a livello di circuito, che bypassi tutte le richieste di connessioni. Quando arriva una richiesta di connessione, il pacchetto SYN non arriva direttamente all host indicato nel pacchetto, ma al gateway e sarà esso a rispon- 32

34 Sicurezza dere a tale richiesta con un SYN+ACK; quando riceve la risposta, il gateway fungerà da relay, e si occuperà di instaurare la connessione con l host interessato della sua rete. Il problema di tale scelta è che a sua volta il gateway potrà essere oggetto di eventuali attacchi e quindi dovrà essere in grado di gestirli; inoltre ci saranno dei ritardi introdotti nella comunicazione dal gateway. Questo problema è uno dei punti di debolezza riscontrato in tutte le reti in cui è presente un firewall. Una soluzione proposta per risolvere il problema dei ritardi introdotti dai gateway nella comunicazione, è quella dei gateway semi-trasparenti. Quando arriva una richiesta di connessione, il gateway la lascia passare verso l host interessato, aspettando il SYN+ACK di risposta. Una volta passato, il gateway entra in azione generando il necessario ACK per la chiusura del Three-Way- Handshake e mandandola verso l host della sua rete a cui è stata richiesta la connessione. Se la connessione in questione era legittima, il client invia il suo ACK che viene raccolto e scartato dal gateway in quanto la connessione per il server è stata già stabilita. In caso di un attacco, l ACK da parte del client esterno alla rete non arriverà mai, e dopo il periodo di timeout della connessione, il gateway avvierà la procedura di fine connessione con l host server della sua rete. Il vantaggio dei gateway semi-trasparenti è, come detto prima, il fatto che non vengono introdotti dei ritardi. Un ultima soluzione proposta è quella basata sulla classificazione degli indirizzi IP sorgenti. Il tool che permette di applicare questa procedura si chiama Synkill e deve operare sulla macchina incaricata di monitorare il traffico di rete. Monitorando il traffico, il Synkill classifica gli indirizzi IP esterni nel seguente modo: indirizzi sconosciuti (null) indirizzi affidabili (good) indirizzi potenzialmente sospetti (new) indirizzi sicuramente sospetti (bad) Quando il Synkill riceve richieste di connessioni da indirizzi IP che rientrano nella sua categoria di sicuramente sospetti, ha 2 possibilità di azione: avviare direttamente la procedura di fine connessione verso l'host attaccante, oppure instaurarla e poi chiuderla tramite le apposite procedure del TWH e quella di fine connessione. Il Synkill, presenta purtroppo due debolezze: la prima, comune anche ai metodi prima menzionati, è quella di chiudere connessioni che in realtà sono legittime provenienti da IP giudicati inizialmente come new. Il secondo punto di debolezza del Synkill viene alla luce quando gli IP da cui provengono gli attacchi non sono mai ripetuti; in questo caso il database degli IP interno al Synkill non può essere utilizzato, o è del tutto inutile, in quanto gli indirizzi IP da cui arriva l'attacco sono sempre differenti da quelli precedenti. Purtroppo le normali tecniche di difesa usate per gli attacchi DoS, non sono ugualmente efficaci per i DDoS. La differenza risiede principalmente nella differenza nel numero di host coinvolti e nella mole di traffico generato. Qui di seguito sono spiegate alcune tra le possibili soluzioni. Alcune pensate per contrastare un particolare tipo di attacco DDoS come ad esempio un attacco verso web server. Altri approcci invece tentano di risolvere il problema in modo più generico. Lo scopo di questa tassonomia è di aiutare a capire non solo quali siano i metodi per evitare un DDoS, ma anche scoprire come combinarli assieme per risolvere il problema. Rilevamento e reazione Se la prevenzione e la protezione hanno fallito, l unico modo per contrastare un attacco è tentare di limitarne i danni. Per far ciò c è bisogno di scoprire l attacco e di rispondere ad esso. L obiettivo dell identificazione dell attacco è quello di scoprire il più presto possibile ogni tentativo di DDoS e di avere un basso livello di falsi positivi. Un attacco può essere scoperto attraverso Rilevazione di anomalie, Hybrid detection, Pattern detection e Third-party detection. Rilevazione di anomalie Questi tipi di meccanismi si basano su un modello d andatura normale, come ad esempio un modello del normale traffico di rete o del normale carico di sistema. Lo stato corrente del sistema è paragonato periodicamente con i modelli per determinare anomalie. Il vantaggio di questo approccio rispetto ad altri, 33

35 Sicurezza è che è anche attacchi di tipo non classificato possono essere scoperti. Tuttavia questo meccanismo ha bisogno di attenzione su due problemi: 1. Livelli di tolleranza: le anomalie sono smascherate in quando lo stato corrente del sistema differisce dai modelli per un certo livello. Un livello di tolleranza troppo basso può portare a troppi falsi positivi, mentre un livello troppo alto riduce la sensibilità del meccanismo. 2. Aggiornamento dei modelli: sistemi e comunicazioni si evolvono col passare del tempo e i modelli hanno bisogno di essere aggiornati per riflettere questo cambiamento. Solitamente i modelli si auto-aggiornano usando le statistiche generate quando non è stato trovato nessun attacco. Questo approccio però rende il meccanismo vulnerabile ad un eventuale continuo aumentare degli attacchi che possono ingannare i modelli ed evitare la rilevazione di attacchi. Pattern Attack Detection Questo tipo di meccanismo memorizza le particolarità (signatures) di un attacco ben conosciuto in un database. Ogni comunicazione è analizzata e comparata con le entries del database per scoprire un occorrenza dell attacco DDoS. Occasionalmente il database viene aggiornato con nuove signatures. L ovvio lato negativo di questo approccio è che può scoprire solo attacchi ben conosciuti. Poche volte aiuta a scoprire un nuovo tipo di attacco, magari perché si tratta di una piccola variazione di uno ben noto. Dall altra parte, però, non vi è la presenza di falsi positivi (o comunque la percentuale è molto bassa). Hybrid Attack Detection Questa strategia combina le caratteristiche del Pattern Attack Detection e quella delle Rilevazione di Anomalie, usando i dati degli attacchi scoperti con la Rilevazione di Anomalie per aggiornare il database delle signatures. Questo è uno dei metodi più usati. Third-party Attack Detection La rilevazione è affidata ad un processo esterno che si fa carico di spedire un messaggio per segnalare la presenza di una attacco un corso usando una tecnica di traceback. 34 PinetoLUG

36 Pillole AmaroK parla! In questa pillolina parlerò di AmaroK Espeak. Cos è? È un micro script che permette di interfacciare AmaroK con espeak, che è un sintetizzatore vocale. Il risultato? AmaroK ci dice che canzone stiamo ascoltando! L idea (e la realizzazione dello script) è di Pete Jewell, io ho semplicemente tradotto le due frasette fisse ( Welcome to AmaroK Espeak e You are listening to: ) e cambiato la voce utilizzata da espeak, mettendo quella italiana. Pillole In AmaroK lo script bisogna installarlo e attivarlo: Strumenti/Gestore script/installa script, selezionare il file appena scaricato e confermare. Individuare nella cartellina Generale amarokespeak e abilitarlo con Esegui. Fatto. Ora provate a riprodurre una canzone, o a mettere in pausa e riprendere quella corrente. Soddisfatti? P.S.: provate con una canzone in inglese Tuttoeniente Che logo elaborato, eh? L ho fatto io Ecco come utilizzare questo prodigio della tecnica. Per prima cosa bisogna installare espeak, se non è già presente nel sistema, in Ubuntu basta un classico apt-get install espeak Per le distribuzioni per cui non fossero disponibili i pacchetti precompilati, è sufficiente andare sul sito ufficiale del progetto e scaricare i sorgenti. Fatto questo, si può provare se funziona con espeak -v it Ciao, sono espeak, e sono installato! Da notare l opzione -v it che specifica di utilizzare la voce italiana, anche se nulla vieta di usare quella tedesca, francese, spagnola, portoghese, ungherese, finlandese, ecc., basta sostituire it con la sigla della lingua desiderata (per esempio de, fr, es, pt, hu, fi, ecc.) Passiamo quindi al download dello script: lo trovate qui. Consiglio a chi non avesse una connessione veloce di scaricarlo da un amico, sono 761 byte. :D 35

37 La rubrica che stampa a schermo i vostri consigli sul php Benvenuti a echo $feedback; la rubrica di Topolinux dedicata a voi, professionisti del php, e ai codici che vorrete spedirci. Qui, in queste poche pagine, discuteremo dei vostri trucchi, delle vostre soluzioni, analizzeremo gli script che ci manderete e produrremo qualcosa di stabile, sicuro e adatto per l uso in produzione. Per cui scrivete a cod [AT] topolinux.org! I vostri codici Iniziamo con un piccolo script segnalatomi da tuttoeniente: si tratta di una funzioncina veloce per calcolare il tempo di generazione di una pagina. <?php function getmytime(){ }?> list($usec, $sec) = explode(, microtime()); return ((float) $usec + (float) $sec); Questa funzione sarà di sicuro utile a chi vorrà fare un po di benchmarking sul proprio sito. Il secondo codice che vi proponiamo ci arriva da Alessio Di Fazio gmail.com) ed è un codice per la generazione del cosiddetto CAPTCHA. Per chi non lo sapesse il CAPTCHA è quella immagine contenente caratteri alfanumerici da ricopiare in una form. Serve ad evitare che programmi automatici quali i bot spammers o altri si registrino sui nostri forum o sui nostri guestbook inviando poi messaggi decisamente indesiderati. Il codice è un pochino lungo ma vale la pena di essere letto: è ben commentato e indentato, come nella migliore tradizione :) <? Echo $feedback /* * Copyright (c) 2007 by Alessio Di Fazio a.k.a. Slux * Captcha: a captcha image generator anti-spammers. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA , USA. * * Contacts: * * Skype: slux-slack * * Website: */ 36

38 Echo $feedback /** * How to use: * <img src= captcha.php title= click the image to choose another value * alt= captcha error * onclick= javascript:this.src = captcha.php?refresh= + Math.random(); /> * * To include this script into your blog/guestbook or something else, you have * to save the $text number (line 103) for example into the user session and * control the value inserted through a form with the session value. If these * are equals, the user isn t a spammer! */ // Config $CONFIG[ width ] = 180; $CONFIG[ height ] = 80; /* * the fonts dir contain all *.ttf files named font0.ttf, font1.ttf,... */ $CONFIG[ font_folder ] = fonts ; //don t type slashes /* * font files (how many fonts u have?) * example: 4 = font0.ttf, font1.ttf, font2.ttf, font3.ttf */ $CONFIG[ font_numbers ] = 4; /** * Float random function * $intmin $intmax $intdecimals */ function fprand($intmin, $intmax, $intdecimals) { if($intdecimals) { $intpowerten = pow(10, $intdecimals); return rand($intmin * $intpowerten, $intmax * $intpowerten) / $intpowerten; } else return rand($intmin,$intmax); } function rgb_grayscale( $rgb ) { $color[ r ] = * $rgb[ r ] * $rgb[ g ] * $rgb[ b ]; $color[ g ] = * $rgb[ r ] * $rgb[ g ] * $rgb[ b ]; $color[ b ] = * $rgb[ r ] * $rgb[ g ] * $rgb[ b ]; return $color; } function rgb_complementary( $rgb ) { $color[ r ] = $rgb[ r ]; $color[ g ] = $rgb[ g ]; $color[ b ] = $rgb[ b ]; return $color; } function rgb_rand( $min=0, $max=255 ) { $color[ r ] = rand( $min, $max ); $color[ g ] = rand( $min, $max ); 37

39 Echo $feedback } $color[ b ] = rand( $min, $max ); return $color; function rgb_create( $r=0, $g=0, $b=0 ) { $color[ r ] = $r; $color[ g ] = $g; $color[ b ] = $b; return $color; } function rgb_merge( $lhs, $rhs ) { $color[ r ] = ( $lhs[ r ] + $rhs[ r ] ) >> 1; $color[ g ] = ( $lhs[ g ] + $rhs[ g ] ) >> 1; $color[ b ] = ( $lhs[ b ] + $rhs[ b ] ) >> 1; return $color; } /* Rand number */ $text = fprand(0, 999, rand(1, 3)); // Creates a simple image $image = imagecreate($config[ width ], $CONFIG[ height ]); // Create random colors $rgb = array(); $rgb[ background ] = rgb_rand( 0, 255 ); $rgb[ foreground ] = rgb_grayscale( rgb_complementary( $rgb[ background ] ) ); if ( $rgb[ foreground ][ r ] > 127 ) { $inicio = -127; $rgb[ foreground ] = rgb_merge( $rgb[ foreground ], rgb_create( 255, 255, 255 ) ); $rgb[ shadow ] = rgb_merge( rgb_complementary( $rgb[ foreground ] ), rgb_create( 0, 0, 0 ) ); } else { $inicio = 0; $rgb[ foreground ] = rgb_merge( $rgb[ foreground ], rgb_create( 0, 0, 0 ) ); $rgb[ shadow ] = rgb_merge( rgb_complementary( $rgb[ foreground ] ), rgb_create( 255, 255, 255 ) ); } // Allocate color resources $color = array(); foreach($rgb as $name => $value) { $color[$name] = imagecolorallocate( $image, $value[ r ], $value[ g ], $value[ b ] ); } // Draw background imagefilledrectangle( $image, 0, 0, 120, 30, $color[ background ] ); // Write some random text on background for ( $i = 0; $i < rand( 20, 40 ); $i++ ) { $x = rand( 0, $CONFIG[ width ] ); $y = rand( 0, $CONFIG[ height ] ); $f = rand( 0, 5 ); $c = rgb_grayscale( rgb_rand( $inicio, $inicio ) ); imagefttext ( $image, rand(7,14), rand(0, 170), $x, $x, imagecolorallocate( $image, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)), $CONFIG[font_folder]/ font.rand(0, $CONFIG[ font_numbers ]-1)..ttf, rand(99999, )); } // Write the captcha text with shadow (improves the human vision in some cases) 38

40 $font_fg = $CONFIG[font_folder]/font.rand(0, $CONFIG[ font_numbers ]-1)..ttf ; // text rotation angle $rotation = rand(-6,8); imagefttext( $image, 26, $rotation, 12, 52, $color[ shadow ], $font_fg, $text); imagefttext( $image, 26, $rotation, 10, 50, $color[ foreground ], $font_fg, $text); imagefttext( $image, 11, 0, 5, 76, $color[ foreground ], $CONFIG[font_folder]/text.ttf, Click me to change! ); // Returns the image header( Content-type: image/png ); imagepng( $image ); // Free resources foreach($color as $name => $value) { imagecolordeallocate( $image, $value ); } Echo $feedback imagedestroy( $image );?> L approfondimento di questa settimana Questa settimana oltre alle dei nostri lettori discuteremo di un argomento teorico che non mancherà di interessare chi si occupa di database: la Normalizzazione dei dati. La Normalizzazione In un database si può memorizzare quasi qualsiasi cosa... il problema poi è estrarre quello che serve. Molto spesso infatti si vedono database caotici e pieni di informazioni a volte poco omogenee tra loro che sono affetti da tremende anomalie, ovvero che non si comportano come dovrebbero quando si cerca di modificare, aggiungere o eliminare un dato. Non parliamo poi di quei database che ci mettono addirittura dei minuti per recuperare le informazioni richieste! La fase cosiddetta di Normalizzazione è una fase molto delicata del lavoro e consiste nell applicare un modello di dati teorico (una delle Forme Normali dei database) che permetta di evitare tutti questi problemi che potrebbero verificarsi quando agiremo in qualche maniera sul nostro database. Le forme normali sono 7: la prima, la seconda e la terza forma normale si usano quasi sempre, mentre le altre (la quarta, la quinta, la forma normale Boyce-Codd e la forma normale dominio-chiave) sono piuttosto teoriche e le tralasceremo in questo breve articolo. La Prima Forma Normale Perché una tabella sia considerata in Prima Forma Normale deve rispondere ai seguenti requisiti: 1. ogni cella deve contenere un valore atomico. Un dato per ogni cella. Niente insieme di dati in array o altre cose simili 2. ogni colonna deve avere un nome unico 3. la tabella deve avere una chiave primaria che identifica in maniera univoca le righe 4. due righe non possono essere identiche 5. non sono ammessi gruppi ripetuti di dati Il punto 1 mette fuori gioco molte tabelle che utilizzano campi di testo per memorizzare valori separati da virgole o altri dati simili. Per esperienza so che il modo migliore per memorizzare gruppi di dati mantenendo la prima forma normale è usare semplici sequenze di 0 e 1 in cui ogni posizione rappresenti un valore. Ad esempio: in un sistema di utenti e gruppi, per memorizzare l appartenenza di un utente a certi gruppi si può usare un sistema come quello mostrato nella figura qui sotto 39

41 Echo $feedback Il punto 5 va sicuramente spiegato meglio: immaginate una tabella Libri in cui archiviare tutti i libri della vostra casa e strutturata così: Tabella Libri id Autore Titolo Editore 1 Linus Torvalds Io amo Topolinux Topolinux 2 Bill Gates Tutti pazzi per la BSOD Redmond press Ci saranno sicuramente più libri che avranno lo stesso editore: bene questo significa che la vostra tabella non è in prima forma normale. Perché questo è importante? Perché i database relazionali sono stati progettati per gestire le relazioni tra i dati e per combattere il più possibile le anomalie che i vecchi database non-relazionali avevano. Se ad esempio scoprissimo che il nome corretto per un editore non è Topolinux ma Topolinux edizioni, dovremmo modificare ogni riga in cui compare questo nome, senza contare che questo sistema è assai ridondante e quindi mangia spazio e velocità di elaborazione. Il trucco sta nel creare una seconda tabella chiamata Editori e contenente solo due colonne: una chiave primaria e il nome dell editore. Nella colonna Editore della tabella libri archivieremo solo un puntatore (il valore della chiave primaria relativa a quell editore nella tabella editori) ed in questo modo avremo una tabella in Prima Forma Normale, veloce, non ridondante e aggiornabile in qualunque momento senza troppo sforzo: Tabella Libri id Autore Titolo Editore 1 Linus Torvalds Io amo Topolinux 1 2 Bill Gates Tutti pazzi per la BSOD 3 Tabella Editori id Editore 1 Topolinux edizioni 2 Mondadori 3 Redmond press La Seconda Forma Normale A volte si rende necessario creare delle chiavi primarie che usino più colonne: quando questo succede la Seconda Forma Normale può essere d aiuto nella modellazione dei dati. Una tabella che ha una sola chiave primaria ed è in Prima Forma Normale è di sicuro anche in Seconda Forma Normale, mentre se avete una chiave primaria spalmata su più colonne dovrete fare un attimo mente locale. I requisiti per la Seconda Forma Normale sono: 1. la tabella deve essere in Prima Forma Normale 2. nessuna colonna deve dipendere da parte della chiave Prendiamo ancora la nostra tabella Libri, ma questa volta immaginiamo di avere più edizioni dello stesso volume, editi però da diverse case editrici. Negli esempi precedenti per identificare ogni riga usavamo una chiave primaria numerica memorizzata nella colonna id ; qui invece potremmo decidere che la chiave primaria per identificare un libro sia l insieme delle colonne Titolo, Autore ed Editore, perché di sicuro non avremo in casa due libri che abbiano tutte e tre queste colonne uguali. 40

DUAL BOOT WINDOWS-LINUX.

DUAL BOOT WINDOWS-LINUX. DUAL BOOT WINDOWS-LINUX. Realizzato da Jona Lelmi Nickname PyLinx Iniziato il giorno 5 Luglio 2010 - terminato il giorno 8 Luglio 2010 email autore: jona.jona@ymail.com Canale Youtube http://www.youtube.com/user/pylinx

Dettagli

Guida per l utente. Versione 2.5.4 - gennaio 2011 info@fotostampadiscount.it. FotoMax editor è il software gratuito di

Guida per l utente. Versione 2.5.4 - gennaio 2011 info@fotostampadiscount.it. FotoMax editor è il software gratuito di Guida per l utente Versione 2.5.4 - gennaio 2011 info@fotostampadiscount.it FotoMax editor è il software gratuito di Indice Contenuti Introduzione... pag. 1 Copyright e contenuti... 2 Privacy... 2 Download

Dettagli

Installare Windows Xp Guida scritta da CroX

Installare Windows Xp Guida scritta da CroX Installare Windows Xp Guida scritta da CroX INTRODUZIONE: 2 PREPARAZIONE 2 BOOT DA CD 2 BIOS 3 PASSAGGI FONDAMENTALI 4 SCEGLIERE COSA FARE TRA RIPRISTINO O INSTALLARE UNA NUOVA COPIA 5 ACCETTARE CONTRATTO

Dettagli

INSTALLAZIONE ed USO VUZE per DOWNLOAD FILE TORRENT

INSTALLAZIONE ed USO VUZE per DOWNLOAD FILE TORRENT INSTALLAZIONE ed USO VUZE per DOWNLOAD FILE TORRENT Questa guida vuole essere un breve tutorial su come installare VUZE sul proprio PC in modo da riuscire a scaricare i file torrent che troviamo su Internet.

Dettagli

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB.

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Web Server TOMCAT Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie

Dettagli

Tutorial web Application

Tutorial web Application Tutorial web Application Installazione della JDK: Java viene distribuito con la jdk e il jre acronimi di Java Development Kit e Java Runtime Environment rispettivamente. La jdk è l'ambiente di sviluppo

Dettagli

Creare una memory stick USB bootable con cui avviare Windows XP

Creare una memory stick USB bootable con cui avviare Windows XP http://www.aprescindere.com Pag. 1 di 12 Creare una memory stick USB bootable con cui avviare Windows XP Creare una memory stick USB bootable con cui avviare Windows XP Perché avere una memory stick bootable

Dettagli

L ambiente grafico (GNOME o KDE)

L ambiente grafico (GNOME o KDE) L ambiente grafico (GNOME o KDE) Abbiamo già speso alcune parole in merito alla differenza tra gestori di finestre (o window managers) e gestori di desktop, ma in questa lezione impareremo alcuni concetti

Dettagli

Corso Linux per Principianti

Corso Linux per Principianti Corso Linux per Principianti In questa lezione vedremo come installare l'ultima versione di Ubuntu al momento disponibile, la 8.04, nome in codice Hardy Heron. Oltre ad essere l'ultima versione scaricabile

Dettagli

Primi passi con Apache Tomcat. L application server dell Apache group

Primi passi con Apache Tomcat. L application server dell Apache group Primi passi con Apache Tomcat L application server dell Apache group 2 J2EE Direttive Sun Microsystem Che cos è un application server EJB Maggiori application server open source 3 Tomcat Open Source e

Dettagli

Code::Blocks, installazione ed uso

Code::Blocks, installazione ed uso Code::Blocks, installazione ed uso Alessio Mauro Franchi Dipartimento DEIB, Politecnico di Milano, Milano 9 ottobre 04 Indice Introduzione Installare Code::Blocks: Windows 3 3 Installare Code::Blocks:

Dettagli

Strumenti per lo sviluppo del software

Strumenti per lo sviluppo del software Lo sviluppo del software Strumenti per lo sviluppo del software Lo sviluppo del software è l attività centrale del progetto e ha lo scopo di produrre il codice sorgente che, una volta compilato e messo

Dettagli

# Sommario. # Uso in applicazioni ad alta sicurezza

# Sommario. # Uso in applicazioni ad alta sicurezza ScanSnap Manager V6.2L11 File Leggimi PFU LIMITED # Sommario 1. Requisiti di sistema 2. Avvertenze riguardanti l'usb e il computer 3. Avvertenze riguardanti l'installazione 4. Avvertenze riguardanti la

Dettagli

Manuale di Plasma. Sebastian Kügler Claus Christensen Traduzione in italiano: Vincenzo Reale Traduzione in italiano: Federico Zenith

Manuale di Plasma. Sebastian Kügler Claus Christensen Traduzione in italiano: Vincenzo Reale Traduzione in italiano: Federico Zenith Sebastian Kügler Claus Christensen Traduzione in italiano: Vincenzo Reale Traduzione in italiano: Federico Zenith 2 Indice 1 Introduzione 5 2 Usare Plasma 6 2.1 Componenti di Plasma...................................

Dettagli

Installare Joomla! su Linux (Ubuntu)

Installare Joomla! su Linux (Ubuntu) Installare Joomla! su Linux (Ubuntu) di Salvatore Schirone versione 0.3 Sommario In questo piccolo tutorial viene mostrato l instalazione in locale di joomla! in ambinente Linux. Si farà riferimento esplicito

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

Capitolo 1 Introduzione a Gambas

Capitolo 1 Introduzione a Gambas Capitolo 1 Introduzione a Gambas Gambas è stato creato inizialmente da Benoit Minisini, un residente della periferia di Parigi. Secondo Benoit, Gambas è un linguaggio Basic con estensioni per la programmazione

Dettagli

Olga Scotti. Basi di Informatica. Il sistema operativo Windows

Olga Scotti. Basi di Informatica. Il sistema operativo Windows Basi di Informatica Il sistema operativo Windows Perchè Windows? MS-DOS: Interfaccia di solo testo Indispensabile conoscere i comandi Linux & Co. : Meno diffuso soprattutto nelle aziende Bella interfaccia

Dettagli

Manuale Utente. Linux Fedora, Debian e Ubuntu

Manuale Utente. Linux Fedora, Debian e Ubuntu Manuale Utente Linux Fedora, Debian e Ubuntu Chiavet ta Internet MDC525UPA Via Del Lavoro 9 1 1 Sommario Introduzione... 3 Requisiti minimi... 3 Contenuto del CD-ROM... 3 1. Installazione Driver e Software

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

Informazioni per installazione ed avviamento Data Domus

Informazioni per installazione ed avviamento Data Domus Informazioni per installazione ed avviamento Data Domus La procedura per utilizzare Data Domus si divide in 2 fasi 1. Installazione 2. Configurazione Installazione Una volta in possesso del file di installazione,

Dettagli

Pratica 3 Creare e salvare un documento. Creare e salvare un file di testo

Pratica 3 Creare e salvare un documento. Creare e salvare un file di testo Pratica 3 Creare e salvare un documento Creare e salvare un file di testo Centro Servizi Regionale Pane e Internet Redazione a cura di Roger Ottani, Grazia Guermandi Luglio 2015 Realizzato da RTI Ismo

Dettagli

Guida rapida all installazione di RobCAD 8.0 per Windows

Guida rapida all installazione di RobCAD 8.0 per Windows Guida rapida all installazione di RobCAD 8.0 per Windows Lo scopo di questo documento é di fornire una guida sintetica all installazione della versione 8.0 di Robcad. AVVERTENZA Non procedere all'installazione

Dettagli

Guida all Utilizzo del Posto Operatore su PC

Guida all Utilizzo del Posto Operatore su PC Guida all Utilizzo del Posto Operatore su PC 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad internet

Dettagli

Indice. 1 Introduzione 5. 2 Preimpostazioni 6. 3 Configurazione dell interfaccia utente 7. 4 Configurazione 9

Indice. 1 Introduzione 5. 2 Preimpostazioni 6. 3 Configurazione dell interfaccia utente 7. 4 Configurazione 9 Questo documento è stato convertito dalla pagina di K3b su KDE UserBase, aggiornata al 20 gennaio 2011. Aggiornamento alla versione 2.0 da parte del Documentation Team di KDE Traduzione dell interfaccia

Dettagli

Installazione e attivazione delle licenze

Installazione e attivazione delle licenze Capitolo 1 Installazione e attivazione delle licenze L installazione del software su una singola macchina è di solito un operazione piuttosto semplice, ma quando si deve installare AutoCAD in rete è richiesta

Dettagli

PC Crash Course: OBIETTIVI

PC Crash Course: OBIETTIVI PC Crash Course: OBIETTIVI 1. PC: uno strumento 2. Microsoft Windows XP: alcuni concetti chiave della interfaccia grafica 3. File System: file, direttori, link, 4. Il prompt dei comandi 5. Un occhiata

Dettagli

Capitolo 2. Esplorare l interfaccia tra uomo e computer

Capitolo 2. Esplorare l interfaccia tra uomo e computer Capitolo 2 Esplorare l interfaccia tra uomo e computer Imparare la tecnologia Gli esseri umani non hanno abilità tecnologiche innate La nostra precedente esperienza nell uso di dispositivi simili, incluse

Dettagli

Quaderni per l'uso di computer

Quaderni per l'uso di computer Quaderni per l'uso di computer con sistemi operativi Linux Ubuntu 0- a cura di Marco Marchetta Aprile 2014 1 HARDWARE MASTERIZZATORE CONNESSIONE INTERNET CD - DVD Chiavetta USB o Router ADSL (*) COMPONENTI

Dettagli

Introduzione a Microsoft Word 2007

Introduzione a Microsoft Word 2007 Introduzione a Microsoft Word 2007 Autore: Alessandra Salvaggio Tratto dal libro: Lavorare con Word 2007 Non ostante che Microsoft Office 2007 sia uscito da un po di tempo, molte persone ancora non sono

Dettagli

USO DEL COMPUTER E GESTIONE DEI FILE 1. AMBIENTE DEL COMPUTER

USO DEL COMPUTER E GESTIONE DEI FILE 1. AMBIENTE DEL COMPUTER USO DEL COMPUTER E GESTIONE DEI FILE 1. AMBIENTE DEL COMPUTER 1.1 AVVIARE IL COMPUTER Avviare il computer è un operazione estremamente semplice, nonostante ciò coloro che scelgono di frequentare un corso

Dettagli

INTERNET EXPLORER Breve manuale d uso

INTERNET EXPLORER Breve manuale d uso INTERNET EXPLORER Breve manuale d uso INDICE INTRODUZIONE... 3 COME IMPOSTARE LA PAGINA INIZIALE... 3 LA WORK AREA... 3 LE VOCI DI MENU... 5 IL MENU FILE... 5 IL MENU MODIFICA... 6 IL MENU VISUALIZZA...

Dettagli

POLITECNICO DI BARI Corso di Laurea in Ingegneria MECCANICA Corso di FONDAMENTI DI INFORMATICA

POLITECNICO DI BARI Corso di Laurea in Ingegneria MECCANICA Corso di FONDAMENTI DI INFORMATICA POLITECNICO DI BARI Corso di Laurea in Ingegneria MECCANICA Corso di FONDAMENTI DI INFORMATICA ACCESSO ALL AMBIENTE DI PROGRAMMAZIONE Microsoft Visual C++ è sufficiente cliccare sul pulsante di Windows,

Dettagli

Modulo 6 Proviamo Wordpress gratuitamente

Modulo 6 Proviamo Wordpress gratuitamente Copyright Andrea Giavara wppratico.com Modulo 6 Proviamo Wordpress gratuitamente 1. Wordpress.com una piattaforma gratuita per il blogging 2. Installare Wordpress in locale 3. Creare un sito gratis con

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

Manca un programma importante

Manca un programma importante Manca un programma importante Finalmente, dopo tutte le volte che si è notato che un programma che vorremmo usare manca, impareremo ad installare nuovi pacchetti in modo molto semplice. Si è già detto

Dettagli

INDICE PROGRAMMA CORSO

INDICE PROGRAMMA CORSO INDICE PROGRAMMA CORSO PRIMA LEZIONE: Componenti di un computer: Hardware, Software e caratteristiche delle periferiche. SECONDA LEZIONE: Elementi principali dello schermo di Windows: Desktop, Icone, Mouse,

Dettagli

Guida all Utilizzo dell Applicazione Centralino

Guida all Utilizzo dell Applicazione Centralino Guida all Utilizzo dell Applicazione Centralino 1 Introduzione Indice Accesso all applicazione 3 Installazione di Vodafone Applicazione Centralino 3 Utilizzo dell Applicazione Centralino con accessi ad

Dettagli

- Guida a VMware - Guida a VMware. Questa guida vi aiuterà passo passo nell installazione e la configurazione di VMware.

- Guida a VMware - Guida a VMware. Questa guida vi aiuterà passo passo nell installazione e la configurazione di VMware. 1 di 5 05/12/2008 1.06 Guida a VMware Scritto da Aleshotgun Venerdì 08 Febbraio 2008 17:44 - Guida a VMware - Questa guida vi aiuterà passo passo nell installazione e la configurazione di VMware. Prima

Dettagli

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com 15.03.2006 Ver. 1.0 Scarica la versione pdf ( MBytes) Nessuno si spaventi! Non voglio fare né un manuale

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Struttura dell Applicazione versione 3.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Tutorial gvsig. Versione 1.1

Tutorial gvsig. Versione 1.1 Tutorial gvsig Versione 1.1 24/10/2007 Tutorial gvsig - Versione 1.1 www.gvsig.org Testo e screenshot a cura di R3 GIS Srl Via Johann Kravogl 2 39012 Merano (BZ) Italia Tel. +39 0473 494949 Fax +39 0473

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 3 Introduzione 4 Cosa ti occorre 5 Panoramica dell installazione 5 Passo 1: Verificare la presenza di aggiornamenti 5 Passo 2: Per preparare

Dettagli

Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0)

Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0) Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0) Nota Bene: Si raccomanda di leggere queste dispense di fronte al computer, provando passo dopo passo le funzionalità descritte. Per

Dettagli

Archivio Parrocchiale

Archivio Parrocchiale BREVI INFORMAZIONI PER L UTILIZZO DEL PROGRAMMA Archivio Parrocchiale 1 INDICE PREMESSA...3 CENNI SUL PROGRAMMA...4 REQUISITI MINIMI DEL PC...5 LA FINESTRA PRINCIPALE...6 I PULSANTI DEL MENU PRINCIPALE...7

Dettagli

Corso di Informatica Modulo L2 2-Installazione

Corso di Informatica Modulo L2 2-Installazione Corso di Informatica Modulo L2 2-Installazione 1 Prerequisiti Uso pratico elementare di un sistema operativo Concetto di macchina virtuale Scaricare e installare software 2 1 Introduzione Sebbene le istruzioni

Dettagli

INDICE INDICE...1. 1. Introduzione...2 1.1. Cos è l app Listini...2 1.2. Cosa occorre per averlo...2 1.3. Come funziona...2

INDICE INDICE...1. 1. Introduzione...2 1.1. Cos è l app Listini...2 1.2. Cosa occorre per averlo...2 1.3. Come funziona...2 INDICE INDICE...1 1. Introduzione...2 1.1. Cos è l app Listini...2 1.2. Cosa occorre per averlo...2 1.3. Come funziona...2 2. Installazione del Liveupdater sul computer...3 2.1. Su di un computer in cui

Dettagli

CREARE UNA TAB DI FACEBOOK SULLA PAGINA AZIENDALE

CREARE UNA TAB DI FACEBOOK SULLA PAGINA AZIENDALE CREARE UNA TAB DI FACEBOOK SULLA PAGINA AZIENDALE Autore: KATIA D ORTA (@katiatrew) in collaborazione con MARISA FAUSONE (@Mfausone) 1 Questa guida è liberamente scaricabile sul sito cowinning.it 2 Questa

Dettagli

L interfaccia. La barra delle applicazioni. MS Windows Barra delle Applicazioni

L interfaccia. La barra delle applicazioni. MS Windows Barra delle Applicazioni Windows XP In questa sezione, si desidero evidenziare le caratteristiche principali di Windows cercando possibilmente di suggerire, per quanto possibile, le strategie migliori per lavorare velocemente

Dettagli

Creazione di un archivio storico. locale e remoto. nelle 24 ore giornaliere

Creazione di un archivio storico. locale e remoto. nelle 24 ore giornaliere Creazione di un archivio storico locale e remoto nelle 24 ore giornaliere Sommario Prefazione... 2 Procedura... 3 Comandi file batch... 5 Creazione Archivio Globale... 6 Cancellazione e creazione foto

Dettagli

Procedura di installazione del Phaidra Importer... 2

Procedura di installazione del Phaidra Importer... 2 Indice Procedura di installazione del Phaidra Importer... 2 Requisiti di sistema... 2 Verifica su Windows... 3 Verifica su Linux... 4 Verifica su Macintosh... 4 Installazione (Installer)... 5 Windows...

Dettagli

Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0)

Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0) Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0) Nota Bene: Si raccomanda di leggere queste dispense di fronte al computer, provando passo dopo passo le funzionalità descritte. Per

Dettagli

Regole delle finestre

Regole delle finestre Lauri Watts Parti di questa documentazione sono state convertite dalla pagina Regole di KWin di KDE UserBase. Traduzione della documentazione: Federico Zenith 2 Indice 1 Impostazioni specifiche delle finestre:

Dettagli

Manuale di Skanlite. Kåre Särs Anne-Marie Mahfouf Traduzione della documentazione: Federico Zenith

Manuale di Skanlite. Kåre Särs Anne-Marie Mahfouf Traduzione della documentazione: Federico Zenith Kåre Särs Anne-Marie Mahfouf Traduzione della documentazione: Federico Zenith 2 Indice 1 Introduzione 5 2 Usare Skanlite 6 2.1 Selezione dello scanner................................... 6 3 Finestra principale

Dettagli

Uso del computer e gestione dei file. Parte 1

Uso del computer e gestione dei file. Parte 1 Uso del computer e gestione dei file Parte 1 Avviare il pc Il tasto da premere per avviare il computer è frequentemente contraddistinto dall etichetta Power ed è comunque il più grande posto sul case.

Dettagli

Breve guida a Linux Mint

Breve guida a Linux Mint Breve guida a Linux Mint Il Desktop. Il "desktop" (scrivania) è la parte del sistema operativo che è responsabile per gli elementi che appaiono sul desktop: il Pannello, lo sfondo, il Centro di Controllo,

Dettagli

INSTALLAZIONE DI KUBUNTU

INSTALLAZIONE DI KUBUNTU INSTALLAZIONE DI KUBUNTU Tutorial passo-passo per l'installazione di Kubuntu 6.06 per sistemi x86 32bit. La distro-live distribuita dal FoLUG al LINUX-DAY 2006. Per le informazioni su Kubuntu si rimanda

Dettagli

Manuale di Klipper. Philip Rodrigues Carsten Pfeiffer Traduzione italiana: Pino Toscano

Manuale di Klipper. Philip Rodrigues Carsten Pfeiffer Traduzione italiana: Pino Toscano Philip Rodrigues Carsten Pfeiffer Traduzione italiana: Pino Toscano 2 Indice 1 Introduzione 5 2 Uso di Klipper 6 2.1 Uso basilare......................................... 6 2.2 Azioni............................................

Dettagli

Scopri il nuovo Windows. Bello, fluido, veloce

Scopri il nuovo Windows. Bello, fluido, veloce Scopri il nuovo Windows Bello, fluido, veloce Schermata Start La schermata Start e i riquadri animati offrono una nuova esperienza utente, ottimizzata per gli schermi touch e l'utilizzo di mouse e tastiera.

Dettagli

Software utilizzato per le esercitazioni

Software utilizzato per le esercitazioni SW Software utilizzato per le esercitazioni Software utilizzato per le esercitazioni Editor testuale per pagine html, xhtml, css Browser Web server Motore Php Motore JSP JDK JSDK Ambiente di sviluppo Java

Dettagli

Come Creare Un Nuovo Articolo Con WordPress. Ebook - Gratuito

Come Creare Un Nuovo Articolo Con WordPress. Ebook - Gratuito Come Creare Un Nuovo Articolo Con WordPress Ebook - Gratuito 1 Indice Come Creare Un Nuovo Articolo Con Wordpress 1. Accedi al pannello di controllo del sito... 3 2. La Bacheca di Wordpress... 4 3. Il

Dettagli

COME INSERIRE UN PROPRIO AVATAR IN WWW.GIOCOLERIA.ORG

COME INSERIRE UN PROPRIO AVATAR IN WWW.GIOCOLERIA.ORG COME INSERIRE UN PROPRIO AVATAR IN WWW.GIOCOLERIA.ORG Visto che ancora moltissime persone si chiedono come inserire un immagine personale come proprio avatar, (l immagine che compare nei vostri messaggi

Dettagli

Manuale utente di Gwenview. Aurélien Gâteau Christopher Martin Henry de Valence Traduzione della documentazione: Federico Zenith

Manuale utente di Gwenview. Aurélien Gâteau Christopher Martin Henry de Valence Traduzione della documentazione: Federico Zenith Aurélien Gâteau Christopher Martin Henry de Valence Traduzione della documentazione: Federico Zenith 2 Indice 1 Introduzione 5 1.1 Cos è Gwenview...................................... 5 2 L interfaccia

Dettagli

Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk. by Gassi Vito info@gassielettronica.com

Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk. by Gassi Vito info@gassielettronica.com Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk by Gassi Vito info@gassielettronica.com Questa breve guida pratica ci consentirà installare Zeroshell su pen drive o schede

Dettagli

SBLOCCARE E-MULE E ERRORE EVENTO TCP 4226 IN WINDOWS XP

SBLOCCARE E-MULE E ERRORE EVENTO TCP 4226 IN WINDOWS XP SBLOCCARE E-MULE E ERRORE EVENTO TCP 4226 IN WINDOWS XP I pregi di TCP-Z, senza dubbio, sono tre: 1)Sicuro e semplice perchè modifica il file tcpip.sys in memoria senza quindi toccare il file originale

Dettagli

Microsoft Word Nozioni di base

Microsoft Word Nozioni di base Corso di Introduzione all Informatica Microsoft Word Nozioni di base Esercitatore: Fabio Palopoli SOMMARIO Esercitazione n. 1 Introduzione L interfaccia di Word Gli strumenti di Microsoft Draw La guida

Dettagli

ISTRUZIONI PER L USO DEL SITO WWW.QUITITROVO.IT

ISTRUZIONI PER L USO DEL SITO WWW.QUITITROVO.IT ISTRUZIONI PER L USO DEL SITO WWW.QUITITROVO.IT Benvenuto nell area istruzioni per l uso del sito QuiTiTrovo. In questo documento potrai trovare la spiegazione a tutte le funzionalità contenute nel sito

Dettagli

New Team Up in English Flip-Book Guida all uso

New Team Up in English Flip-Book Guida all uso New Team Up in English Flip-Book Indice 1 Introduzione p. 3 2 Procedura d avvio p. 4 2. 1 Procedura per PC WIN p. 4 2. 2 Procedura per Mac p. 4 2. 3 Procedura per Linux p. 4 3 Creazione del profilo p.

Dettagli

Il Sistema Operativo che si sdoppia!

Il Sistema Operativo che si sdoppia! Cos è una macchina virtuale? Come si crea? Come si usa? Il Sistema Operativo che si sdoppia! Quanti di voi hanno mai pensato di voler provare un nuovo sistema operativo senza però mettere mano alle partizioni,

Dettagli

Guida Avanzata. 1. Convertire un gioco da ISO a GOD. 2. Trasferire i giochi da HD Esterno/Chiavetta a HD Interno Xbox

Guida Avanzata. 1. Convertire un gioco da ISO a GOD. 2. Trasferire i giochi da HD Esterno/Chiavetta a HD Interno Xbox Guida Avanzata 1. Convertire un gioco da ISO a GOD 2. Trasferire i giochi da HD Esterno/Chiavetta a HD Interno Xbox 3. Impostare il percorso di lettura all avvio 4. Spostare giochi e file tramite cavo

Dettagli

INDICE Informazioni Generali... 4. Comprare ebook con Kobo Desktop... 8. Usare la Libreria di Kobo Desktop... 10. Leggere su Kobo Desktop...

INDICE Informazioni Generali... 4. Comprare ebook con Kobo Desktop... 8. Usare la Libreria di Kobo Desktop... 10. Leggere su Kobo Desktop... Kobo Desktop Manuale Utente INDICE Informazioni Generali... 4 Installare Kobo Desktop su Windows... 5 Installare Kobo Desktop su Mac... 6 Comprare ebook con Kobo Desktop... 8 Usare la Libreria di Kobo

Dettagli

Virtual meeting istruzioni per l uso v 1.0 del 10 aprile 2012 - by LucioTS

Virtual meeting istruzioni per l uso v 1.0 del 10 aprile 2012 - by LucioTS Qui di seguito le istruzioni per partecipare ai virtual meeting 3rotaie. Il software (ad uso gratuito per scopi non commerciali) scelto è TeamViewer (scaricabile da http://www.teamviewer.com) che la momento

Dettagli

eascom MANUALE per UTENTI A cura di eascom 2012 www.eascom.it

eascom MANUALE per UTENTI A cura di eascom 2012 www.eascom.it MANUALE per UTENTI A cura di eascom 2012 www.eascom.it Indice Introduzione... 3 Perchè Wordpress... 3 Pagina di accesso all amministrazione... 3 Bacheca... 4 Home... 4 Aggiornamenti... 5 Articoli... 6

Dettagli

Tomcat. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2004/05-1

Tomcat. Laboratorio di Tecnologie Lato Server - V.Della Mea e I.Scagnetto, a.a. 2004/05-1 Tomcat E uno dei servlet engine più diffusi. Può funzionare sia come prodotto standalone, sia come modulo del web server Apache. Disponibile gratuitamente (per molti sistemi operativi tra cui Linux e Windows)

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base LEZIONE N 3 Cortina d Ampezzo, 4 dicembre 2008 ELABORAZIONE TESTI Grazie all impiego di programmi per l elaborazione dei testi, oggi è possibile creare documenti dall aspetto

Dettagli

Boot Camp Beta 1.0.2 Guida di installazione e configurazione

Boot Camp Beta 1.0.2 Guida di installazione e configurazione Boot Camp Beta 1.0.2 Guida di installazione e configurazione 1 Indice 4 Panoramica 5 Punto 1: aggiornare il software di sistema e il firmware del computer 6 Punto 2: eseguire Assistente Boot Camp 9 Punto

Dettagli

OUTLOOK EXPRESS CORSO AVANZATO

OUTLOOK EXPRESS CORSO AVANZATO Pagina 1 di 9 OUTLOOK EXPRESS CORSO AVANZATO Prima di tutto non fatevi spaventare dalla parola avanzato, non c è nulla di complicato in express e in ogni caso vedremo solo le cose più importanti. Le cose

Dettagli

17.2. Configurazione di un server di Samba

17.2. Configurazione di un server di Samba 17.2. Configurazione di un server di Samba Il file di configurazione di default (/etc/samba/smb.conf) consente agli utenti di visualizzare le proprie home directory di Red Hat Linux come una condivisione

Dettagli

Sistemi operativi I: Windows. Lezione I

Sistemi operativi I: Windows. Lezione I Sistemi operativi I: Windows Lezione I Scopo della lezione Richiamare le principali funzionalità di un sistema operativo Esemplificarle descrivendo la loro implementazione in Windows Introdurre alcuni

Dettagli

Manuale dell editor del menu di KDE

Manuale dell editor del menu di KDE Manuale dell editor del menu di KDE Milos Prudek Anne-Marie Mahfouf Lauri Watts Traduzione della documentazione: Vincenzo Reale Aggiornamento traduzione della documentazione: Nicola Ruggero Traduzione

Dettagli

Procedure Web Oracle 9iAS. Manuale di Installazione Client

Procedure Web Oracle 9iAS. Manuale di Installazione Client Indice e Sommario Installazione componenti... 3 Installazione Jinitiator 1.3.1.13... 3 Installazione certificato applicativo... 5 Installazione di Acrobat Reader... 6 Installazione JAVA 6 Update 13 (Solo

Dettagli

Ultr@ VNC: Guida (parte 1)

Ultr@ VNC: Guida (parte 1) Ultr@ VNC: Guida (parte 1) Vi presento la guida in italiano per l installazione e l utilizzo di Ultra VNC :http://ultravnc.sourceforge.net. Le potenzialità del programma ve le abbiamo già presentate :http://www.femetal.it/9/ultravncrecensione,

Dettagli

Introduzione all'uso di

Introduzione all'uso di Introduzione all'uso di Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica.

Dettagli

Breve guida a Windows 2003 Server

Breve guida a Windows 2003 Server Breve guida a Windows 2003 Server Lo scopo di questa guida è quello di introdurre brevemente il sistema Windows 2003 Server e presentare alcuni procedimenti per rendere possibile l uso di questo sistema

Dettagli

ISTRUZIONI PASSO PASSO PER CREARE UN SITO CON JOOMLA SU ALTERVISTA

ISTRUZIONI PASSO PASSO PER CREARE UN SITO CON JOOMLA SU ALTERVISTA ISTRUZIONI PASSO PASSO PER CREARE UN SITO CON JOOMLA SU ALTERVISTA REGISTRARSI AL SITO ALTERVISTA, PER OTTENERE SPAZIO WEB GRATUITO o Andare sul sito it.altervista.org o Nel riquadro al centro, scrivere

Dettagli

Uso del computer e gestione dei file

Uso del computer e gestione dei file Uso del computer e gestione dei file Sommario Uso del computer e gestione dei file... 3 Sistema Operativo Windows... 3 Avvio di Windows... 3 Desktop... 3 Il mouse... 4 Spostare le icone... 4 Barra delle

Dettagli

> P o w e r D R E A M < Catalogazione Sogni

> P o w e r D R E A M < Catalogazione Sogni > P o w e r D R E A M < Catalogazione Sogni Guida rapida all utilizzo del software (rev. 1.4 - lunedì 29 ottobre 2012) INSTALLAZIONE, ATTIVAZIONE E CONFIGURAZIONE INIZIALE ESECUZIONE DEL SOFTWARE DATI

Dettagli

Installazione del Software. per lo Sviluppo di Applicazioni Java

Installazione del Software. per lo Sviluppo di Applicazioni Java Installazione del Software per lo Sviluppo di Applicazioni Java Ing. Luca Ferrari ferrari.luca@unimore.it Tel. 0592056142 Installazione del Software per lo Sviluppo di Applicazioni Java 1 Il Compilatore

Dettagli

Uso del computer e gestione dei file

Uso del computer e gestione dei file Uso del computer e gestione dei file 2.1 L AMBIENTE DEL COMPUTER 1 2 Primi passi col computer Avviare il computer Spegnere correttamente il computer Riavviare il computer Uso del mouse Caratteristiche

Dettagli

MANUALE OPERATORE CMS ASMENET

MANUALE OPERATORE CMS ASMENET MANUALE OPERATORE CMS ASMENET 2.0 Pag. 1 di 46 INDICE Termini e definizioni... pag. 3 Introduzione... pag. 4 Descrizione generale e accesso al back office... pag. 5 1 Gestione della pagina... pag. 6 1.1

Dettagli

Per volare devi sfruttare le correnti d aria, proprio come fanno gli ucccelli. Provalo e potrai compiere spericolate acrobazie su scenari mozzafiato

Per volare devi sfruttare le correnti d aria, proprio come fanno gli ucccelli. Provalo e potrai compiere spericolate acrobazie su scenari mozzafiato Per volare devi sfruttare le correnti d aria, proprio come fanno gli ucccelli. Provalo e potrai compiere spericolate acrobazie su scenari mozzafiato Fare un volo su diversi modelli di alianti, ammirare

Dettagli

Siti web e Dreamweaver. La schermata iniziale

Siti web e Dreamweaver. La schermata iniziale Siti web e Dreamweaver Dreamweaver è la soluzione ideale per progettare, sviluppare e gestire siti web professionali e applicazioni efficaci e conformi agli standard e offre tutti gli strumenti di progettazione

Dettagli

Ingegneria del Software 1: Eclipse

Ingegneria del Software 1: Eclipse Ingegneria del Software 1: Eclipse Da completare entro Aprile 21, 2015 Srđan Krstić and Marco Scavuzzo 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK).......................................... 3 1.2

Dettagli

DM-Learning MOO. Manuale del Docente

DM-Learning MOO. Manuale del Docente DM-Learning MOO Manuale del Docente DM-Learning MOO è un ambiente virtuale di supporto alle attività didattiche svolte in presenza, ed è gestita da DidatticaMente.net per l I.T.I.S. Zuccante di Venezia

Dettagli

I Sistemi Operativi. Installazione Ubuntu Linux su Macchina Virtuale

I Sistemi Operativi. Installazione Ubuntu Linux su Macchina Virtuale I Sistemi Operativi Installazione Ubuntu Linux su Macchina Virtuale Macchina Virtuale Cos è? Macchina virtuale (VM) Emula il comportamento di una macchina fisica SO e programmi possono essere eseguiti

Dettagli

AMBIENTE GRAFICO DI FEDORA: ATTIVITA ESEGUIBILI DA TUTTI GLI UTENTI

AMBIENTE GRAFICO DI FEDORA: ATTIVITA ESEGUIBILI DA TUTTI GLI UTENTI AMBIENTE GRAFICO DI FEDORA: ATTIVITA ESEGUIBILI DA TUTTI GLI UTENTI DESKTOP KDE E GNOME PROGRAMMI DI UTILITA' PERSONALIZZAZIONE DEL DESKTOP NAVIGAZIONE E POSTA ELETTRONICA I contenuti di questo documento,

Dettagli