Università degli Studi di Napoli Federico II

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli Studi di Napoli Federico II"

Transcript

1 Università degli Studi di Napoli Federico II Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Tesi Sperimentale di Laurea Triennale Sviluppo di un sistema multipiattaforma per l'installazione e condivisione di codice del portale di monitoraggio Relatori Candidato Prof. Guido Russo Dr. Ing Catello Di Martino Anno accademico 2009/2010 Vincenzo Masullo Matricola:566/2795

2 Desidero ringraziare... Il Prof. Guido Russo e l'ing. Catello Di Martino per l'opportunità che mi hanno concesso di svolgere il tirocinio nel Centro SCoPE e per il costante supporto umano e professionale fornitomi I miei genitori, mio fratello, mia sorella e le mie stupende nipotine per avermi supportato e sopportato anche nei momenti più difficili... Giuseppe ( il mio migliore amico e perchè no, fratello maggiore ) Tutti i colleghi e amici del corso di laurea, i ragazzi e le ragazze del Centro SCoPE, in particolare Marco con il quale ho svolto un lavoro collaborativo durante il tirocinio, Franco ( in bocca al lupo per l'imminente laurea ), Paolo ( per la disponibilità infinita ) chi ha sempre creduto in me e continua a farlo ancora oggi... Grazie a tutti!!! Pagina 2 di 265

3 Indice generale 1. Introduzione Monitoraggio di rete Il Protocollo SNMP : Simple Network Management Protocol Cacti RRDTool : Round -Robin Database Tool LAMP : Linux-Apache-Mysql-Php Apache Php Mysql Il Portale di monitoraggio della rete d'ateneo Il Software realizzato per UniNa Porting dell' Applicazione WebMon Introduzione La soluzione scelta : VMware Workstation Architettura finale L'applicazione realizzata Introduzione Descrizione del problema Soluzioni a confronto Installer Requisiti Architettura Generale Sviluppo del Software Architettura Completa Condivisione codice e mailing-list Subversion SVN Mailman GNU Bugzilla Guida d'uso all'applicazione realizzata Windows-Package Debian-Package RedHat-Package Considerazioni e conclusioni Appendici Diagrammi UML-Use Case Diagram UML-Component Diagram UML-Class Diagram UML-Sequence Diagram Documentazione JavaDoc HowTo Debian Installer...99 Pagina 3 di 265

4 7.3.2 Redhat Installer Guida per il Porting Subversion SVN Mailman Bugzilla Tomcat Joomla Codice Sorgente Debian-Package Apache.java BrowserLaunch.java Cacti.java Home.java Mailing.java Main.java Messaggio.java MyApp.java Mysql.java OS.java Php.java Utility.java Script-Bash Redhat-Package Apache.java BrowserLaunch.java Cacti.java Home.java Mailing.java Main.java Messaggio.java MyApp.java Mysql.java OS.java Php.java Utility.java Script-Bash Windows-Package AppServ.java BrowserLaunch.java Home.java Mailing.java Main.java Messaggio.java MyApp.java Pagina 4 di 265

5 Utility.java Bibliografia e Sitografia Pagina 5 di 265

6 1. Introduzione Il seguente lavoro di tesi, si colloca nell'ambito dell'iniziativa "WiFiSUD" del progetto "ICT4 University" che realizza quanto previsto dell'obiettivo Università del Piano E-Gov In particolare l'iniziativa ha previsto il finanziamento di progetti delle Università del Sud per realizzare, estendere o completare reti di connettività senza fili e sviluppare servizi on-line di tipo amministrativo e/o didattico, accessibili gratuitamente da parte degli studenti. L'applicazione realizzata, denominata, WiFi Web Monitoring Portal, si suddivide logicamente in due componenti principali : un' Installer, che consente di installare sulla macchina il software necessario per configurare un sistema di monitoraggio e una seconda fase di installazione e configurazione di servizi, come la condivisione del codice sorgente dell'applicativo, l'implementazione di un sistema di creazione/gestione di Mailing-list per la raccolta dei feed-back degli utenti e un sistema di tracciamento degli errori di programmazione. Il software è scritto interamente in Java per consentire un'alta portabilità. Tale scelta ha permesso la realizzazione di un'applicazione ex novo, con la possibilità di modificare ogni minimo dettaglio, in base alle esigenze sia del programmatore, sia per l'utente, ottenendo vantaggi anche in termini di usabilità. L'IDE utilizzato è NetBeans 6.9. Quest'ultimo è un ambiente di sviluppo multilinguaggio ( IDE ufficiale della SUN Microsystem ), possiede numerosi pluging, e numerose librerie grafiche standard di Java ( Framework Swing ). L'installer consente di installare su qualsiasi macchina ( Linux Debian Red Hat Windows ), software LAMP, acronimo di Linux-Apache-MySQL-Php, inoltre come strumento per il monitoraggio è stato scelto Cacti che utilizza RRDTool ( nella sezione apposita sarà spiegato il motivo di tale scelta ), ottimo per creare grafici, immagazzinare dati e grazie al suo database circolare, libera il programmatore da Pagina 6 di 265

7 qualsiasi compito dalla cancellazione dei dati storici. La piattaforma LAMP è un sistema usato frequentemente in applicazioni web, che necessitano appunto, di un Web Server come Apache, un database MySQL e il linguaggio Php. La scelta di tre versioni differenti, una per ogni piattaforma ( Debian RedHat Windows ), rende l'applicazione funzionante sulla stragrande maggioranza dei Sistemi Operativi. Grazie ad una procedura guidata ( supportata da una miniguida contentente screen-shots esplicativi ), il processo di installazione dei pacchetti risulta semplice anche per utenti meno esperti, quest'ultimo sarò guidato passo passo nell'installazione dei software necessari per il funzionamento della piattaforma LAMP e nella configurazione del sistema di monitoraggio sulla macchina in uso. Da notare che l'installazione dei pacchetti, avviene in automatico, grazie all'utilizzo di alcuni script bash, che attraverso opportuni comandi, lanciano l' installazione e si occupano della configurazione dei singoli pacchetti. La creazione e la gestione del servizio di Mailing-list è alla base del concetto di opensource. In pratica, l'applicazione realizzata, grazie al supporto del sistema di gestione delle mailing list, consente a tutti gli Atenei che vogliono contribuire, individuare bug di programmazione o anche proporre soluzioni alternative per il miglioramento del software. Mailman è un software di gestione di mailing list anch'esso sviluppato nell'ambito dal progetto GNU. Uno o più amministratori si occupano della gestione delle mailing-list, organizzare i post, moderare i messaggi. Sia la gestione che l'invio dei messaggi avviene via web, dove Mailman rappresenta il leader in tale ambito. Il CVS ( Concurrent Versions System ) implementa un sistema di controllo versione : mantiene al corrente di tutto il lavoro e di tutti i cambiamenti in un insieme di file, tipicamente è l'implementazione di un software in via di sviluppo, in un progetto, e permette a molti sviluppatori di collaborare, spesso anche in posti molto lontani. Pagina 7 di 265

8 E' rilasciato sotto la licenza GNU ( software libero ). Utilizza un architettura di tipo Client-Server, generalmente il software del server gira su linux, mentre i client sono collocati su tutti i Sistemi Operativi ( linux, windows, ecc. ). Anche per questo servizio è stato scelto un applicativo Open Source come SVN Subversion, considerato il successore di CVS. Attraverso un repository è possibile condividere il codice sorgente di più progetti e aggiornarlo periodicamente, ogni client può lavorare autonomamente sulla propria working-copy ed a fine lavoro comunicare al repository gli aggiornamenti effettuati. Infine grazie a Bugzilla (bugtracker) è possibile individuare bug di programmazione, per poi apportare miglioramenti all'applicativo. Quest'ultimo necessita di un web server come Apache e di una Database Management System, tipicamente Mysql. Grazie a questo sistema di condivisione e aggiornamento del codice è sempre disponibile una versione aggiornata e ottimizzata. Ecco un breve sommario degli argomenti trattati nella Tesi, suddivisa per capitoli. Il lavoro è sviluppato in 8 capitoli : nel primo capitolo vengono discussi gli obiettivi generali del lavoro svolto, le caratteristiche principali del software implementato, ed una panoramica generale sui pacchetti e gli strumenti utlizzati per realizzare l'installer ed effettuare la configurazione dei servizi ad esso correlati. Nel secondo capitolo viene introdotto il monitoraggio delle reti, con particolare attenzione al protocollo utilizzato per il monitoraggio ( SNMP ), il sistema scelto per tale scopo ( Cacti ) e il tool utilizzato da quest'ultimo ( RRDTool ). Cacti riesce ad interrogare tramite SNMP gli apparati monitorati, oltre a conservare i dati monitorati in una base di dati, offre, grazie alla collaborazione di RRDTool, anche una visualizzazione grafica delle informazioni. Infine vengono illustrate le caratteristiche Pagina 8 di 265

9 di una piattaforma LAMP. Nel terzo capitolo viene proposta una panoramica generale sulle caratteristiche del portale realizzato per il monitoraggio della rete WiFi Unina, gli strumenti utilizzati per la realizzazione del sito web e la configurazione del sistema di monitoraggio. Successivamente viene affrontato il problema del porting dell'applicazione, su più macchine virtuali, e come tale applicazione può essere utilizzata per gli altri Atenei. Nel quarto capitolo vengono illustrate dettagliatamente le caratteristiche dell'installer realizzato e menzionati tutti i pacchetti da installare affinchè il sistema di monitoraggio sia configurato e installato correttamente. Sono evidenziate le differenze e le analogie che presentano le tre versioni realizzate ( Debian-RedHat-Windows ). Inoltre vengono analizzati i pacchetti utilizzati per la condivisione del codice sorgente, il bugtracker e il servizio di mailing list : Subversion SVN, Bugzilla e Mailman. Nel quinto capitolo viene fornita una guida d'uso per l'applicazione realizzata, con screen-shots dimostrativi ( sono illustrati tutti gli screen shot delle versioni realizzate ), sottolineando che, l'installazione dei pacchetti avviene tramite singolo pacchetto ( per sistemi Debian e RedHat ) utilizzando il Repository delle rispettive distribuzioni ( ed i comandi corrispondenti per le installazioni ). La versione Windows, invece, usufruisce del pacchetto AppServ, un software completamente freeware. Nel sesto capitolo sono riportate le considerazioni finali ed eventuali sviluppi futuri. Una delle prerogative fondamentali del software realizzato, che risulta essere in continuo sviluppo e perciò può essere continuamente migliorato. Nell'Appendice vengono forniti i diagrammi UML più importanti, il codice sorgente, la documentazione JavaDoc e una sezione HowTo contenente tutte le miniguide realizzate e utilizzate per installare pacchetti e servizi. Pagina 9 di 265

10 2. Monitoraggio di rete Per valutare correttamente lo stato di un sistema complesso è necessario considerare : gestione, manutenzione ed evoluzione del sistema stesso. Dunque il Monitoraggio svolge un ruolo di primaria importanza nella vita ed evoluzione del sistema. Le informazioni fornite da quest'ultimo devono essere esatte e rilevanti. Distinguiamo due tipologie di monitoraggio : passivo e attivo. Nel monitoraggio di tipo passivo, il sistema si occupa di aggregare le informazioni fornitegli dalle entità della rete, le quali devono essere dotate di sistemi di memorizzazione e offrire servizi per l'accesso ai dati. In quello di tipo attivo, invece, raccolgono informazioni sullo stato della rete attraverso processi di interazione con la rete stessa. Il protocollo maggiormente utilizzato in tale ambito è quello SNMP, quindi è opportuno trattarlo in maniera esaustiva. 2.1 Il Protocollo SNMP : Simple Network Management Protocol L' SNMP è un protocollo di rete che permette di raccogliere dati, controllare e gestire il funzionamento degli elementi di una rete di tipo TCP/IP, attraverso la rete stessa. Nel 1995, per migliorare le imperfezioni venute alla luce con il passare degli anni, venne definito l' SNMPv2, e nel 1998 l'ultima versione: l' SNMPv3. Quest'ultima nacque per risolvere soprattutto problemi che riguardano la sicurezza. L'SNMP è un protocollo di livello di applicazione che usa UDP come protocollo di trasporto. E' stato preferito il protocollo UDP a TCP in modo da minimizzare il traffico Pagina 10 di 265

11 di rete, infatti TCP essendo orientato alla connessione richiederebbe più risorse di rete. L'aspetto negativo dell' UDP è che non si ha la certezza che il messaggio arrivi a destinazione. Tale protocollo è stato scelto poichè l' SNMP è nato per gestire e monitorare le prestazioni di rete e un'eventuale congestione di quest'ultima, sarebbe aggravata dall'utilizzo di TCP. L' SNMP fa parte di un architettura il cui nome è INMF Internet Network Management Framework, ed è composta da tre componenti fondamentali : 1. sistema gestito ( managed object ) 2. agente di gestione ( management agent ) 3. sistema di gestione ( manager ) Il manager rappresenta l'applicazione remota che prende la decisione di gestione, in ogni configurazione, quest'ultimo avvia il programma che gestisce SNMP. I sistemi gestiti a loro volta, sono dotati di un programma di management agent, ospitano quindi un agente di gestione. Lo stato del sottosistema gestito, è rappresentato dall'agente, il quale, è responsabile dell'accesso alla base di dati MIB. Il funzionamento di SNMP è molto semplice. La piattaforma della gestione di rete invia interrogazioni (query) all'agente, quest'ultimo a sua volta risponde. Interrogazioni e risposte si riferiscono a variabili accessibili da parte del management agent. Le variabili d'agente sono memorizzate nella base di dati chiamata MIB, il management agent ritrova la variabile nella MIB utilizzando un identificativo ( OID Object ID ) organizzato gerarchicamente. Pagina 11 di 265

12 2.2 Cacti Il sistema di monitoraggio scelto per la raccolta dei dati di esercizio per gli apparati di rete è il software Open Source Cacti. Quest'ultimo interagisce con altri applicativi per consentire, ad esempio, che i dati catturati dalla MIB siano conservati ed elaborati in diversi modi. Cacti è un ottimo strumento di monitoraggio, utilizza come Web Server Apache, che permette di visualizzare il lavoro effettuato tramite un browser. Inoltre utilizza Php come estensione di Apache, il quale è un linguaggio di scripting concepito per lo sviluppo di pagine web dinamiche, attualmente però è utilizzato per sviluppare applicazioni web lato server e per scrivere script a linea di comando. Usufruisce anche di un database Mysql, utile alla memorizzazione di alcuni parametri come i settaggi, il poller e gli utenti registrati. Altro strumento software estremamente importante, che offre l'interfaccia all'utente finale e si occupa di raccogliere e visualizzare graficamente dati temporali è RRDTool. Quest'ultimo utilizza un database circolare ( Round Robin ), che ha a disposizione un numero finito di elementi con un puntatore all'elemento corrente, gli elementi vecchi saranno sovrascritti da quelli nuovi. Il risultato delle interrogazioni SNMP sarà memorizzato in Round Robin Archives (RRA) successivamente possono essere letti e utilizzati tali dati. Con il tempo questi valori saranno sovrascritti da valori aggiornati. Cacti è uno strumento completo, è preferibile usarlo rispetto ai suoi concorrenti per la facilità di configurazione ed uso, inoltre la sua installazione è molto semplice. Sfrutta a pieno le potenzialità di RRDTool e riesce a presentare grafici di buon livello e di diverse tipologie. Integra una serie di tool con lo scopo di fornire un sistema semplice e completo per il monitoraggio passivo di reti informatiche. Pagina 12 di 265

13 Cacti utilizza i seguenti tool: Net-SNMP per le interrogazione SNMP RRDTool per la persistenza e le presentazione dei grafici piattaforma LAMP Uno schema modulare di cacti è il seguente: Figura 1: Struttura modulare di cacti Le operazioni di Cacti possono essere divise in 3 parti : 1. Data Retrivial 2. Data Storage 3. Data Presentation Pagina 13 di 265

14 Per la raccolta dei dati di esercizio, quindi per le interrogazioni ai vari dispositivi, cacti utilizza il protocollo SNMP ( Simple Network Management Protocol ), il primo task riguarda proprio questo, ossia il recupero dei dati. Tale compito è effettuato utilizzando il suo poller che viene eseguito dallo scheduler del sistema operativo. Per il Data Storage, cacti ultizza il database di RRDTool. L'RRD, acronimo di Round Robin Database, è un database circolare, dove i dati saranno memorizzati in modo molto compatto e non rimarranno nel tempo, ma saranno sovrascritti da dati aggiornati. Una delle caratteristiche migliori di RRDTool è legata al terzo ed ultimo compito, il Data Presentation, ossia la funzione grafica di built-in. Ecco alcune schermate che riproducono il funzionamento di cacti, illustrando le funzionalità più importanti. Figura 2: Login Cacti Pagina 14 di 265

15 Per la creazione di un Device è necessario riempire il campo contente la Descrizione del Dispositivo ( un nome simbolico che identifica il dispositivo ). Campi fondamentali sono quelli che contengono l'ip dell'host da monitorare, e quello contentente la versione del protocollo SNMP. Gli altri paramentri in genere contengono valori di default ( vengono usati quelli ) Figura 3: Creazione di un device Pagina 15 di 265

16 Creato il Device è possibile associare a quest'ultimo un grafico: Figura 4: Creazione grafico associato al device Pagina 16 di 265

17 Inoltre per ogni host creato è possibile visualizzare l'elenco dei grafici realizzati : Figura 5: Elenco grafici per un device Pagina 17 di 265

18 2.3 RRDTool : Round -Robin Database Tool RRDTool ( Round Robin Database Tool ) è uno degli strumenti software maggiormente usati nell'ambito del monitoraggio. Il compito principale di RRDTool è l'archiviazione di serie temporali. Le caratteristiche principali di RRDTool sono le seguenti : dimensione costante dei file di archivio ( file RRD ) dump degli archivi in file XML fetch di serie temporali parziali dagli archivi rappresentazione dei dati per mezzo di grafici Figura 6: Caratteristiche RRDTool Pagina 18 di 265

19 2.4 LAMP : Linux-Apache-Mysql-Php LAMP è l'acronimo di Linux Apache Mysql Php e indica l'ambiente libero ( e anche gratuito ) di programmazione di applicazioni Web che è possibile costruire dalla somma delle parti di queste eccezionali applicazioni a sorgente aperto ( open source ). Di seguito vengono analizzati nel dettaglio le caratteristiche dei pacchetti che costituisco la cosiddetta piattaforma LAMP. Figura 7: Piattaforma LAMP Pagina 19 di 265

20 2.4.1 Apache Apache HTTP Server o più comunemente Apache è il nome dato alla piattaforma server web modulare più diffusa in grado di operare sia sui sistemi Linux-Unix sia quelli Windows-Microsoft. E' un software che realizza le funzioni di trasporto delle informazioni, di internetwork e di collegamento, inoltre ha il vantaggio di offrire anche funzioni di controllo sulla sicurezza come quelli che compie il proxy. Il Web Server Apache presenta un'architettura modulare, quindi ad ogni richiesta del client, vengono svolte funzioni specifiche da ogni modulo di cui è composto, come unità indipendenti. Ciascun modulo si occupa di una funzionalità, ed il controllo è gestito dal core. Il Core è il programma principale composto da un ciclo sequenziale di chiamate ai moduli. Il modulo Translation traduce la richiesta del client, mentre l'access control controlla eventuali richieste dannose. Il modulo MIME Tipe verifica il tipo di contenuto mentre Response invia la risposta al client e attiva eventuali procedure, il Logging invece tiene traccia di tutto quello che è stato fatto. Il core suddivide la richiesta ai vari moduli in modo sequenziale, usando i parametri di uscita di un modulo come parametri di accesso per l'altro, creando così l'illusione di una comunicazione orizzontale fra i moduli ( pipeline software ). Sopra il ciclo del core c'è un ulteriore ciclo di polling svolto da un demone, che interroga continuamente le linee logiche da cui possono pervenire messaggi di richiesta. Pagina 20 di 265

21 2.4.2 Php Php è un linguaggio di scripting interpretato con licenza open source e libera, originariamente concepito per la programmazione web, ovvero per la realizzazione di pagine web dinamiche. E' utilizzato principalmente per sviluppare applicazioni web lato server ma può essere usato anche per scrivere Script a riga di comando o applicazioni standalone con interfaccia grafica. L'elaborazione del codice Php sul server produce codice HTML da inviare al browser dell'utente che ne fa richiesta. Il vantaggio di Php e di altri linguaggi web come ASP e.net rispetto al classico HTML derivano dalle differenze profonde che sussistono tra web dinamico e web statico. La popolarità del linguaggio Php è in costante crescita, nel Giugno 2001 ha superato il milione di siti che lo utilizzano. Nel 2002 più del 45% dei Server Apache utilizzavano Php. Php fondamentalmente è un linguaggio ad alto livello, come per quasi tutti i linguaggi moderni, per molti versi riprende la sintassi del C ( come il Perl ). E' un linguaggio a tipizzazione debole e dalla versione 5 migliora il supporto al paradigma della programmazione ad oggetti. Grazie all'esistenza di numerosi API e innumerevoli funzioni si interfaccia con moltissimi Database ( Mysql, Oracle, Firebird, IBM DB2 ) e supporta numerose tecnologie come XML, SOAP, CORBA, FTP. Si integra molto bene anche con altri linguaggi e piattaforme, come ad esempio Java e.net. Pagina 21 di 265

22 2.4.3 Mysql Mysql è un Relational Database Management System ( RDBMS ) costituito da un client con interfaccia a caratteri e un server, è disponibile sia per sistemi Unix-Linux che per Windows, anche se in ambito Linux il suo utilizzo è più diffuso. Possiede interfacce per diversi linguaggi, compreso un driver per ODBC, due driver Java, un driver per Mono e.net e una libreria per python. Come detto in precedenza, la piattaforma LAMP è una delle più diffuse e installate su internet per lo sviluppo di siti e apllicazioni web dinamiche, Mysql in tale ambito svolge il ruolo di DBMS. Esistono diversi strumenti per l'amministrazione di database Mysql, una delle applicazioni più diffuse è phpmyadmin, il quale necessita di un Web Server Apache e il supporto del linguaggio Php, inoltre può essere utlizzato attraverso un qualsiasi browser web. Figura 8: phpmyadmin Pagina 22 di 265

23 3. Il Portale di monitoraggio della rete d'ateneo 3.1 Il Software realizzato per UniNa L'applicazione realizzata per Unina ha lo scopo di mostrare lo stato della rete in qualsiasi momento. WiFed WebMon è il primo sistema di monitoraggio della rete Unina disponibile su un portale web. I dati raccolti e messi a disposizione per gli utenti sono i seguenti : il numero di persone connesse alla rete Wireless ed il numero di Access Point attivi e altre informazioni come il traffico Tcp, Udp, Ip, Snmp e il numero di autenticazioni avvenute con successo. Tra i diversi sistemi di monitoraggio open source è stato scelto Cacti, per la semplicità di configurazione, nonostante l'ottimo livello di affidabilità. Cacti interroga tramite protocollo SNMP i dispositivi inseriti, conservando i dati in un database, grazie alla collaborazione di RRDTool che permette la visualizzazione dei dati attraverso grafici molto precisi e dettagliati. Le sedi interessate al monitoraggio sono le seguenti : Monte Sant'Angelo, IngegneriaVia Claudio, Ingegneria-Agnano, Ingegneria-P.Tecchio, Zona Ospedaliera e Centro Storico, ma si è scelto di offrire un monitoraggio più accurato sopratutto nella zona di Fuorigrotta. Pagina 23 di 265

24 Figura 9: Topologia rete UniNa I linguaggi utilizzati per lo sviluppo dell'applicazione sono i seguenti : HTML per la presentazione delle pagine ; RRDTools per l'esportazione dei grafici e per le informazioni numeriche; MySql per la creazione e l'utilizzo dei dati raccolti dalle interrogazioni; PERL per la creazione di script; BASH per l'aggiornamento delle immagini; Pagina 24 di 265

25 Inoltre grazie all'utilizzo di un Web Server come Apache, e la disponibilità dei servizi offerti da Cacti, è stato possibile integrare l'applicazione sul portale del monitoraggio Unina, e rendere disponibile l'applicazione a tutti gli utenti. Il sito del monitoraggio è stato realizzato utilizzando il CMS Joomla, grazie al quale è stato possibile utilizzare il template di un sito già realizzato, e facilitare le operazioni di creazione delle pagine web. Figura 10: Home page Portale Monitoraggio Pagina 25 di 265

26 Il lato amministratore è il seguente, prima e dopo effettuato il login. Figura 11: Login Figura 12: Lato Admin Pagina 26 di 265

27 3.2 Porting dell' Applicazione WebMon Introduzione Le problematiche riscontrate durante la fase del porting di un portale già esistente, è legato principalmente alla mancata conoscenza dei servizi da importare e successivamente da configurare. Dunque prima di procedere con la fase di Porting, è stato necessario studiare tutti i servizi e gli strumenti utilizzati, per la realizzazione del sito web e la configurazione del sistema di monitoraggio. L'applicazione originale era ripartita su tre macchine : la wifed02 contentente i dispositivi WiFi la wifed03 contenente i dispositivi wired e Joomla il Server centrale che effettua il redirect alla wifed03 Inoltre poichè l'applicazione è supportata anche da una sezione che si occupa di fornire le Statistiche dei dispositivi WiFi, è stato necessario caricare il DataServer sulla macchina wifed02 e il DataClient sulla macchina wifed03. Una volta familiarizzato con lo strumento di monitoraggio, nella fattispecie Cacti, in particolare effettuando alcuni test sui dispositivi presenti nel Centro SCoPE, opportunamente sbloccati, è stato possibile analizzare e capire dettagliatamente come è stata sviluppata l'applicazione WebMon. Pagina 27 di 265

28 Di seguito viene illustrato uno schema che riporta la suddivisione dei servizi e dei pacchetti software sulle macchine prima di effettuare il porting. Figura 13: Architettura Rete Netmon Pagina 28 di 265

29 3.2.2 La soluzione scelta : VMware Workstation Per effettuare il porting dell'applicazione si è scelto un Tool di virtualizzazione di sistemi operativi. In particolare, grazie a VMware Workstation è possibile creare su una macchina fisica, n macchine virtuali, sfruttando le risorse hardware della macchina ospitante. Nel gergo della virtualizzazione, la macchina ospitante è chiamata host, mentre quelle ospitati vengono chiamate guest. Tale soluzione è un modo efficiente per effettuare testing, ma rappresenta anche un'ottima scelta per emulare più macchine ( contenenti più servizi ) su un unico sistema hardware. VMware è senza dubbio una delle soluzioni più all'avanguardia per virtualizzare un sistema operativo, ma è un programma che pur non trascurando l'utente medio, è più adatto soprattutto ad un'utenza avanzata o professionale. Inoltre permette di impostare a fondo ogni aspetto : dal quantitativo di memoria RAM e video assegnati al sistema guest, alle modalità di condivisione della connessione di rete, fino alle funzioni legate al controllo remoto, al cloning della macchina virtuale e così via. Con VMware Workstation la macchina virtuale viene usata attraverso una normale finestra del sistema host, che si può impostare in modalità ridotta oppure a schermo pieno, inoltre risulta molto comoda la possibilità di effettuare il drag and drop dei file tra host e guest e l'opportunità di condividere cartelle tra i due sistemi. L'ottimo Snapshot Manager consente di creare e gestire con grande facilità i punti di ripristino per la macchina virtuale. Di seguito viene illustrata la procedura effettuata per la creazione di una macchina virtuale utilizzando il Tool in esame. Pagina 29 di 265

30 Figura 14: VM-WorkStation Creazione macchina virtuale Figura 15: VM-WorkStation Selezione Distribuzione Pagina 30 di 265

31 Figura 16: VM-WorkStation Configurazione Macchina Figura 17: VM-WorkStation Riepilogo Caratteristiche Pagina 31 di 265

32 Innanzitutto si sceglie l'opzione per la creazione di una macchina virtuale, dopodichè si passa alla modalità di installazione del Sistema Operativo. Si può scegliere di installarlo tramite Unità DVD/CD oppure file disco immagine iso. A questo punto si sceglie un nome per la nuova macchina virtuale e si effettuano i settaggi hardware della macchina ( memoria ram, hard disk e modalità di rete ). La macchina virtuale personalizzata è pronta per l'uso. Pagina 32 di 265

33 3.2.3 Architettura finale Il processo di porting effettuato, garantisce ai servizi la massima stabilità, fornendo efficienza all'applicazione realizzata. Se in futuro si devono effettuare cambiamenti all'applicazione è necessario operare sulle singole macchine create, contententi i servizi implementati e configurati. Di seguito viene riportato uno schema che visualizza la struttura finale delle macchine virtuali, elencando i servizi presenti su di esse. Figura 18: Architettura Rete Netmon Virtual Machine Pagina 33 di 265

34 4. L'applicazione realizzata 4.1 Introduzione Descrizione del problema Il progetto per la realizzazione di un'installer multipiattaforma, che consenta di installare e configurare pacchetti e servizi su diversi sistemi operativi è abbastanza complesso. Da un lato si può scegliere di utilizzare pacchetti già esistenti, che consentono di creare installer ( IzPack, InstallCreator, ecc.. ). Esistono pacchetti open source ma anche a pagamento, tale scelta però non garantisce sempre la massima portabilità. Inoltre spesso questi pacchetti includono delle limitazioni, come ad esempio nell'esposizione del logo o del nome della software house produttrice al termine di ciascuna procedura di installazione. Principalmente, proprio per queste limitazioni, si è scelto di realizzare un applicazione Java, che come requisiti richieda esclusivamente la JDK ( Java Development Kit ) garantendo anche la massima portabilità. L'IDE utilizzato per la realizzazione dell'installer è NetBeans 6.9, grazie hai tanti plugin e classi ( Framework Swing ) per la realizzazione dell'interfaccia grafica, è stato possibile realizzare un'applicazione molto flessibile e dal punto di vista dell'utilizzatore molto semplice e diretta. Pagina 34 di 265

35 4.1.2 Soluzioni a confronto Come detto in precedenza, esistono pacchetti che permettono di creare installer. Analizziamo in questo paragrafo due possibili soluzioni : Izpack e InstallCreator. Izpack Questo pacchetto è completamente class-platform e genera un unico programma di installazione, richiede esclusivamente la JVM per funzionare. E' pubblicato sotto i termini della Apache Software License, ciò significa che si adatta alle proprie esigenze con il minimo vincolo. Caratteristiche principali : basato su descrittori XML utilizza la massima compressione degli archivi.jar grande flessibilità e modularità uninstaller creato automaticamente pannello di input per l'utente molto flessibile Pagina 35 di 265

36 Ecco alcune schermate che rendono l'idea sul livello di personalizzazione del pacchetto : Figura 19: IzPack Presentazione Figura 20: IzPack Informazioni Pagina 36 di 265

37 Clickteam Install Creator Clickteam Install Creator è un programma completamente gratuito, che permette di creare una procedura d'installazione personalizzata per i propri programmi o i propri files. La sua interfaccia, accattivante graficamente e pratica da utilizzare, fa di Clickteam Install Creator un'ottima alternativa alle più famose ed utilizzate soluzioni commerciali. L'aspetto della procedura d'installazione che potrà essere creata con questo programma, è assolutamente professionale. L'autocomposizione guidata ( wizard ), permette di scegliere, in pochi passi, tutti i files da includere nella procedura di installazione e le varie preferenze. E' possibile impostare la cartella d'installazione predefinita, inserire un contratto di licenza d'uso, aggiungere icone e loghi personalizzati. Il programma mette a disposizione anche una completa procedura per la disinstallazione. Install Creator è completamente gratuito e può essere utilizzato anche per scopi commerciali. L'unica "limitazione" consiste nell'esposizione del nome e del logo della software house produttrice al termine di ciascuna procedura d'installazione. Ecco alcune screen-shot che mostrano la bontà di questa applicazione : Pagina 37 di 265

38 Figura 21: Install Creator Presentazione Figura 22: Install Creator aggiungi files 1/2 Pagina 38 di 265

39 Figura 23: Install Creator aggiungi files 2/2 Pagina 39 di 265

40 4.2 Installer Requisiti L'unico requisito fondamentale per l'applicazione realizzata è la presenza della JDK ( Java Developement Kit ) sul sistema operativo in cui si va ad eseguire l'installer. Da questo requisito segue il diagramma dei casi d'uso ( contestualizzato per i vari sistemi operativi ) Figura 24: Use Case Diagram Pagina 40 di 265

41 4.2.2 Architettura Generale Il software è stato realizzato utilizzando principalmente il Framework Swing per Java che mette a disposizione Classi e Metodi per la creazione e gestione di interfacce grafiche. Le finestre ( JFrame ) che caratterizzano l'installer, sono costituite da componenti come caselle di testo, bottoni, pannelli e tabelle. Swing è indipendente dalla piattaforma sia in termini di linguaggio sia della sua implementazione. E' un Framework basato a componenti : la differenza tra oggetti e componenti è leggera. Un componente è un oggetto con determinate caratteristiche di comportamento conosciute e specificate. Gli oggetti Swing emettono eventi in modo asincrono, hanno caratteristiche legate ad essi stessi, e rispondono ad un ben preciso set di comandi ( specifico per componente ). In particolare i componenti Swing Java Beans seguono le specifiche dell'architettura JavaBean. Figura 25: MVC JavaBeans Pagina 41 di 265

42 Di seguito viene riportato il diagramma delle classi dell'applicazione realizzata, mentre nei paragrafi successivi saranno analizzate dettagliatamente la struttura delle classi principali e i metodi che consentono l'installazione dei pacchetti ( compito dell'installer ). Figura 26: Class Diagram Generale Pagina 42 di 265

43 4.2.3 Sviluppo del Software Le tre versioni realizzate hanno in comune l'interfaccia grafica, poichè sono state realizzate utilizzando il Framework Java Swing. Si differenziano nella fase di installazione dei software, infatti, per la versione Debian e Redhat è previsto il lancio dell'installazione attraverso appositi script bash, che permettono di scaricare ( dai repository ) e installare i pacchetti scelti. Per la versione Windows, invece, vengono utilizzati gli eseguibili ( inglobati nell'applicazione ), che vengono estratti e successivamente lanciati, a questo punto è compito di Windows Installer gestire l'installazione. La struttura delle classi implementate che permettono di realizzare l'interfaccia grafica dell'applicazione è costituita da diversi JFrame, della quale è stata effettuata la gestione completa di tutti gli eventi collegati alla finestra visualizzata. Di seguito viene riportato un frame realizzato, con il costruttore e i metodi principali. Figura 27: Struttura JFrame Pagina 43 di 265

44 Il JFrame è costituito da : JLabel, JButton, JTextField, JPanel. Tutti questi componenti fanno parte del Framwork Swing, i metodi realizzati garantiscono una gestione completa degli eventi e delle eventuali eccezioni legate ad esso. public Apache(String so,string home) super("apache2"); this.so=so; this.home=home; file.jar // chiamata superclasse // sistema operativo // directory di esecuzione del initcomponents(); // inizializza componenti addwindowlistener(this); // aggiunge ascoltatore setsize(600,400); // set dimensione frame setlocationrelativeto(null); // posiziona il frame al centro setcampo(so); // set percorso programma setresizable(false); // l'utente non può ingrandire la finestra setdefaultcloseoperation(jframe.do_nothing_on_close); setvisible(true); // rende visibile il frame Nel costruttore vengono settati gli attributi della classe e vengono richiamati i metodi che permettono di impostare le caratteristiche del Frame, la sua visibilità e l'inizializzazione dei componenti collegati ad esso. Di seguito viene riproposto il metodo che si occupa della gestione del bottone per il passaggio e la visualizzazione del frame successivo. Pagina 44 di 265

45 private void nextbuttonactionperformed(java.awt.event.actionevent evt) // next button // controllo se il campo contenente il path non è vuoto boolean c=false; percorso=jtextfieldpercorso.gettext(); if(u.isfieldempty(percorso)) // campo vuoto m.stampamex("please enter the path where you installed the program!"); else c=u.controllo(percorso); // controlla se il percorso esiste if ( c ) // true boolean a=percorso.contains("apache2"); se il percorso contiene apache2 installato installato // controllo if ( a ) c=true; // set c a true = programma else c=false; // set c a false = programma non if ( c ) // true ----> passo al programma successivo dispose(); Php pr= new Php(so,home); // nome sistema operativo else // false programma non installato o percorso nn corretto // lancio messaggio di errore m.stampamex("wrong path or program is not installed!"); Pagina 45 di 265

46 Il Metodo seguente si occupa di lanciare gli script bash che lanciano l'installazione e la configurazione dei pacchetti : public void installsw() throws IOException // conferma installazione int risultato = JOptionPane.showConfirmDialog(this,"You want to install apache2 on your system?","install",joptionpane.ok_cancel_option,joptionpane.question_messa GE); if (risultato == JOptionPane.OK_OPTION) // controllo il sistema operativo e lancio installazione // debian apt-get install // installo apache2 Process theprocess=null; try // lancio installazione apache File s = new File (home,"risorse/script"); Runtime exec = Runtime.getRuntime(); exec.exec("gnome-terminal -x bash -c "+s.getabsolutepath()+"/apache2.sh;bash"); // lancio script che effettua l'installazione del pacchetto System.out.println(s); // test // lancio miniguida con evince (.pdf ) // operazione effettuata per far lanciare la guida, il pacchetto può essere eseguito in qualsiasi // posizione su qualsiasi macchina File f = new File (home,"risorse/guide"); theprocess = Runtime.getRuntime().exec("evince file://" + f.getabsolutepath() + "/Debian.pdf"); System.out.println(f); // test apt-get install"); System.out.println("Installo Apache x Debian con // test catch(ioexception e) System.err.println("Error on exec() method"); e.printstacktrace(); Pagina 46 di 265

47 In prima istanza viene chiesto all'utente la conferma di installazione del pacchetto, dopodichè, quando quest'ultimo accetta, viene lanciata la miniguida illustrata per assistere l'utente durante l'installazione e la configurazione dei pacchetti. La miniguida viene lanciata con il visualizzatore di Documenti per il formato.pdf Evince, poi lo scritp bash si occupa di lanciare i rispettivi comandi ( apt-get install oppure yum install ) per le installazioni in base al sistema operativo in suo. A questo punto l'applicazione procede nell'installazione dei pacchetti da terminale, l'utente deve inserire la password di root come da norma per i sistemi Linux. La procedura è identica per tutti i servizi ( apache2-php-mysql-cacti ). Ovviamente cambiano gli script lanciati con i rispettivi comandi da piattaforma a piattaforma. Di seguito viene mostrato il contenuto di uno Script Bash. Pagina 47 di 265

48 #!/bin/bash # installo mysql-server sudo apt-get install mysql-server # installo phpmyadmin sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin # modifico il file php.ini ( seguendo la guida ) cd / sudo gedit /etc/php5/apache2/php.ini # creo il link simbolico sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin # riavvio web server sudo /etc/init.d/apache2 restart La direttiva al primo rigo invoca l'interprete bash che si occupa di lanciare i comandi presenti nello script. Seguono una serie di comandi apt-get install che permettono di installare i pacchetti dai repository passati come parametro, gli altri comandi invece si occupano della configurazione dei servizi, come ad esempio il riavvio del web server. Pagina 48 di 265

49 Figura 28: Miniguida Installer La miniguida.pdf che supporta l'utente durante la configurazione dei pacchetti. Il Codice Sorgente integrale è allegato nell'appendice, mentre in formato elettronico viene fornita la Documentazione JavaDoc, che descrive dettagliatamente il significato di ogni classe e metodo. Pagina 49 di 265

50 4.2.4 Architettura Completa Figura 29: Architettura Completa Il diagramma dei componenti di tutta l'applicazione racchiude tutti i componenti in gioco. La maggior parte delle classi implementate sono JFrame, dunque utilizzano i metodi del Framework Swing e usufruiscono di tutti i componenti di quest'ultimo, come ad esempio i JButton e JText. L'applicazione per essere lanciata necessita della presenza della JDK, inoltre grazie alla JVM a RunTime vengono lanciati gli Script Bash. Infine il supporto del visualizzatore di documenti Evince garantisce l'apertura dei file.pdf contenenti le miniguide di supporto all'applicazione. Pagina 50 di 265

51 4.3 Condivisione codice e mailing-list In questo paragrafo vengono analizzati e descritti i servizi implementati per supportare lo sviluppo e il miglioramento del software realizzato. Subversion SVN controllo versione e condivisione codice Mailman creazione e gestione mailing list Bugzilla sistema di tracciamento dei difetti Subversion SVN Nel mondo del software libero, il CVS ( Concurrent Versioning System ) è diffusissimo perchè permette lo sviluppo di software, mantiene al corrente di tutto il lavoro e di tutti i cambiamenti di un insieme di file implementando un vero e proprio sistema di controllo di versione. Utilizza un'architettura Client-Server : il server si occupa di immagazzinare l'ultima versione del progetto e di fornirla ai client, questi ultimi possono accedere in qualisiasi momento al codice del progetto e modificarlo. Il software del server normalmente gira su Unix mentre i client possono girare su un numero maggiore di sistemi operativi. Nella terminologia del CVS un singolo progetto ( insieme di relativi file ) è chiamato modulo. Il server immagazzina tutti i moduli in un repository, una copia scaricata dal server da un client è chiamata working copy o sandbox. Come detto in precedenza, l'applicativo scelto per il controllo della versione è Subversion SVN, naturale successore di CVS, ormai considerato superato. E' uno strumento di sviluppo utile per gestire il lavoro collaborativo di più persone in contemporanea sullo stesso progetto. Il funzionamento è molto semplice, un Repository centralizzato contiene la "storia" Pagina 51 di 265

52 del codice, l'operazione di commit permette ad ogni client di aggiornare la copia presente nel repository, mentre il checkout permette di aggiornare la propria workingcopy con quella presente nel repository. Figura 30: Struttura SVN Il Repository contiene la storia del progetto, ogni client lavora sulla propria working copy e successivamente può aggiornare la versione nel repository (commit ). Figura 31: Operazione di Commit Pagina 52 di 265

53 Uno dei client effettua l'operazione di commit ( aggiornamento ) della versione del codice sorgente. Figura 32: Operazione di Check-out Un client effettua l'aggiornamento della propria working-copy scaricando dal repository l'ultima versione del codice aggiornato ( check-out ). Nell'appendice è allegata la guida per l'installazione e la configurazione di SVN Subversion su Debian, con una introduzione dei comandi principali. ( par ) Pagina 53 di 265

54 Ecco un elenco delle caratteristiche principali di Subversion : comprende gran parte delle caratteristiche di cvs le directory, i cambi di nome e i metadati dei file sono sotto controllo versione le commit sono vere transazioni atomiche, una commit interrotta non lascia il repository in uno stato di incoerenza come Server centale si può usare il Web server Apache tramite il protocollo WebDAV il branching e il tagging sono operazioni veloci, che richiedono un tempo indipendente dalla dimensione dei dati il progetto è nativamente client/server, ed è basato su una libreria stratificata il protocollo client/server invia solo le differenze in entrambe le direzioni, e quindi i costi di comunicazione sono proporzionali alla dimensione delle modifiche, non alla dimensione dei dati i file binari sono gestiti efficientemente la licenza è Open Source, simile a quella di Apache Pagina 54 di 265

55 4.3.2 Mailman GNU Il software scelto per la creazione e gestione della Mailing list è Mailman ( GNU General Public License ), quest'ultimo assegna ad ogni mailing list una propria pagina web e permette agli utenti di sottoscrivere, cancellare o modificare le proprie azioni direttamente da web, senza utilizzare complicate sintassi da spedire per . Possiede tutte le funzioni di gestione di mailing list, contenendo un sistema integrato di archiviazione, un gateway mail-to-news, filtri anti-spam, ecc... Mailman è compatibile con la maggior parte dei web server, browser web e mail server. Gira su sistemi operativi Unix-like e richiede Python o successivi e il Compilatore C. Figura 33: Home Page Mailing-List Pagina 55 di 265

56 Figura 34: Iscrizione lista Utenti Generici Figura 35: Amministratore lista Sviluppatori Pagina 56 di 265

57 Ecco un elenco della caratteristiche più importanti di Mailman : amministrazione della lista basata sul web per quasi tutti i compiti inclusa la configurazione, la moderazione e la gestione degli account degli utenti iscrizione, cancellazione e configurazione da parte dell'utente basata sul web. L'utente può disabilitare temporaneamente il suo account, selezionare la modalità digest, nascondere il proprio indirizzo di posta elettronica agli altri utenti, ecc... home page personalizzabile per ogni mailing list gestione della privacy, possibilità di avere archivi privati visibili solo ai membri, sottoscrizione chiusa, liste non visibili all'esterno gestione automatica degli indirizzi bouncing ( ossia che hanno problemi di consegna o che sono inesistenti ) archivio web automatico filtro anti-spam integrato autorisponditore automatico supporto per domini virtuali Nell'appendice è allegata la guida per l'installazione e la configurazione di Mailman GNU, con una breve guida per gli amministratori e gli utenti delle liste ( par ) Pagina 57 di 265

58 Figura 36: Deployment Diagram Mailman Pagina 58 di 265

59 4.3.3 Bugzilla Bugzilla è un "sistema di tracciamento dei difetti" o "bug tracking system". I risultati dei tracciamenti dei difetti consentiranno ai singoli o ai gruppi di sviluppatori di tenere traccia dei bug in sospeso nei loro prodotti in maniera efficace. La maggior parte dei sistemi di tracciamento degli errori nei software hanno dei costi di licenza enormi, nonostante sia "libero", Bugzilla, presenta molto caratteristiche simili, se non migliori, rispetto ai suoi concorrenti a pagamento. Bugzilla è diventato di conseguenza il prodotto più diffuso tra le migliaia di sviluppatori di software. Molte aziende stanno scoprendo che aumenta la produttività, aumenta la soddisfazione dei clienti e migliora la comunicazione tra gli sviluppatori, inoltre, può contribuire anche ad una riduzione dei costi. I progetti di successo, spesso, sono il frutto di un'organizzazione di sviluppo e di comunicazione. Ecco in breve cosa può fare Bugzilla : track bug e modifiche al codice comunicazione tra compagni di squadra presentare e rivendere la path gestire QoS ( qualità del servizio ) Figura 37: Deployment Diagram Bugzilla Pagina 59 di 265

60 5. Guida d'uso all'applicazione realizzata L'applicazione WiFi Web Monitoring Portal è stata realizzata utilizzando l'ide Netbeans 6.9. Il codice scritto è interamente in Java, la creazione di tre pacchetti distinti, consente all'applicazione la possibilità di essere eseguita su più piattaforme di sistemi operativi. Tale scelta consente la compatibilità su quasi tutta la totalità delle macchine in uso. Ecco l'elenco dettagliato per sistema operativo. Sistemi Windows Windows CE Windows 95 Windows 98 Windows Me (versione 4.9) Windows 2000 (versione 5.0) Windows XP (versione 5.1) Windows Server 2003 e Windows XP Professional x64 Edition (versione 5.2) Windows Vista e Windows Server 2008 (versione 6.0) Windows 7 Successore di Vista Pagina 60 di 265

61 Sistemi Debian Adamantix Aplinux Collax Corel Linux Damn Small Linux Debian JP Demonlinux ESware Linux Gibraltar grml Impi Linux Linex Linuxin Morphix RAYS LX Pagina 61 di 265

62 Stonegate Storm Linux Ubuntu UCS Xandros Sistemi Red Hat Cent OS Scientific Linux X/OS Linux Fedora Startcom Enterprise Linux White Box Enterprise Linux Pagina 62 di 265

63 Screen-shots dell'applicazione realizzata Nel paragrafi seguenti vengo illustrate le caratteristiche generali dell'installer e il funzionamento per le versioni realizzate. 5.1 Windows-Package Figura 38: Windows Home Page Applicazione Pagina 63 di 265

64 Figura 39: Windows Errore caricamento logo La prima pagina dell'applicazione contiene un breve riepilogo sulla caratteristiche del software realizzato, inoltre è necessario inserire il percorso all'immagine del logo dell'università, il software provvederà ad effettuare i dovuti controlli sul file inserito ( estensione file, dimensione file, ecc... ). Se il controllo va a buon file l'immagine sarà caricata sul sito web del portale, dopodichè inizia il wizard di installazione dei pacchetti. Pagina 64 di 265

65 Figura 40: Windows Logo caricato Figura 41: Windows Installazione AppServ Pagina 65 di 265

66 A questo punto viene effettuato un controllo sulla macchina. Se non è presente nessun pacchetto appartenente alla piattaforma LAMP, si procede all'installazione del pacchetto AppServ, quest'ultimo include Apache2-Php5-Mysql, rappresenta un'ottima soluzione per sistemi windows ( il pacchetto è free-ware ). Figura 42: Windows AppServ non installato Pagina 66 di 265

67 Figura 43: Windows Installazione AppServ 1/2 Figura 44: Windows Installazione AppServ 2/2 Pagina 67 di 265

68 Figura 45: Windows Installazione cacti Completata l'installazione di AppServ, inizia la procedura di installazione e configurazione del sistema di monitoraggio della rete ( Cacti ). L'applicazione si occupa di decomprimere il pacchetto di Cacti, dopodichè l'utente provvederà a spostare tale cartella nella directory www. Digitando su un browser web il seguente indirizzo viene lanciato il wizard di configurazione di cacti. Infine c'è la sezione riservata al servizio di Mailing-list, che da la possibilità agli utilizzatori del software, di contribuire al miglioramento e all'ottimizzazione dell'applicazione realizzata. Pagina 68 di 265

69 Figura 46: Windows Mailing List 1/3 Figura 47: Windows Mailing List 2/3 Pagina 69 di 265

70 Figura 48: Windows Mailing List 3/3 Pagina 70 di 265

71 5.2 Debian-Package Per i Sistemi Debian è prevista l'installazione dei pacchetti mediante Repository. L'installazione e la configurazione dei singoli pacchetti ( Apache Php Mysql Cacti ) viene effettuata grazie a degli Script bash creati ad hoc. La prima pagina dell'applicazione contiene un breve riepilogo sulla caratteristiche del software realizzato, inoltre è necessario inserire il percorso all'immagine del logo dell'università, il software provvederà ad effettuare i dovuti controlli sul file inserito ( estensione file, dimensione file, ecc... ). Se il controllo va a buon file l'immagine sarà caricata sul sito web del portale, dopodichè inizia il wizard di installazione dei pacchetti. Figura 49: Debian Home Page Applicazione Pagina 71 di 265

72 Figura 50: Debian Errore caricamento logo Figura 51: Debian Logo caricato Pagina 72 di 265

73 Una volta caricato il Logo dell'università ( viene caricato anche sul sito web ), viene visualizzato l'elenco delle distribuzioni per la piattaforma Debian, dopodichè viene effettuata l'installazione e la configurazione dei singoli pacchetti. Figura 52: Debian Selezione Sistema Operativo Pagina 73 di 265

74 Figura 53: Debian Installazione Apache 1/3 Figura 54: Debian Installazione Apache 2/3 Pagina 74 di 265

75 Figura 55: Debian Installazione Apache 3/3 A questo punto il sistema operativo ha il compito di controllore se è installato Apache2, in caso contrario è possibile installare il pacchetto con il supporto della miniguida : Pagina 75 di 265

76 Figura 56: Debian Supporto Miniguida Figura 57: Debian Installazione Php5 Pagina 76 di 265

77 Il medesimo controllo viene effettuato anche per gli altri pacchetti ( Php Mysql Cacti ) Figura 58: Debian Installazione Mysql Pagina 77 di 265

78 Figura 59: Debian Installazione cacti Pagina 78 di 265

79 Figura 60: Debian Mailing List 1/2 Figura 61: Debian Mailing List 2/2 Pagina 79 di 265

80 Figura 62: Mailman Mailing List Figura 63: Mailman Lista Sviluppatori Pagina 80 di 265

81 5.3 RedHat-Package Anche per i Sistemi Redhat è prevista l'installazione dei pacchetti mediante Repository. L'installazione e la configurazione dei singoli pacchetti ( Apache Php Mysql Cacti ) viene effettuata grazie a degli Script bash creati ad hoc. La prima pagina dell'applicazione contiene un breve riepilogo sulla caratteristiche del software realizzato, inoltre è necessario inserire il percorso all'immagine del logo dell'università, il software provvederà ad effettuare i dovuti controlli sul file inserito ( estensione file, dimensione file, ecc... ). Se il controllo va a buon file l'immagine sarà caricata sul sito web del portale, dopodichè inizia il wizard di installazione dei pacchetti. Figura 64: Redhat Home Page Applicazione Pagina 81 di 265

82 Figura 65: Redhat Errore caricamento logo Figura 66: Redhat Logo caricato Pagina 82 di 265

83 Una volta caricato il Logo dell'università ( viene caricato anche sul sito web ), viene visualizzato l'elenco delle distribuzioni per la piattaforma Debian, dopodichè viene effettuata l'installazione e la configurazione dei singoli pacchetti. Figura 67: Redhat Selezione Sistema Operativo Pagina 83 di 265

84 Figura 68: Redhat Installazione Apache 1/3 Figura 69: Redhat Installazione Apache 2/3 Pagina 84 di 265

85 Figura 70: Redhat Installazione Apache 3/3 Pagina 85 di 265

86 Il medesimo controllo viene effettuato anche per gli altri pacchetti ( Php Mysql Cacti ) Figura 71: Redhat Installazione Php5 Figura 72: Redhat Installazione Mysql Pagina 86 di 265

87 Figura 73: Redhat Installazione cacti Figura 74: Redhat Wizard Cacti Pagina 87 di 265

88 Figura 75: Redhat Mailing List 1/2 Figura 76: Redhat Mailing List 2/2 Pagina 88 di 265

89 Figura 77: Mailman Mailing List Figura 78: Mailman Lista Utenti Generici Pagina 89 di 265

90 6. Considerazioni e conclusioni Il lavoro svolto presso il Centro SCoPE mi ha permesso, da un lato di rafforzare le conoscenze sulla programmazione di base, in particolare l'utilizzo del linguaggio Java, molto richiesto nel mondo del lavoro, dall'altro di acquisire concetti nuovi e allo stesso tempo stimolanti, come il monitoraggio di sistemi di rete, la struttura di una piattaforma LAMP e l'utilizzo di un tool che permette la creazione e la gestione di macchine virtuali. L'installer LAMP creato, adattato per la configurazione di sistemi di monitoraggio, con le sue molteplici versioni, mi ha dato fonti di riflessione e di studio, sulle caratteristiche dei sistemi operativi utilizzati, maturando in me, voglia di affrontare e approfondire i problemi legati alla struttura interna dei vari sistemi operativi. Il pacchetto software realizzato, oltre all'installazione della piattaforma LAMP, utilizzatissima per le applicazioni web, è stato arricchito da una serie di applicativi, che consentiranno in futuro di ottimizzare l'applicazione e successivamente perfezionare il suo funzionamento ( grazie ai servizi Mailman, Subversion e Bugzilla ). E' vero che il pacchetto installer realizzato rappresenta un'applicazione completa e con supporto multipiattaforma, ma un'ulteriore grado di scalabiltà potrebbe essere l'inserimento di una fase di disinstallazione, qualora l'utente abbia la necessità o l'esigenza di rimuovere i pacchetti già installati sulla macchina ( possibili sviluppi futuri ). Dal punto di vista tecnico, il lavoro del Porting dell'applicazione Web Mon, mi ha permesso di studiare in modo trasversale i problemi legati al monitoraggio di sistemi di rete, applicati su macchine create appositamente, un'ottima soluzione per testing di applicazioni e servizi di varie tipologie. Pagina 90 di 265

91 Inoltre, poichè parte del lavoro svolto, è stato affrontato in collaborazione con altri colleghi, questo mi ha permesso di maturare ulteriori esperienze e conoscenze nel campo informatico e non solo. La voglia di apprendere nuovi concetti e di acquisire una maggiore padronanza con gli strumenti adoperati durante tutto l'iter dello stage, ha rafforzato la mia formazione in campo informatico, pregogativa fondamentale, che mi ha consentito di portare avanti e sviluppare serenamente questo lavoro di Tesi. Pagina 91 di 265

92 7. Appendici 7.1 Diagrammi Vengono riportati i diagrammi considerati di maggiore interesse. Tutti i diagrammi realizzati sono forniti in allegato al presente documento, in formato elettronico UML-Use Case Diagram Figura 79: Use Case Diagram Pagina 92 di 265

93 7.1.2 UML-Component Diagram Il diagramma riporta tutte le componenti dell'applicazione realizzata. Figura 80: Component Diagram Pagina 93 di 265

94 7.1.3 UML-Class Diagram Sono riportati solo i Class Diagram ritenuti di maggiore interesse. Tutti i Class Diagram realizzati solo allegati in formato elettronico al presente documento. Figura 81: Apache Class Diagram Pagina 94 di 265

95 Figura 82: Cacti Class Diagram Figura 83: Home Class Diagram Pagina 95 di 265

96 Figura 84: Mysql Class Diagram Pagina 96 di 265

97 7.1.4 UML-Sequence Diagram Installazione software e passaggio al frame successivo. Figura 85: Installazione Software Pagina 97 di 265

98 7.2 Documentazione JavaDoc La documentazione JavaDoc è disponibile integralmente in formato elettronico. Quest'ultima va a completare la documentazione tecnica realizzata costituita dai Diagrammi UML e la documentazione interna. E' utile per il riuso del codice e l'evolvibilità dell'applicazione realizzata. Pagina 98 di 265

99 7.3 HowTo Questa sezione contiene tutte le miniguide realizzate e utilizzate per installare i pacchetti e i servizi che hanno caratterizzato lo svolgimento dell'attività di tirocinio. Vengono proposte anche le miniguide realizzate per l'installazione dei pacchetti presenti nell'installer ( rappresentano un'alternativa all'uso dell'applicazione realizzata ) Debian Installer apt-get install nomeprogramma -- APACHE 2 -- Per installare Apache2 dal repository aprire il terminale e digitare il seguente comando: /> sudo apt-get install apache2 per verificare se l'installazione ha avuto successo cliccare sul seguente link sarà visualizzato il seguente messaggio: Pagina 99 di 265

100 it's work! This is the default web page for this server. The web server software is running but no content has been added, yet. Web Server Apache2 installato con successo! -- PHP -- Per installare php dal repository aprire il terminale e digitare il seguente comando: /> sudo apt-get install php5 libapache2-mod-php5 riavviare apache2 pre farlo funzionare correttamente con php digitando il seguente comando: /> sudo /etc/init.d/apache2 restart Restarting web server apache2 [ OK ]... waiting Test PHP Creare un file di testo aprendo il terminale digitando il seguente comando: /> sudo gedit /var/www/testphp.php inserire la seguente riga nel file: <?php phpinfo();?> (Questo comando visualizza le info della versione php) Digitare sul seguente link per visualizzare le info saranno visualizzate le info sulla versione php appena installata Pagina 100 di 265

101 PHP 5 Installato con successo! -- MySQL -- Per installare MySQL dal repository aprire il terminale e digitare il seguente comando: /> sudo apt-get install mysql-server verrà chiesto per quale server installare mysql (selezionare apache2 ). Poi sarà chiesto di immettere una password di root di MySQL OPZIONALE ---Per far si che gli altri computer della vostra rete vedano il server che avete creato, dovrete prima modificare il "Bind Address". Iniziate aprendo il terminale per modificare il file my.cnf. gksudo gedit /etc/mysql/my.cnf Cambiare la seguente linea bindaddress = E cambiate con il vostro indirizzo IP FINE PARTE OPZIONALE phpmyadmin -- Per installare phpmyadmin ( programma che serve a gestire i Database ) aprire il terminale e digitare il seguente comando : /> sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin Dopo che questo è installato, il prossimo passo è far si che PHP lavori con MySQL. Per fare ciò dobbiamo aprire un file che si chiama php.ini. Per farlo digitare la seguente linea: Pagina 101 di 265

102 /> sudo gedit /etc/php5/apache2/php.ini ;extension=mysql.so In modo che assomigli a questa : extension=mysql.so ( o anche extension=/path/to/extension/msql.so ) Infine creare un link simbolico per phpmyadmin, digitando da terminale il seguente comando: /> sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin Ora dobbiamo solo riavviare Apache 2 con il seguente comando : /> sudo /etc/init.d/apache2 restart LAMP è pronto per l'uso -- Cacti -- Per installare Cacti aprire il terminale e digitare il seguente comando : /> sudo apt-get install cacti-spine Affinchè Cacti sia configurato correttamente è necessario che venga settato il poller, aggiungere la seguente riga in /etc/crontab : /5 php /usr/share/cacti/site/poller.php > /dev/null 2>&1 Pagina 102 di 265

103 7.3.2 Redhat Installer yum install nomeprogramma -- APACHE 2 -- Per installare Apache2 dal repository aprire il terminale e digitare il seguente comando: /> yum install httpd per verificare se l'installazione ha avuto successo cliccare sul seguente link sarà visualizzata una pagina che informa l'utente che il Web Server è installato correttamente. Pagina 103 di 265

104 -- PHP -- Per installare php dal repository aprire il terminale e digitare il seguente comando: /> yum install php riavviare apache2 pre farlo funzionare correttamente con php digitando il seguente comando: /> service httpd restart Restarting web server apache2 [ OK ]... waiting Test PHP Creare un file di testo aprendo il terminale digitando il seguente comando: /> gedit /var/www/testphp.php inserire la seguente riga nel file: <?php phpinfo();?> (Questo comando visualizza le info della versione php) Digitare sul seguente link per visualizzare le info saranno visualizzate le info sulla versione php appena installata PHP 5 Installato con successo! Pagina 104 di 265

105 -- MySQL -- Per installare MySQL dal repository aprire il terminale e digitare il seguente comando: /> yum install mysql-server mysql verrà chiesto per quale server installare mysql (selezionare apache2 ). Poi sarà chiesto di immettere una password di root di MySQL OPZIONALE ---Per far si che gli altri computer della vostra rete vedano il server che avete creato, dovrete prima modificare il "Bind Address". Iniziate aprendo il terminale per modificare il file my.cnf. gksudo gedit /etc/mysql/my.cnf Cambiare la seguente linea bindaddress = E cambiate con il vostro indirizzo IP FINE PARTE OPZIONALE phpmyadmin -- Per installare phpmyadmin ( programma che serve a gestire i Database ) aprire il terminale e digitare il seguente comando : /> yum install phpmyadmin Dopo che questo è installato, il prossimo passo è far si che PHP lavori con MySQL. Per fare ciò dobbiamo aprire un file che si chiama php.ini. Per farlo digitare la seguente linea: /> gedit /etc/php5/apache2/php.ini Pagina 105 di 265

106 ;extension=mysql.so In modo che assomigli a questa : extension=mysql.so ( o anche extension=/path/to/extension/msql.so ) Infine creare un link simbolico per phpmyadmin, digitando da terminale il seguente comando : /> ln -s /usr/share/phpmyadmin /var/www/phpmyadmin Ora dobbiamo solo riavviare Apache 2 con il seguente comando : /> service httpd restart LAMP è pronto per l'uso -- Cacti -- Per installare Cacti aprire il terminale e digitare il seguente comando : /> yum install cacti-spine Affinchè Cacti sia configurato correttamente è necessario che venga settato il poller, aggiungere la seguente riga in /etc/crontab : /5 php /usr/share/cacti/site/poller.php > /dev/null 2>&1 Pagina 106 di 265

107 7.3.3 Guida per il Porting Porting del Portale del Monitoraggio Le problematiche riscontrate durante la fase del porting di un portale già esistente, è legato principalmente alla mancata conoscenza dei servizi da importare e successivamente da configurare. Dunque prima di procedere con la fase di Porting, è stato necessario studiare tutti i servizi e gli strumenti utilizzati, per la realizzazione del sito web e la configurazione del sistema di monitoraggio. L'applicazione originale era ripartita su tre macchine : la wifed02 contentente i dispositivi WiFi la wifed03 contenente i dispositivi wired e Joomla il Server centrale che effettua il redirect alla wifed03 Pagina 107 di 265

108 Inoltre poichè l'applicazione è supportata anche da una sezione che si occupa di fornire le Statistiche dei dispositivi WiFi, è stato necessario caricare il DataServer sulla macchina wifed02 e il DataClient sulla macchina wifed03. Una volta familiarizzato con lo strumento di monitoraggio, nella fattispecie Cacti, in particolare effettuando alcuni test sui dispositivi presenti nel Centro SCoPE, opportunamente sbloccati, è stato possibile analizzare e capire dettagliatamente come è stata implementata e realizzata l'applicazione WebMon. Si è scelto di importare tutto su un unico Server su cui è installato VMware Workstation, su cui girano le macchine virtuali che contengono la gestione dei dispositivi wifi, wired e le statistiche della wifi. Il Server è un INTEL Xeon dual, con processore da 3,6 Ghz e 3 dischi Serial ATA Western Data con controller RAID 5 da 250 Hard disk l'uno, per una capacità totale di disco pari a 750 Gb e 4 Gb di RAM. Pagina 108 di 265

109 Ecco la procedura dettagliata eseguita per effettuare il porting dei dispositivi su ogni singola macchina virtuale : Wifed02 : Guida al Porting La macchina in esame è stata utilizzata per effettuare il monitoraggio dei dispositivi WiFi della rete UniNa. Una volta installati tutti i pacchetti e i servizi, e replicata la configurazione del sistema di monitoraggio, è stato necessario creare nuovamente i grafici oggetto di monitoraggio. I dispositivi monitorati sono sette, per un totale di 64 grafici. Di seguito viene riportata la procedura eseguita per effettuare il Porting sulla Macchina Virtuale : installazione Ubuntu Server Dal sito ufficiale è stato effettuato il download della Versione Server ed è stata creata una nuova Macchina Virtuale attraverso l'interfaccia di VMware aggiornamento indice pacchetti /> sudo apt-get update installazione del pacchetto ubuntu-desktop /> sudo apt-get install ubuntu-desktop installazione della JDK ( per l'esecuzione dei file.jar ) /> sudo apt-get install sun-java6-jdk installazione software LAMP Pagina 109 di 265

110 installazione e configurazione Cacti Per l'installazione del Software LAMP e Cacti è stato utilizzato l'installer WiFi Web Monitoring Portal ( oggetto principale del lavoro di Tesi ) disponibile nella sezione Download del Portale del Monitoraggio Seguire la guida per lanciare l'installar e installare correttamente tutti i pacchetti. Installati tutti i pacchetti e i servizi è necessario effettuare alcune operazioni per replicare la configurazione dei servizi presenti sulle macchina wifed02. Cacti conserva dati e informazioni in un database creato durante l'installazione. Oltre alle informazioni relativa alla struttura di base di cacti, ci sono tutti i template importati dall'esterno che devono essere integrati nel nuovo sistema. Dunque è stato necessario effettuare una copia del database di cacti : /> mysqldump cacti> cacti.sql a questo punto è possibile importare il database sulla macchina virtuale : /> mysql cacti < cacti.sql convertire tutti i file della cartella "rra" in file ".xml" /> ls -1.rrd awk 'print "rrdtool dump "$1" > "$1".xml"' sh -x zippare i file ".xml" Pagina 110 di 265

111 /> tar -czvf /rrd.tgz.rrd.xml andare sul nuovo server e convertire tutti i file ".xml" in ".rrd" /> ls -1.rrd.xml sed 's/\.xml//' awk'print "rrdtool restore "$1".xml "$1' effettuare il login per accedere a cacti A questo punto, per garantire l'esecuzione degli Script Perl realizzati è necessario installare i moduli aggiuntivi di Perl per Apache2, con il seguente comando : /> sudo apt-get install libapache2-mod-perl2 L'ultima fase del Porting prevede la creazione di tutti i Grafici associati ai device che costituiscono la rete WiFi. A questo punto il Porting è completato. E' necessario semplicemente riavviare i servizi per far partire il poller e monitorare i dispositvi da questa nuova macchina virtuale : /> sudo /etc/init.d/apache2 start ( per avviare il webserver ) /> sudo /etc/init.d/mysql start ( per avviare mysql ) Nota 1 E' necessario anche avviare gli script per aggiornare in tempo reale le immagini dei grafici forniti da cacti. Nota 2 Tale guida si riferisce esculsivamente a macchine Debian in particolare Ubuntu. Si è scelto di usare questa distribuzione, per il buon livello di affidabilità offerto e per la stabilità di questo sistema operativo open source. Pagina 111 di 265

112 Wifed03 : Guida al Porting Sulla seguente macchina invece è stato configurato il sistema di monitoraggio per i dispositivi wired della rete UniNa. Anche per questa macchina è stato necessario replicare la configurazione del sistema di monitoraggio, successivamente ricreare i grafici oggetto del monitoraggio. In dispositivi monitorati sono quattro, per un totale di 16 grafici. Di seguito viene riportata la procedura eseguita per effettuare il Porting su Macchina Virtuale : installazione Ubuntu Server è stata utilizzata l'immagine precedentemente scaricata ( per la wifed02 ) aggiornarnamento indice pacchetti /> sudo apt-get update installazione del pacchetto ubuntu-desktop /> apt-get install ubuntu-desktop installazione della JDK ( per l'esecuzione dei file.jar ) /> sudo apt-get install sun-java6-jdk installazione software LAMP installazione e configurazione Cacti Anche in questo caso è stato utilizzato l'installer WiFi Web Monitoring Portal Pagina 112 di 265

113 Poichè la wifed03 contiene il sito web, è stato necessario installare Joomla. Per l'installazione del CMS seguire la mini-guida presente nell'appendice ( par.7.3.8) A questo punto completato l'installazione di tutti i pacchetti e i servizi, così come è stato effettuato per la wifed02, è necessario replicare la configurazione dei servizi, in modo tale da poter effettuare il monitoraggio dei dispositivi wired. Cacti conserva dati e informazioni in un database creato durante l'installazione. Oltre alle informazioni relativa alla struttura di base di cacti, ci sono tutti i template importati dall'esterno che devono essere integrati nel nuovo sistema. Dunque è stato necessario effettuare una copia del database di cacti : /> mysqldump cacti> cacti.sql a questo punto è possibile importare il database sulla macchina virtuale : /> mysql cacti < cacti.sql convertire tutti i file della cartella "rra" in file ".xml" /> ls -1.rrd awk 'print "rrdtool dump "$1" > "$1".xml"' sh -x zippare i file ".xml" /> tar -czvf /rrd.tgz.rrd.xml andare sul nuovo server e convertire tutti i file ".xml" in ".rrd" /> ls -1.rrd.xml sed 's/\.xml//' awk'print "rrdtool restore "$1".xml "$1' Pagina 113 di 265

114 effettuare il login per accedere a cacti L'ultima fase del Porting prevede la creazione di tutti i Grafici associati ai device che costituiscono la rete wired. A questo punto il Porting è completato. E' necessario semplicemente riavviare i servizi per far partire il poller e monitorare i dispositvi da questa nuova macchina virtuale : /> sudo /etc/init.d/apache2 start ( per avviare il webserver ) /> sudo /etc/init.d/mysql start ( per avviare mysql ) Nota 1 E' necessario anche avviare gli script per aggiornare in tempo reale le immagini dei grafici di cacti. Pagina 114 di 265

115 Statistiche WiFi : Guida al Porting Poichè il Portale Web usufruisce anche di una sezione riservata alla gestione e visualizzazione di dati statistici per i dispositivi Wifi è stato necessario effettuare il deploy del framework che sviluppa questo compito. Preliminarmente è necessario installare Tomcat6 sulla macchina virtuale contenente la gestioni dei dispositivi wired. ( utilizzare la guida in allegato per l'installazione di Tomcat6 par ) Il framework realizzato consta di due principali sottosistemi : il sottosistema di monitoraggio per la raccolta di informazioni sugli apparati di rete il sottosistema per la definizione e la rappresentazione di statistiche Sulla wifed02 è necessario avviare il dataserver, mentre sulla wifed03 è necessario avviare il dataclient. Inoltre solo su quest'ultima macchina è necessario installare e configurare Tomcat. Pagina 115 di 265

116 DataServer Per ogni server di monitoraggio ( dove è installato cacti ) è necessario avviare un DataServer. Il contenuto della cartella con cui è distribuito il DataServer è il seguente : DataServer.jar server_config.dtd server_config.xml Dopo aver inserito i dati di configurazione per il server, è possibile avviare il DataServer. Supposto che si è posizionati nella cartella in cui risiede il file.jar, è possibile eseguire il seguente comando bash : /> java -jar DataServer.jar > logfile & E'possibile conservare le informazioni di log in logfile. Per terminare il DataServer è sufficiente uccidere il relativo processo. Tramite il comando netstat -ltup è possibile conoscere l'elenco delle porte sulle quali vi sono processi in ascolto. Da questo elenco si può identificare il PID del DataServer. Successivamente è sufficiente uccidere il processo con il comando kill -9 <PID> dove <PID> è l'identificativo del processo precedentemente identificato. Pagina 116 di 265

117 DataClient Il DataClient è costituito dai seguenti files : dataclient_config.dtd dataclient_config.xml DataClient.jar rrdb.sql Per installare il database rrdb è possibile seguire i seguenti passi : effettuare il login nella CLI ( Command Line Interface ) di MySQL tramite il comando bash : /> mysql -u <username> -p Dove <username> è il nome di un utente con credenziali atte alla creazione di nuovi database ed il parametro -p richiede l'inserimento della relativa password; eseguire il seguente comando per l'esecuzione dello script sql : mysql> source "</pathname/>rrdb.sql" Dove </pathname/> è il percorso completo al file rrdb.sql Come per il DataServer anche per il DataClient è necessario configurare il file dataclient_config.xml. L'esecuzione e la terminazione del DataClient è analoga a quella del DataServer. E' quindi possibile digitare il seguente comando bash per eseguire il DataClient : /> java -jar DataClient.jar > logfile & Pagina 117 di 265

118 7.3.4 Subversion SVN Questa guida permette di installare e configurare un Server CVS su sistemi Debian, completa di autenticazione base e accesso tramite web. Si è scelto di installare Subversion, poichè è considerato il successore di CVS. Di seguito viene riportata la procedura di installazione tramite i Repository. Per installare Subversion digitare il seguente comando da terminale : /> sudo apt-get install subversion libapache2-svn in questo modo saranno installate anche le librerie SVN per apache2. Nel caso in cui il modulo non fosse abilitato automaticamente, digitare il seguente comando per abilitare il modulo per apache2 : /> sudo a2enmod dav_svn Il prossimo step è la creazione del Repository svn per Subversion : /> sudo svnadmin create /svn A questo punto è necessario modificare il file di configurazione per il modulo webdav/svn con un editor di testo : /> sudo /etc/apache2/mods-enabled/dav_svn.conf Pagina 118 di 265

119 Il parametro Location del file di configurazione sta ad indicare la directory su cui Subversion sarà accessibile : <Location /svn> la linea DAV deve essere decommentata per l'abilitazione del modulo DAV DAV svn il parametro SVNPath contiene l'equivalente del percorso in cui è stato creato il repository attraverso il comando svnadmin : SVNPath /svn Di seguito viene riportata la procedura per attivare l'autenticazione, è necessario decommentare le seguenti righe : AuthType basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Per creare un utente, con i relativi permessi di accesso al repository, è sufficiente digitare il comando : /> sudo htpasswd -cm /etc/apache2/dav_svn.passwd username l'opzione -c deve essere usata solo per la creazione del primo utente. A questo punto assicurarsi che Apache abbia i permessi in scrittura sulla directory /svn tramite il seguente comando : /> sudo chown -R www-data:www-data /svn Alla fine del processo di configurazione è necessario riavviare Apache : >shell sudo /etc/init.d/apache2 restart Pagina 119 di 265

120 Se si desidera che venga richiesta l'autorizzazione anche per l'accesso in sola lettura, basterà inserire la seguente riga nel file di configurazione, sotto la linea del parametro AuthUserFile : Require valid-user Comandi per Subversion SVN checkout è il comando che permette di creare una working copy sulla repository. Con questo comando è anche possibile ripristinare una vecchia versione. svn checkout [nome_cartella] commit consente di registrare le modifiche sulla repository, è obbligatorio specificare un commetto ( risolto bug metodo installsw ). svn commit -m "Risolto bug metodo installsw" import per importare i file nella repository. svn import /home/webmon file:///var/svn/repository -m "Importazione iniziale" info permette di leggere tutte le informazioni riguardante il server e la working copy. svn info Pagina 120 di 265

121 log permette di leggere i log di tutte le revisioni o di una in particolare se specificata con -r. svn log [ -r <numero_revisione> ] update consente di aggiornare la working copy con l'ultima versione registrata nella repository. Con questo comando è anche possibile ripristinare una vecchia versione. svn update Pagina 121 di 265

122 7.3.5 Mailman Mailman è un programma open source per la gestione di discussioni elettroniche e newsletter. Molte mailing list open source (incluse tutte le mailing list di Ubuntu ) utilizzano Mailman come software. È molto potente e facile da installare. Installazione Fornisce un'interfaccia web per i compiti amministrativi e per gli utenti. È quindi richiesto apache con il supporto mod_perl. Utilizza un server mail esterno per inviare e ricevere le . Funziona molto bene con i seguenti server mail: Postfix Exim Sendmail Qmail In questa guida viene descritto come installare mailman, il server web è Apache2 e il server mail Exim. Pagina 122 di 265

123 Per installare Exim4, eseguire i seguenti comandi dal prompt del terminale: sudo apt-get install exim4 sudo apt-get install exim4-base sudo apt-get install exim4-config Una volta installato exim4, i file di configurazione sono salvati nella directory /etc/exim4. In Ubuntu, in modo predefinito, i file di configurazione di exim4 sono divisi tra vari file. È possibile modificare questo comportamento cambiando la seguente variabile nel file /etc/exim4/update-exim4.conf: dc_use_split_config='true' Mailman Per installare mailman da terminale digitare il seguente comando: sudo apt-get install mailman Questo copia i file di installazione nella directory /var/lib/mailman, gli script CGI nella directory /usr/lib/cgi-bin/application, crea l'utente list e il gruppo list. Il proprietario del processo mailman sar Configurazione Questa sezione assume che le applicazioni Mailman, apache2 e exim4 siano state installate con successo. Ora è necessario configurarle. Pagina 123 di 265

124 Apache2 Una volta installato apache2, è possibile aggiungere le seguenti righe al file /etc/apache2/apache2.conf: Alias /images/mailman/ "/usr/share/images/mailman/" Alias /pipermail/ "/var/lib/mailman/archives/public/" mailman utilizza apache2 per eseguire gli script CGI. Gli script CGI di mailman sono installati all'interno della directory /usr/lib/cgi-bin/mailman. L'URL di mailman quindi risulta È possibile apportare cambiamenti al file /etc/apache2/apache2.conf per modificarne il comportamento. Exim4 Una volta installato Exim4, è possibile avviare il server exim digitando il seguente comando da terminale: sudo apt-get /etc/init.d/exim4 start Per poter utilizzare mailman con exim4, è necessario configurare exim4 per questo scopo. Come precedentemente detto, in modo predefinito, exim4 utilizza file di configurazione multipli di diversi tipi. Per maggiori informazioni fare riferimento al sito web di Exim. Per avviare mailman è necessario aggiungere un nuovo file di configurazione alle seguenti tipologie di configurazione: Main Transport Router Exim crea un file di configurazione principale ordinando tutti questi piccoli file di configurazione. L'ordine di questi file è molto importante. Pagina 124 di 265

125 Main Tutti i file di configurazione appartenenti al tipo main sono archiviati nella directory /etc/exim4/conf.d/main/. È possibile aggiungere il seguente contenuto a un nuovo file di configurazione chiamato 04_exim4-config_mailman: # start # Home dir for your Mailman installation -- aka Mailman's prefix # directory. # On Ubuntu this should be "/var/lib/mailman" # This is normally the same as ~mailman MM_HOME=/var/lib/mailman # # User and group for Mailman, should match your --with-mail-gid # switch to Mailman's configure script. Value is normally "mailman" MM_UID=list MM_GID=list # # Domains that your lists are in - colon separated list # you may wish to add these into local_domains as well domainlist mm_domains=hostname.com # # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # These values are derived from the ones above and should not need # editing unless you have munged your mailman installation # # The path of the Mailman mail wrapper script MM_WRAP=MM_HOME/mail/mailman # # The path of the list config file (used as a required file when # verifying list addresses) MM_LISTCHK=MM_HOME/lists/$lc::$local_part/config.pck # end Pagina 125 di 265

126 Transport Tutti i file di configurazione appartenenti al tipo transport sono archiviati nella directory /etc/exim4/conf.d/transport/. È possibile aggiungere il seguente contenuto a un nuovo file di configurazione chiamato 40_exim4-config_mailman: mailman_transport: driver = pipe command = MM_WRAP \ '$if def:local_part_suffix \ $sg$local_part_suffix-(\\w+)(\\+.)?\$1 \ post' \ $local_part current_directory = MM_HOME home_directory = MM_HOME user = MM_UID group = MM_GID Router Tutti i file di configurazione appartenenti al tipo router sono archiviati nella directory /etc/exim4/conf.d/router/. È possibile aggiungere il seguente contenuto a un nuovo file di configurazione chiamato 101_exim4-config_mailman: mailman_router: driver = accept require_files = MM_HOME/lists/$local_part/config.pck local_part_suffix_optional local_part_suffix = -bounces : -bounces+ : \ -confirm+ : -join : -leave : \ -owner : -request : -admin transport = mailman_transport L'ordine dei file di configurazione main e transport può essere qualsiasi. Pagina 126 di 265

127 L'ordine dei file di configurazione del tipo router deve essere lo stesso. Questo particolare file deve apparire prima del file 200_exim4config_primary. Questi file contengono le stesse informazioni, ma il primo ha la precedenza. Per maggiori informazioni fare riferimento alla sezione «Riferimenti». Mailman Una volta installato mailman è possibile avviarlo digitando il seguente comando: sudo /etc/init.d/mailman start Quindi, è necessario creare la mailing list di base. Digitare il seguente comando per creare la mailing list: sudo /usr/sbin/newlist mailman Enter the address of the person running the list: bhuvan at ubuntu.com Initial mailman password: To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases' program: ## mailman mailing list mailman: " /var/lib/mailman/mail/mailman post mailman" mailman-admin: " /var/lib/mailman/mail/mailman admin mailman" mailman-bounces: " /var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: " /var/lib/mailman/mail/mailman confirm mailman" mailman-join: " /var/lib/mailman/mail/mailman join mailman" mailman-leave: " /var/lib/mailman/mail/mailman leave mailman" mailman-owner: " /var/lib/mailman/mail/mailman owner mailman" mailman-request: " /var/lib/mailman/mail/mailman request mailman" mailman-subscribe: " /var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: " /var/lib/mailman/mail/mailman unsubscribe mailman" Hit enter to notify mailman owner.. Pagina 127 di 265

128 Dato che è stato configurato exim al riconoscimento di tutte le in arrivo da mailman, non è necessario inserire altre voci nel file /etc/aliases. Se sono state fatte modifiche a file di configurazione, assicurarsi di riavviare i servizi modificati prima di continuare. Amministrazione Si assume che sia stata fatta un'installazione di base. Gli script cgi di mailman si trovano nella directory /usr/lib/cgi-bin/mailman/. Mailman fornisce uno strumento di amministrazione basato sul web, per accedere alla relativa pagina, aprire con il browser il seguente url: La mailing list di base, mailman, comparirà in questa schermata. Facendo clic sul nome della mailing list, verrà richiesta la password di autenticazione. Se viene inserita la password corretta sarà possibile modificare le preferenze di amministrazione di questa mailing list. È possibile creare una nuova mailing list usando l'utilità a riga di comando (/usr/sbin/newlist). In alternativa, è possibile creare una nuova mailing list usando l'interfaccia web. Utenti Mailman fornisce un'interfaccia web per gli utenti. Per accedere a questa pagina, indirizzare il browser web al seguente URL: La mailing list predefinita, mailman, compare a schermo. Facendo clic sul nome, viene presentato il modulo di iscrizione. È possibile inserire il proprio indirizzo , il nome (opzionale) e la password per completare l'iscrizione. Viene così inviata una di invito all'indirizzo specificato. È possibile seguire le istruzioni contenute nell' per completare l'iscrizione. Pagina 128 di 265

129 7.3.6 Bugzilla Bugzilla è un bugtracker ( programma per rintracciare errori di programmazione ) general purpose ( cioè non dedicato ad un solo possibile utilizzo ) inizialmente sviluppato e usato dalla squadra che ha prodotto Mozilla. Rilasciato come software open source da Netscape Communications nel 1998, Bugzilla è stato adottato da varie organizzazioni per utilizzarlo come strumento per rintracciare errori ( bugs ) per progetti di prodotti sia open source sia proprietari. Installazione Prima di procedere con l'installazione è necessario controllare che sulla macchina siano installati i seguenti pacchetti : Perl ( o superiore ) MySQL Apache2 Pagina 129 di 265

130 Perl Verificare che Perl sia installato : /> perl -v se non è installato digitare da terminale : /> sudo apt-get install perl Apache2 e MySQL si possono installare utilizzando l'installer - WiFi Web Monitoring Portal - MySQL E' necessario creare un utente bugzilla : /> sudo useradd -d /home/bugzilla -m bugzilla /> sudo passwd bugzilla Creare un database con il nome bugzilla dando i privilegi all'utente bugzilla creato in precedenza: $ mysql -u root -p mysql> create database bugzilla; mysql> show databases; Database information_schema bugzilla rows in set (0.00 sec) mysql> grant all privileges on bugzilla. to Pagina 130 di 265

131 Bugzilla Scaricare Bugzilla dal sito ufficiale : Estrarre il contenuto dell'archivio con il seguente comando : /> sudo tar -xvf bugzilla tar spostare la cartella nella directory /usr/local/ /> sudo mv /download/bugzilla /usr/local/ infine creare un link simbolico nella cartella /var/www/ /> sudo ln -s /usr/local/bugzilla /var/www/bugzilla/ Moduli Perl Bugzilla necessita di alcuni moduli per gli script Perl checksetup.pl. La prima cosa che fa lo script è controllare che sia installata la versione giusta per i moduli. Per verificare se i moduli aggiuntivi di Perl sono installati digitare il seguente comando : /> /usr/local/bugzilla sudo./checksetup.pl -check-modules se non sono installati digitare il seguente comando : /> /usr/local/bugzilla sudo perl -MCPAN -e install editare il file localconfig : /> /usr/local/bugzilla sudo gedit localconfig cambiare il valore db_pass per l'utente bugzilla, inserire la password per l'utente creato in precedenza per il database bugzilla eseguire ancora lo script checksetup.pl /> /usr/local/bugzilla sudo./checksetup.pl Pagina 131 di 265

132 Configurare Apache2 per Bugzilla Aggiungere la seguente direttiva nel file /etc/apache2/apache2.conf Controllo installazione Riavviare il webserver con il seguente comando : /> sudo /etc/init.d/apache2 restart al seguente indirizzo è possibile effettuare il login a Bugzilla : Pagina 132 di 265

133 7.3.7 Tomcat Apache Tomcat è un Servlet/JSP engine che non fa altro che contenere ed eseguire le applicazioni Java Servlet e Java Server Page (JSP). Non è l'unico Application Server per Servlet/JSP in circolazione, ma di sicuro è libero ed è il contenitore di servlet utilizzato nell'implementazione ufficiale di riferimento per il Java Servlet e le tecnologie Java Server Page sviluppate dalla Sun Microsystems. Questa guida servirà ad installare Apache Tomcat utilizzando i pacchetti precompilati di Ubuntu prelevabili dal repository Universe. Accertarsi preliminarmente che siano installati i pacchetti java jre e jdk, in caso contrario digitare il seguente comando : /> sudo apt-get install sun-java6-jdk A questo punto è possibile installare tomcat6 digitando il seguente comando da terminale : /> sudo apt-get install tomcat6 Creare uno script per init.d per fa si che il demone di tomcat venga attivato all'avvio o comunque dia la possibilità di avviarlo, arrestarlo e riavviarlo. Crearlo in /etc/init.d/tomcat con l'editor di testo preferito e copiare quanto segue : Pagina 133 di 265

134 #!/bin/bash # # Startup script for the Tomcat server # # chkconfig: # description: Starts and stops the Tomcat daemon. # processname: tomcat # pidfile: /var/run/tomcat.pid # See how we were called. case $1 in start) export JAVA_HOME=/usr/lib/jvm/java sun/ export CLASSPATH=/usr/local/tomcat/lib/servlet-api.jar export CLASSPATH=/usr/local/tomcat/lib/jsp-api.jar export JRE_HOME=/usr/lib/jvm/java sun/ echo "Tomcat is started" sh /usr/local/tomcat/bin/startup.sh ;; stop) export JRE_HOME=/usr/lib/jvm/java sun/ sh /usr/local/tomcat/bin/shutdown.sh echo "Tomcat is stopped" ;; restart) export JRE_HOME=/usr/lib/jvm/java sun/ sh /usr/local/tomcat/bin/shutdown.sh echo "Tomcat is stopped" sh /usr/local/tomcat/bin/startup.sh echo "Tomcat is started" ;; ) echo "Usage: /etc/init.d/tomcat start stop restart" ;; esac exit 0 A questo punto è necessario dare i giusti permessi al file e renderlo eseguibile : /> sudo chmod 775 /etc/init.d/tomcat Avviare tomcat con il seguente comando : /> sudo /etc/init.d/tomcat start Se la configurazione è stata effettuata correttamente puntando all'indirizzo si dovrebbe avere la pagina di benvenuto di tomcat. Pagina 134 di 265

135 Per amministrare Tomcat è necessario attivare Tomcat Manager. Per farlo basta seguire questi semplici passi: Aprire il file /usr/share/tomcat/conf/tomcat-users.xml con l'editor di testo preferito e aggiungere l'utente (o gli utenti) con i ruoli di admin e manager. Per creare i ruoli inserire tra i tag «<tomcat-users>... </tomcat-users>»: <role rolename="manager"/> <role rolename="admin"/> mentre per creare l'utente con i ruoli di admin e manager, inserire: <user username="your USERNAME " password="your PASSWORD" roles="admin,manager"/> Per dare all'utente un unico ruolo, come admin, basta inserirne solo uno: <user username="your USERNAME " password="your PASSWORD" roles="admin"/> Per accedere al pannello di controllo di tomcat manager digitare il seguente indirizzo con le credenziali appena create. Pagina 135 di 265

136 7.3.8 Joomla Per installare Joomla scaricare il file di Joomla dal sito ufficiale di Joomla : decomprimere il file in una cartella di nome joomla nel seguente percorso /var/www/joomla dopodichè è possibile effettuare il setup di joomla cliccando sul seguente link N.B. prima di effettuare il setup di joomla creare un database per Joomla, le informazioni del database saranno richieste durante il setup di joomla Accedere quindi a MySQL come amministratore da terminale: /> mysql -u root -p una volta effettuato l'accesso a MySQL è possibile creare il database : /> CREATE DATABASE joomladatabase ; Fatto questo, occorre creare l utente che abbia accesso a questo database: /> GRANT ALL on joomladatabase. TO localhost IDENTIFIED BY passwordjoomla ; Il comando significa Permetti tutto quanto, in ogni tabella del database joom ladatabase, all utente locale utentejoomla, indentificato dalla password specificata. Gli apici vanno conservati, quindi se l utente è per esempio gianni, bisogna scrivere Pagina 136 di 265

CORSO WEB SERVER, DBMS E SERVER FTP

CORSO WEB SERVER, DBMS E SERVER FTP CORSO WEB SERVER, DBMS E SERVER FTP DISPENSA LEZIONE 1 Autore D. Mondello Transazione di dati in una richiesta di sito web Quando viene effettuata la richiesta di un sito Internet su un browser, tramite

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

3. Come realizzare un Web Server

3. Come realizzare un Web Server 3. Come realizzare un Web Server 3.1 Che cos'è un web server Il web server, è un programma che ha come scopo principale quello di ospitare delle pagine web che possono essere consultate da un qualsiasi

Dettagli

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Dettagli

Introduzione...xv. I cambiamenti e le novità della quinta edizione...xix. Ringraziamenti...xxi. Condivisione delle risorse con Samba...

Introduzione...xv. I cambiamenti e le novità della quinta edizione...xix. Ringraziamenti...xxi. Condivisione delle risorse con Samba... Indice generale Introduzione...xv I cambiamenti e le novità della quinta edizione...xix Ringraziamenti...xxi Capitolo 1 Capitolo 2 Condivisione delle risorse con Samba...1 Reti Windows... 2 Struttura base

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

Acronis Backup & Recovery 10 Server for Linux. Update 5. Manuale d'installazione

Acronis Backup & Recovery 10 Server for Linux. Update 5. Manuale d'installazione Acronis Backup & Recovery 10 Server for Linux Update 5 Manuale d'installazione Sommario 1 Prima dell'installazione... 3 1.1 Componenti di Acronis Backup & Recovery 10... 3 1.1.1 Agente per Linux... 3 1.1.2

Dettagli

Server web e protocollo HTTP

Server web e protocollo HTTP Server web e protocollo HTTP Dott. Emiliano Bruni (info@ebruni.it) Argomenti del corso Cenni generali sul web IIS e Apache Il server web Micsosoft Internet Information Server 5.0 Il server web Apache 2.0

Dettagli

FileMaker 12. Guida ODBC e JDBC

FileMaker 12. Guida ODBC e JDBC FileMaker 12 Guida ODBC e JDBC 2004 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker, Inc.

Dettagli

CMS (Content Management System) della categoria Open Source

CMS (Content Management System) della categoria Open Source Una panoramica sui CMS (Content Management System) CMS (Content Management System) della categoria Open Source Per la piattaforma PHP/MYSQL e considerata l esigenza sempre più ricorrente di realizzare

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

Magento - guida all'installazione

Magento - guida all'installazione Magento - guida all'installazione a cura di Luca Soave 1- Premesse In questa guida impareremo come ottenere un sito web su base Magento allocato in un Ubuntu Server su macchina vistuale, basandoci sulle

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

Istituto Tecnico Industriale Statale Dionigi Scano Cagliari. Candidato: Medda Daniele Classe 5ª C Informatica Anno scolastico 2013/2014.

Istituto Tecnico Industriale Statale Dionigi Scano Cagliari. Candidato: Medda Daniele Classe 5ª C Informatica Anno scolastico 2013/2014. Istituto Tecnico Industriale Statale Dionigi Scano Cagliari Candidato: Medda Daniele Classe 5ª C Informatica Anno scolastico 2013/2014 relate Un esperimento di social networking open source 1 Introduzione

Dettagli

Apache MySQL PHP - FTP

Apache MySQL PHP - FTP Apache MySQL PHP - FTP Scelta del software, Installazione e configurazione Ivan Grimaldi grimaldi.ivan@gmail.com HcssLug GNU/LINUX USERS GROUP Outline Cenni sul funzionamento di un WebServer Apache, PHP,

Dettagli

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

Dettagli

Guida all'installazione di Jug4Tenda

Guida all'installazione di Jug4Tenda Indice generale Guida all'installazione di Jug4Tenda WORK IN PROGRESS di Andrea Del Bene Guida all'installazione di Jug4Tenda...1 Nota...2 1Prerequisiti software...3 1.1Installazione Java JDK...3 1.2Installazione

Dettagli

PHP ), con l'introduzione di un middleware quale Zend Framework a

PHP ), con l'introduzione di un middleware quale Zend Framework a Quella che segue è la rappresentazione ad alto livello dell'architettura proposta per il sistema in corso di realizzazione. In questa fase non vengono ancora affrontate le tematiche di sicurezza, load

Dettagli

Il sito della scuola con

Il sito della scuola con Incontro in aula virtuale del 24 gennaio 2013 Il sito della scuola con La sicurezza di un sito Joomla Il Pacchetto Joomla pasw quickstart versione 2.0. a cura di Gianluigi Pelizzari IIS Fantoni Clusone

Dettagli

Il sito della scuola con Joomla

Il sito della scuola con Joomla sabato 26 ottobre 2013 LINUX DAY 2013 E OPEN SPACE SCUOLA Il sito della scuola con Joomla a cura di Gianluigi Pelizzari gianpelizzari@yahoo.it Il sito della scuola con Joomla Joomla è un progetto nato

Dettagli

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET 18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso ai database

Dettagli

Domini Virtual Server

Domini Virtual Server Domini Virtual Server Pannello di controllo Manuale Utente Pannello di controllo domini e virtual server - Manuale utente ver. 2.0 Pag. 1 di 18 Sommario INFORMAZIONI GENERALI... 3 Virtual Server... 3 ACCESSO

Dettagli

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato SCP: SCHEDULER LAYER a cura di Alberto Boccato PREMESSA: Negli ultimi tre anni la nostra scuola ha portato avanti un progetto al quale ho partecipato chiamato SCP (Scuola di Calcolo Parallelo). Di fatto

Dettagli

CMS (Content Management System) della categoria Open Source

CMS (Content Management System) della categoria Open Source Una panoramica sui CMS (Content Management System) CMS (Content Management System) della categoria Open Source Per la piattaforma PHP/MYSQL e considerata l esigenza sempre più ricorrente di realizzare

Dettagli

Aspetti applicativi e tecnologia

Aspetti applicativi e tecnologia Aspetti applicativi e tecnologia Premessa Architetture usate per i database Le prime applicazioni erano definite monolitiche, cioè un unico computer (mainframe) gestiva sia le applicazioni che i dati,

Dettagli

SSL VPN Accesso Remoto Sicuro

SSL VPN Accesso Remoto Sicuro SSL VPN Accesso Remoto Sicuro Accesso con Network Connect per Linux Pagina 1 I l Servizio SSL VPN permette agli utenti istituzionali di realizzare una connessione da qualsiasi parte del mondo (Internet)

Dettagli

Il sistema operativo Linux installato sul vostro computer non è un unico, grande

Il sistema operativo Linux installato sul vostro computer non è un unico, grande CAPITOLO 2 Scegliere una distribuzione di Linux Il sistema operativo Linux installato sul vostro computer non è un unico, grande programma, ma un insieme di molti programmi. Potete ottenere autonomamente

Dettagli

INSTALLAZIONE MICROSOFT SQL Server 2005 Express Edition

INSTALLAZIONE MICROSOFT SQL Server 2005 Express Edition INSTALLAZIONE MICROSOFT SQL Server 2005 Express Edition Templ. 019.02 maggio 2006 1 PREFAZIONE... 2 2 INSTALLAZIONE DI MICROSOFT.NET FRAMEWORK 2.0... 2 3 INSTALLAZIONE DI SQL SERVER 2005 EXPRESS... 3 4

Dettagli

KeyPA Print Agent. Informazioni di Funzionamento. Versione Manuale 1.0. Viale S. Franscini, 17. 6900 Lugano (CH) Tel. +41 (0)91 911 85 05

KeyPA Print Agent. Informazioni di Funzionamento. Versione Manuale 1.0. Viale S. Franscini, 17. 6900 Lugano (CH) Tel. +41 (0)91 911 85 05 KeyPA Print Agent Informazioni di Funzionamento Versione Manuale 1.0 Versione PrintAgent 2.4.2 e successive Viale S. Franscini, 17 6900 Lugano (CH) Tel. +41 (0)91 911 85 05 Fax. +41 (0)91 921 05 39 Indice

Dettagli

Ambiente Virtuale Inclusivo per la Persona Autistica MANUALE OPERATORE. Release 1.0-13/10/09. Copyright Lynx 2009 http://www.lynxlab.

Ambiente Virtuale Inclusivo per la Persona Autistica MANUALE OPERATORE. Release 1.0-13/10/09. Copyright Lynx 2009 http://www.lynxlab. MANUALE OPERATORE Release 1.0-13/10/09 Copyright Lynx 2009 http://www.lynxlab.com Indice generale MANUALE OPERATORE...1 1.1 Definizioni...3 1.2 Ambienti...3 1.3 Release e copyright...3 2. Utenti...4 2.1

Dettagli

Installazione di Xibo : guida non ufficiale in italiano

Installazione di Xibo : guida non ufficiale in italiano Premessa Xibo è una piattaforma per il digital signage rilasciata sotto licenza libera (Affero GNU Public License v3). Il marchio Xibo è registrato da Daniel Garner e James Packer. Tutte le informazioni

Dettagli

Installazione e caratteristiche generali 1

Installazione e caratteristiche generali 1 Installazione e caratteristiche generali 1 Installazione di SIGLA SIGLA viene fornito su un CDROM contenente la procedura d installazione. La procedura può essere installata eseguendo il programma SIGLASetup.exe

Dettagli

FileMaker 11. Guida ODBC e JDBC

FileMaker 11. Guida ODBC e JDBC FileMaker 11 Guida ODBC e JDBC 2004 2010 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker è un marchio di FileMaker, Inc. registrato

Dettagli

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Informazioni sul copyright 2004 Copyright Hewlett-Packard Development Company, L.P. Sono vietati la riproduzione, l'adattamento e la

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Funzionamento del protocollo FTP

Funzionamento del protocollo FTP Alunno:Zamponi Claudio Numero matricola:4214118 Corso: Ingegneria Informatica Funzionamento del protocollo FTP L'FTP, acronimo di File Transfert Protocol (protocollo di trasferimento file), è uno dei protocolli

Dettagli

COGITEK s.r.l. Via Fregene, 14 00183 ROMA Tel. 0689820236 Fax. 0689820213 Cod. Fisc. e Part. IVA 06012550015 Cap. Soc. 70.000 i.v.

COGITEK s.r.l. Via Fregene, 14 00183 ROMA Tel. 0689820236 Fax. 0689820213 Cod. Fisc. e Part. IVA 06012550015 Cap. Soc. 70.000 i.v. Sommario 1. I presupposti di GRAM AUDIT... 4 2. I vantaggi di GRAM AUDIT... 4 3. Aspetti metodologici alla base del Modello... 5 3.1. La gestione degli utenti... 5 3.2. La composizione del Piano di Audit

Dettagli

FileMaker 8. Installazione dei driver client FileMaker 8 ODBC e JDBC

FileMaker 8. Installazione dei driver client FileMaker 8 ODBC e JDBC FileMaker 8 Installazione dei driver client FileMaker 8 ODBC e JDBC 2004-2005 Filemaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker

Dettagli

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO 27 Giugno 2011 DOC. ES-31-IS-0B PAG. 2 DI 26 INDICE PREMESSA 3 1. INSTALLAZIONE

Dettagli

Programmazione Server Side e Database in rete

Programmazione Server Side e Database in rete Programmazione Server Side e Database in rete Prof. Massimo PALOMBO -IIS A. MEUCCI Casarano La programmazione Stand-Alone consente di costruire applicazioni, più o meno complesse, ma utilizzabili esclusivamente

Dettagli

Installazione del software - Sommario

Installazione del software - Sommario Guida introduttiva Installazione del software - Sommario Panoramica sulla distribuzione del software CommNet Server Windows Cluster Windows - Virtual Server CommNet Agent Windows Cluster Windows - Virtual

Dettagli

Guida introduttiva. Versione 7.0.0 Software

Guida introduttiva. Versione 7.0.0 Software Guida introduttiva Versione 7.0.0 Software Installazione del software - Sommario Panoramica sulla distribuzione del software CommNet Server Windows Windows Cluster - Virtual Server Abilitatore SNMP CommNet

Dettagli

Caratteristiche generali

Caratteristiche generali Caratteristiche generali Tecnologie utilizzate Requisiti software/hardware Modalità di installazione del database del PSDR INSTALLAZIONE PSDR Installazione on-line Installazione off-line Primo avvio Riservatezza

Dettagli

MySQL Biblioteca Libreoffice (MySQL Biblioteca in tutte le salse)

MySQL Biblioteca Libreoffice (MySQL Biblioteca in tutte le salse) MySQL Biblioteca Libreoffice (MySQL Biblioteca in tutte le salse) Augusto Scatolini (webmaster@comunecampagnano.it) Ver. 1.0 Febbraio 2011 MySQL è un Relational Database Management System (RDBMS), composto

Dettagli

Software per la gestione di musei di arte contemporanea1

Software per la gestione di musei di arte contemporanea1 Software per la gestione di musei di arte contemporanea1 Identificativo del progetto: CA Nome documento: System Design(SD) Identificativo del documento: 6 CA_SD_E1_R1 Data del documento: 21/05/2012 Prima

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Backup Exec 2012. Guida rapida all'installazione

Backup Exec 2012. Guida rapida all'installazione Backup Exec 2012 Guida rapida all'installazione Installazione Il documento contiene i seguenti argomenti: Requisiti di sistema Elenco di controllo pre-installazione di Backup Exec Esecuzione di un'installazione

Dettagli

Guida installazione Winasped 4 Data ultima revisione della guida: 12-05-2014

Guida installazione Winasped 4 Data ultima revisione della guida: 12-05-2014 Guida installazione Winasped 4 Data ultima revisione della guida: 12-05-2014 Winasped è un'applicazione di tipo client - server pertando è composta da due parti: un programma client e uno server. Di seguito

Dettagli

LPIC-1 Junior Level Linux Certification

LPIC-1 Junior Level Linux Certification Corso 2012/2013 Introduzione a GNU/Linux Obiettivi Il percorso formativo ha l obiettivo di fornire ai partecipanti le competenze basilari necessarie per installare, configurare e gestire un server/workstation

Dettagli

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Il tuo manuale d'uso. KAPERSKY ADMINISTRATION KIT 6.0 http://it.yourpdfguides.com/dref/3704854

Il tuo manuale d'uso. KAPERSKY ADMINISTRATION KIT 6.0 http://it.yourpdfguides.com/dref/3704854 Può anche leggere le raccomandazioni fatte nel manuale d uso, nel manuale tecnico o nella guida di installazione di KAPERSKY ADMINISTRATION KIT 6.0. Troverà le risposte a tutte sue domande sul manuale

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

OwnCloud 8 su rete lan aziendale (una specie di Gdrive privato)

OwnCloud 8 su rete lan aziendale (una specie di Gdrive privato) Augusto Scatolini (webmaster@comunecampagnano.it) (a.scatolini@linux4campagnano.net) (campagnanorap@gmail.com) Miniguida n. 216 Ver. febbraio 2015 OwnCloud 8 su rete lan aziendale (una specie di Gdrive

Dettagli

AVIPA 1. Presentazione generale dell'ambiente software

AVIPA 1. Presentazione generale dell'ambiente software AVIPA 1. Presentazione generale dell'ambiente software Viterbo, 10 Dicembre 2008 Presentazione a cura di Slide n.1 AVIPA: l'ambiente software Queste slides rappresentano le prime indicazioni sul lavoro

Dettagli

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee

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

Symantec Backup Exec 2010. Guida rapida all'installazione

Symantec Backup Exec 2010. Guida rapida all'installazione Symantec Backup Exec 2010 Guida rapida all'installazione 20047221 Installazione di Backup Exec Il documento contiene i seguenti argomenti: Requisiti di sistema Prima dell'installazione Informazioni sull'account

Dettagli

Acronis License Server. Manuale utente

Acronis License Server. Manuale utente Acronis License Server Manuale utente INDICE 1. INTRODUZIONE... 3 1.1 Panoramica... 3 1.2 Politica della licenza... 3 2. SISTEMI OPERATIVI SUPPORTATI... 4 3. INSTALLAZIONE DI ACRONIS LICENSE SERVER...

Dettagli

Cambiamenti e novità della terza edizione...xix. Condivisione delle risorse in un workgroup con Samba...1

Cambiamenti e novità della terza edizione...xix. Condivisione delle risorse in un workgroup con Samba...1 Introduzione...xv Cambiamenti e novità della terza edizione...xix Ringraziamenti...xxi Capitolo 1 Condivisione delle risorse in un workgroup con Samba...1 Reti Windows... 2 Struttura base di Samba... 3

Dettagli

Symantec Backup Exec 12.5 for Windows Servers. Guida rapida all'installazione

Symantec Backup Exec 12.5 for Windows Servers. Guida rapida all'installazione Symantec Backup Exec 12.5 for Windows Servers Guida rapida all'installazione 13897290 Installazione di Backup Exec Il documento contiene i seguenti argomenti: Requisiti di sistema Prima dell'installazione

Dettagli

PC/CSA. Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada

PC/CSA. Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada PC/CSA Manuale di utilizzo del PC/CSA Specifiche tecniche per lo scarico automatico dei dati dei pagamenti delle violazioni al Codice della Strada PC/CSA-SPF-1.0 Versione del 18.04.2001 SOMMARIO 1 INTRODUZIONE

Dettagli

FileMaker 13. Guida ODBC e JDBC

FileMaker 13. Guida ODBC e JDBC FileMaker 13 Guida ODBC e JDBC 2004-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono marchi di FileMaker,

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

Whorkshop luglio 2015

Whorkshop luglio 2015 Whorkshop luglio 2015 Argomenti dell evento Privacy e dematerializzazione 1/21 www.ambrostudio.it Perché la Privacy e la dematerializzazione? Cambia l atteggiamento nella gestione dei documenti E più un

Dettagli

Costruzione di siti web. Il Content Management System Joomla

Costruzione di siti web. Il Content Management System Joomla Costruzione di siti web Il Content Management System Joomla Definizione di un CMS Un Content Management System (CMS) è letteralmente un sistema di gestione dei contenuti E' uno strumento software utilizzato

Dettagli

GERICO 2015 p.i. 2014

GERICO 2015 p.i. 2014 Studi di settore GERICO 2015 p.i. 2014 Guida operativa 1 INDICE 1. INTRODUZIONE... 3 2. ASSISTENZA ALL UTILIZZO DI GERICO... 4 3. CARATTERISTICHE TECNICHE... 5 4. INSTALLAZIONE DEL PRODOTTO DA INTERNET...

Dettagli

Kaspersky Administration Kit 8.0 GUIDA AL DEPLOYMENT

Kaspersky Administration Kit 8.0 GUIDA AL DEPLOYMENT Kaspersky Administration Kit 8.0 GUIDA AL DEPLOYMENT V E R S I O N E D E L L ' A P P L I C A Z I O N E : 8. 0 C F 1 Gentile utente, Grazie per aver scelto il nostro prodotto. Ci auguriamo che questa documentazione

Dettagli

Architetture per le applicazioni web-based. Mario Cannataro

Architetture per le applicazioni web-based. Mario Cannataro Architetture per le applicazioni web-based Mario Cannataro 1 Sommario Internet e le applicazioni web-based Caratteristiche delle applicazioni web-based Soluzioni per l architettura three-tier Livello utente

Dettagli

Politecnico di Milano

Politecnico di Milano 1 Politecnico di Milano Facoltà di Ingegneria dell Informazione Progetto di Ingegneria del Software 2: SWIMv2 Prof.ssa Mirandola Raffaella A.A 2012/2013 SWIMv2: Small World hypotesis Machine v2 Realizzato

Dettagli

Aggiornamento a edizioni avanzate di Acronis Backup & Recovery 11

Aggiornamento a edizioni avanzate di Acronis Backup & Recovery 11 Aggiornamento a edizioni avanzate di Acronis Backup & Recovery 11 Si applica alle seguenti edizioni: Advanced Server Virtual Edition Advanced Server SBS Edition Advanced Workstation Server for Linux Server

Dettagli

Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28

Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28 Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28 Indice 1. Introduzione 2. Linux 3. Apache 4. MySQL 5. MariaDB 6. PHP 7. Perl 8. Phyton 9. Installazione Server LAMP su Ubuntu 10. Fonti 2/28 LAMP

Dettagli

Guida di Active System Console

Guida di Active System Console Guida di Active System Console Panoramica... 1 Installazione... 2 Visualizzazione delle informazioni di sistema... 4 Soglie di monitoraggio del sistema... 5 Impostazioni di notifica tramite e-mail... 5

Dettagli

EyeOS - intranet desktop mini howto

EyeOS - intranet desktop mini howto EyeOS - intranet desktop mini howto Augusto Scatolini (webmaster@comunecampagnano.it) Ver. 1.0 Agosto 2008 PREAMBOLO EyeOS è un Web Operating System (Sistema Operativo Web) e ambiente collaborativo disegnato

Dettagli

Installazione e caratteristiche generali 1

Installazione e caratteristiche generali 1 Installazione e caratteristiche generali 1 Introduzione SIGLA Ultimate e SIGLA Start Edition possono essere utilizzati solo se sono soddisfatti i seguenti prerequisiti: Microsoft.Net Framework 3.5 (consigliato

Dettagli

Manuale utente di Avigilon Control Center Server. Versione 5.6

Manuale utente di Avigilon Control Center Server. Versione 5.6 Manuale utente di Avigilon Control Center Server Versione 5.6 2006-2015 Avigilon Corporation. Tutti i diritti riservati. Salvo quando espressamente concesso per iscritto, nessuna licenza viene concessa

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows

Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows Istruzioni di installazione di IBM SPSS Modeler Server 15per Windows IBM SPSS Modeler Server può essere installato e configurato per l esecuzione in modalità di analisi distribuita insieme ad altre installazioni

Dettagli

Introduzione a VMware Fusion

Introduzione a VMware Fusion Introduzione a VMware Fusion VMware Fusion per Mac OS X 2008 2012 IT-000933-01 2 Introduzione a VMware Fusion È possibile consultare la documentazione tecnica più aggiornata sul sito Web di VMware all'indirizzo:

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

Intel Server Management Pack per Windows

Intel Server Management Pack per Windows Intel Server Management Pack per Windows Manuale dell'utente Revisione 1.0 Dichiarazioni legali LE INFORMAZIONI CONTENUTE IN QUESTO DOCUMENTO SONO FORNITE IN ABBINAMENTO AI PRODOTTI INTEL ALLO SCOPO DI

Dettagli

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE INTRODUZIONE L ingegneria del software è la disciplina tecnologica e gestionalerelativa alla realizzazione sistematica e alla manutenzione di un software rispettando

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

MRC: Nuova Architettura

MRC: Nuova Architettura MRC: Nuova Architettura Release: 1.0 16 febbraio 2014 Autore: Andrea Gualducci MRC: Nuova Architettura Pag. 1 di 12 SOMMARIO MRC: Nuova Architettura... 1 Introduzione...3 Efficienza...3 Deployement...3

Dettagli

I Server. Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux,

I Server. Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux, I Server Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux, FreeBSD, ecc. Apache / Tomcat / Jakarta / Samba e l'accesso a Windows Antivirus, firewall,

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale:

Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale: Installazione LAMP Installare un server lamp su Linux Ubuntu Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale: Poi copiamo ed incolliamo nel terminale il comando: sudo apt-get

Dettagli

INFN Security Workshop Firenze 19-20 Settembre 2000. IMHO e IMP: una interfaccia Web sicura per la posta elettronica. Raffaele.Cicchese@pr.infn.

INFN Security Workshop Firenze 19-20 Settembre 2000. IMHO e IMP: una interfaccia Web sicura per la posta elettronica. Raffaele.Cicchese@pr.infn. INFN Security Workshop Firenze 19-20 Settembre 2000 IMHO e IMP: una interfaccia Web sicura per la posta elettronica Raffaele.Cicchese@pr.infn.it Cosa significano i due acronimi IMHO e IMP? IMHO = IMAP

Dettagli

VERITAS Backup Exec 9.1 for Windows Servers Manuale di installazione rapida

VERITAS Backup Exec 9.1 for Windows Servers Manuale di installazione rapida VERITAS Backup Exec 9.1 for Windows Servers Manuale di installazione rapida N109548 Dichiarazione di non responsabilità Le informazioni contenute nella presente pubblicazione sono soggette a modifica senza

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli

M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2009 Seconda prova scritta M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA Tema di: INFORMATICA (Testo valevole per i corsi di

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA Elaborato di Tecnologie del Software per Internet JMSWEB 2 SISTEMA PER LO SCAMBIO DI MESSAGGI TRA APPLICAZIONI

Dettagli

Cimini Simonelli - Testa

Cimini Simonelli - Testa WWW.ICTIME.ORG Joomla 1.5 Manuale d uso Cimini Simonelli - Testa Cecilia Cimini Angelo Simonelli Francesco Testa Joomla 1.5 Manuale d uso V.1-31 Gennaio 2008 ICTime.org non si assume nessuna responsabilità

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

Guida di installazione di SolidWorks Enterprise PDM

Guida di installazione di SolidWorks Enterprise PDM Guida di installazione di SolidWorks Enterprise PDM Contenuti Note legali...vi 1 Guida di installazione di SolidWorks Enterprise PDM...7 2 Panoramica sull'installazione...8 Componenti di installazione

Dettagli